I've been working on some EFI changes, and in the process found that
i386 booting is broken. On real hardware - my MinnowBoard Turbot - the
loader hangs when calling ExitBootServices, while in a VM I get a panic
saying "exec returned".
The problem appears to be that ExitBootServices is called twice:
elf32_exec in arch/i386/efimd.c calls bi_load which calls
bi_load_efi_data in bootinfo.c - which calls ExitBootServices the first
time. Then elf32_exec keeps going, and after printing "Start @ 0x....."
calls ldr_enter which tries to call ExitBootServices again - this time
with a mapkey whose value is zero since it never attempts to fetch the
memory map. I'm guessing that subsequently causes the exec to fail.
--
Rebecca Cran
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"