Question: on BIOS systems there is no ExitBootServices involved, instead the OS just moves the CPU to protected mode and forgets that BIOS existed. What bad things can happen if I do the same to UEFI?
That is: not call ExitBootServices, instead just load my own GDT/IDT/page tables, reconfigure PIC/APIC/whatever and boot the OS. And maybe even keep calling the boot services in some emulated environment (this is just a random spin-off thought, please don't interpret it the way that I'm lazy to write drivers).
Watchdog might be one concern, are there others?
Not calling ExitBootServices?
Re: Not calling ExitBootServices?
I think the question can be taken seriously. Is a UEFI BIOS likely to interfere if ExitBootServices is not called?
No one can give you a guarantee. You'd have to test it on real systems. But here are some things to watch out for:
No one can give you a guarantee. You'd have to test it on real systems. But here are some things to watch out for:
- System Management Mode interrupts and ACPI System Control Interrupts (link) would transfer control to the UEFI BIOS and could lead to unexpected behavior.
- For servers, the BMC (link) would likely also behave in unexpected ways
Re: Not calling ExitBootServices?
SMIs are active even after ExitBootServices, and UEFI can reboot or take over your machine if it feels you haven't done what it wants you to do, like initialize ACPI as if you were a late Windows version. Happened to me on a laptop.
-
- Posts: 3
- Joined: Thu Jul 07, 2022 3:30 pm
Re: Not calling ExitBootServices?
> ACPI
Good point. Leaving the PC without working power management is probably not a good idea.
Good point. Leaving the PC without working power management is probably not a good idea.