Date: Fri, 30 Jan 2015 16:57:43 +0100 From: Luca Pizzamiglio <luca.pizzamiglio@gmail.com> To: FreeBSD Hackers <freebsd-hackers@freebsd.org>, freebsd-current@freebsd.org Subject: UEFI boot hangs with MINNOWBOARD Message-ID: <CAB88xy9LmWW8GArHa2VUBGi3abMJBQSrORHpG3hNPWPbtj7TNg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, I'm testing CURRENT on a MINNOWBOARD (http://www.elinux.org/Minnowboard:MinnowMax): Dual-core atom E3825 CPU EFI Version: 2.4.0 EFI: EDK II boot1.efi starts, it can found the ufs partition with loader.efi loader.efi fails at BT->ExitBootServices() (elf64_exec() of sys/boot/amd64/efi/elf64_freebsd.c) ExitBootServices() fails with error code 2 (INVALID_PARAMETER). The documentation of this function (http://wiki.phoenix.com/wiki/index.php/EFI_BOOT_SERVICES#ExitBootServices.28.29) states that the mapKey is wrong and GetMemoryMap() should be recall and then ExitBootServices() again. I've tried to implement it, but it fails again. My main problem is that I don't know which parameter should I pass to GetMemoryMap() I gave a look to this discussion (http://www.gossamer-threads.com/lists/linux/kernel/1733014) about "retry ExitBootServices() on failure" about eboot in Linux: they do a retry (only one) and they call also a FreePoll(). Do you have any tips, suggestions or something that could help to get FreeBSD boot on this apparently standard board? Best regards, Luca Pizzamiglio PS: should we implement the ExitBootServices() retry?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAB88xy9LmWW8GArHa2VUBGi3abMJBQSrORHpG3hNPWPbtj7TNg>