Repository navigation
efi64boot v0.3 — 32→64 OVMF64 handoff, boots Windows
efi64boot v0.3: a 32-bit IA32 BOOTIA32.EFI that relocates a 64-bit EDK2 OVMF64 build below 4 GiB, switches to long mode, and hands off to OVMF64's SEC entry. Verified booting win10ltc.iso under QEMU with -accel tcg -cpu qemu64 and -accel kvm -cpu core2duo.
Chain: BOOTIA32.EFI (32-bit) -> OVMF64 SEC (64-bit) -> PEI -> DXE -> BdsDxe -> DVD boot -> Windows Setup.
Key mechanics:
- Reserve the full OVMF64 MEMFD region (0x800000, 0xF80000) at its build address so no PCD patching is needed.
- Zero the staging region so OVMF64 takes the native (non-TDX) SEC path (byte at 0x80B000 must be 0).
- Pre-handoff MTRR hygiene (IA32_MTRR_DEF_TYPE = E=1, FE=0, type=WB) so OVMF64 PlatformPei MemDetect asserts pass.
- Delete BOOTIA32.EFI from the ESP before handoff so BdsDxe cannot re-select it.
Companion repo efi32boot does the reverse direction (64-bit host -> 32-bit OVMF32). Both are AI-assisted experimental projects, not production-safe.