libpayload/x86/apic: Add an apic_delay method and calibrate the timer
The apic_delay method will halt the CPU and wait for a timer interrupt to fire. I went with usec because nsec is too granular to guarantee. This method will be called from an arch_ndelay() method when the delay is large enough to justify a sleep. BUG=b:109749762 TEST=Tested it on grunt by changing the _delay method to call apic_delay(). Change-Id: I80363f06bdb22d0907f895885e607fde1c4c468d Signed-off-by: Raul E Rangel <rrangel@chromium.org> Reviewed-on: https://review.coreboot.org/28242 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
committed by
Martin Roth
parent
ac8ebd0e73
commit
24ae85c3ff
@ -40,4 +40,6 @@ uint8_t apic_id(void);
|
||||
/** Signal the end of the interrupt handler. */
|
||||
void apic_eoi(void);
|
||||
|
||||
void apic_delay(unsigned int usec);
|
||||
|
||||
#endif /* __ARCH_X86_INCLUDES_ARCH_APIC_H__ */
|
||||
|
Reference in New Issue
Block a user