This quirk is needed to boot macOS 10.7 and older when using a 32-bit kernel on a 64-bit UEFI firmware that makes uses of FPU or SSE instructions in runtime services (such as Hyper-V).
This quirk is needed to boot macOS 10.6 (and probably older) with 32-bit
kernel in 32-bit OVMF. Similar to 64-bit mode, hibernation wake is not
compatible with this quirk.
This change also partially fixes compatibility with a few other quirks
(e.g. AvoidRuntimeDefrag), but they are not really tested.
The current behaviors of how our modification to Booter and Kernel are undocumented. In addition, we should ensure that:
- Deletion is always performed first, as it makes no sense to patch something that will be removed
- Integrated quirks are always applied preceding user patches (to prevent users from messing up the whole patch structure)
- Injection is performed last
macOS 13 Developer Beta 1 introduced a new driver, bootrt.efi, which
now carries the kernel call gate. It communicates with efiboot via an
info buffer passed via LoadOptions. Patch it on load with our hook to
run our kernel entry code.
The current relocation code is only supported in conjunction with
ProvideCustomSlide. Add support for disabled ProvideCustomSlide and
slide=0 in boot-args.
- Fix broken in-OS sound in Windows after AudioDxe with some firmware (closes https://github.com/acidanthera/bugtracker/issues/1909)
- Add Pcds for some AudioDxe code
- Other minor updates
OcDebugLogLib:
- Add DebugPrintDevicePathForHandle
Logging may save to file, and file services must be invoked with TPL
lower or equal to TPL_CALLBACK. Failing to do so causes OVMF crash.
closesacidanthera/bugtracker#831