UEFI boot failure: BIOS smap did not include a basemem segment!

Ed Maste emaste at freebsd.org
Thu Sep 11 14:12:58 UTC 2014


On 10 September 2014 15:00, Jean-Sébastien Pédron <dumbbell at freebsd.org> wrote:
> Hello!
>
> I tried the following FreeBSD snapshot on my Clevo W860CU with UEFI
> enabled:
> FreeBSD-11.0-CURRENT-amd64-20140903-r270990-memstick.img

Thanks for trying it out.

> The boot fails early with the following error:
> panic: BIOS smap did not include a basemem segment!

This panic means the memory map does not include usable memory (for
the kernel) with physaddr 0.

                if (physmap[i] == 0x00000000) {
                        basemem = physmap[i + 1] / 1024;

basemem == 0 produces the panic.

The requirement for a usable memory range with physaddr 0 doesn't hold
for UEFI, and the md startup hasn't yet been reworked to accommodate
that.

> Here's a video of a verbose boot (the quality is really low, I can try
> to redo it if this one doesn't help):
> http://www.dumbbell.fr/~dumbbell/FreeBSD-Clevo-W860CU-UEFI-no-basemem-segment.mov

Pausing the video immediately after the kernel starts confirms this:
the UEFI firmware has RuntimeServicesData at physaddr 0, so not
available for kernel use.

Do you mind submitting a PR to keep track of this issue?


More information about the freebsd-current mailing list