[syslinux] bzimage: Merge memory types

Matt Fleming matt at console-pimps.org
Thu Aug 11 07:40:24 PDT 2011


On Thu, 2011-08-11 at 00:34 +0200, Maarten Lankhorst wrote:
>
> Yeah, most of the chunks get merged, I have like 12 entries left
> afterwards,
> probably even less with unusable/reserved changes below. I'll test a
> patch for
> >128 entries if you send one. With this it boots now by the way.

Awesome! Thanks for offering to test.

> As pointed out by someone else on the lkml thread, can you remove
> the locate_protocol call in protocol.h, since it seems to be unused,
> and breaks compile?

Sorry about that. Note that if you're not running Fedora on your
development machine none of HandleProtocol, LocateProtocol or
LocateHandle exist in EXIT_BOOT_SERVICES. Patches to fix this have gone
into upstream gnu-efi, but now the trunk is broken for other reasons.

So what I'm saying is, I don't see the point in removing
locate_protocol(), even if it is unused at the moment, because the rest
of the code in protocol.h still won't compile unless you're running on
Fedora or running a patched version of gnu-efi trunk.

The ideal solution would be to get the distros to update their packaged
version of gnu-efi.

> Returning after getting back control is wrong too, or maybe that
> triple fault was intentional? ;)

Yeah, the problem is that if you return from the kernel you've
initialised the machine and told the firmware that you're taking
control. The only sensible thing to do is either halt or reboot, but
triggering a triple fault is certainly not the worst thing you can do.

If you do halt then it'd be handy to print something to the user, but
because we can't use Print() after ExitBootServices() we'd have to roll
our own printing function, which is more work than I think is
reasonable.

I'm inclined to just reboot the machine if we return from the kernel.
I'll see what other boot loaders do in this scenario.

-- 
Matt Fleming, Intel Open Source Technology Center




More information about the Syslinux mailing list