Skip to content

Releases

v0.2.1 - added watch dogs

Choose a tag to compare

@devtinoimao devtinoimao released this 01 Nov 21:40

Added watchdogs: per-vector fault stubs now print XC# and halt on #GD/#PF/etc.; the fault vector number prints to both serial COM1 and the VGA text buffer (bright red) so crashes are visible on-screen (and in -display gtk), then it halts with 'Z' loop. Builds confirmed on TCG and KVM.

efi64boot v0.3 — 32→64 OVMF64 handoff, boots Windows

Choose a tag to compare

@devtinoimao devtinoimao released this 27 Oct 08:41

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.