mirror of
https://github.com/ipxe/ipxe
synced 2025-12-07 01:40:28 +03:00
829e2d1f299c7c0b15a5e9e07479f6e3aec121cf
Legacy IRQ 8 appears to be enabled by default on some platforms. If iPXE selects the RTC entropy source, this will currently result in the RTC IRQ 8 being unconditionally disabled. This can break assumptions made by BIOSes or subsequent bootloaders: in particular, the FreeBSD loader may lock up at the point of starting its default 10-second countdown when it calls INT 15,86. Fix by restoring the previous state of IRQ 8 instead of disabling it unconditionally. Note that we do not need to disable IRQ 8 around the point of hooking (or unhooking) the ISR, since this code will be executing in iPXE's normal state of having interrupts disabled anyway. Also restore the previous state of the RTC periodic interrupt enable, rather than disabling it unconditionally. Signed-off-by: Michael Brown <mcb30@ipxe.org>
iPXE README File Quick start guide: cd src make For any more detailed instructions, see http://ipxe.org
Languages
C
97.3%
Assembly
1.5%
Perl
0.6%
Makefile
0.3%
Python
0.2%