opengnsys_ipxe/src
Michael Brown 829e2d1f29 [rng] Restore state of IRQ 8 and PIE when disabling entropy gathering
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>
2025-03-14 15:08:05 +00:00
..
arch [rng] Restore state of IRQ 8 and PIE when disabling entropy gathering 2025-03-14 15:08:05 +00:00
bin [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
config [efi] Accept and trust CA certificates in the TlsCaCertificates variable 2025-03-13 15:54:43 +00:00
core [cpio] Allow for the construction of pure directories 2025-03-12 14:32:41 +00:00
crypto [efi] Accept and trust CA certificates in the TlsCaCertificates variable 2025-03-13 15:54:43 +00:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [bnxt] Allocate TX rings with firmware input 2025-02-07 09:26:15 +00:00
hci [menu] Allow a post-activity timeout to be defined 2025-02-19 13:12:29 +00:00
image [crypto] Support extracting certificates from EFI signature list images 2025-03-11 12:58:19 +00:00
include [efi] Accept and trust CA certificates in the TlsCaCertificates variable 2025-03-13 15:54:43 +00:00
interface [efi] Accept and trust CA certificates in the TlsCaCertificates variable 2025-03-13 15:54:43 +00:00
libgcc [libgcc] Change __divmoddi4 from int64 [unknown] to int64_t 2020-07-21 14:33:32 +01:00
net [tls] Allow for NIST elliptic curve point formats 2025-01-21 15:55:33 +00:00
scripts [arm] Inhibit linker warnings about an implied executable stack 2023-01-23 12:55:44 +00:00
tests [cpio] Allow for the construction of pure directories 2025-03-12 14:32:41 +00:00
usr [image] Add the "imgdecrypt" command 2024-08-29 15:11:30 +01:00
util [riscv] Add support for the RISC-V CPU architecture 2024-09-15 22:34:10 +01:00
.gitignore [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
Makefile [build] Allow for per-architecture cross-compilation prefixes 2024-10-29 14:11:08 +00:00
Makefile.efi [efi] Add support for driving EFI_MANAGED_NETWORK_PROTOCOL devices 2024-03-25 17:58:33 +00:00
Makefile.housekeeping [build] Use -fshort-wchar when building EFI host utilities 2025-03-10 12:34:35 +00:00
Makefile.linux [linux] Allow a sysroot to be specified via SYSROOT=... 2024-09-15 10:01:35 +01:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00