please test: i386 bootloader changes

Adrian Chadd adrian at freebsd.org
Wed Jan 21 16:30:06 UTC 2015


Hi,

Here's something that I've been poking for a little while.

The SeaBIOS emulation in the Chromebook C720 implements the E820
memory map by putting a hole between 15 and 16MiB. That's some really
legacy PC-AT stuff right there. Unfortunately that stops
kernel.GENERIC from loading as loader thinks there's only < 14MiB of
extended RAM available.

This patch:

https://people.freebsd.org/~adrian/c720/20150121-seabios-loader-changes-2.diff

updates it so if the first extended segment from the E820 call is too
small, it tries the E801 call. It also fixes a bug in the E801 call
that would treat the lower and upper memory regions returned as
contiguous when they may indeed not be.

Now - here be dragons. It's possible that fixing this stuff for one
buggy bios makes freebsd's loader unhappy on other buggy bioses. So
I'd really appreciate if it people would try this out on 32/64 bit x86
platforms and report back success/failures. So far nothing I have here
complains, but I don't have /that/ much hardware.

Thanks,



-adrian


More information about the freebsd-arch mailing list