CVSROOT: /cvs Module name: src Changes by: kette...@cvs.openbsd.org 2022/11/04 10:49:32
Modified files: sys/arch/amd64/amd64: efi_machdep.c locore.S trap.c Log message: EFI firmware has bugs which may mean that calling EFI runtime services will fault because it does memory accesses outside of the regions it told us to map. Try to mitigate this by installing a fault handler (using the pcb_onfault mechanism) and bail out using longjmp(9) if we encounter a page fault while executing an EFI runtime services call. Since some firmware bugs result in us executing code that isn't mapped, make kpageflttrap() handle execution faults as well as data faults. ok guenther@