Re: [PATCH 0/3] x86_64 EFI runtime service support

H. Peter Anvin
2007-08-23T02:47:26Z

Huang, Ying wrote:
>
> My intention is that we have 3 possible schemes for kernel to use boot
> information.
>

That's not an intention, it's an observation.

> 1. Use "linked list" only. Then if booted with old bootloader which uses
> "zero page" protocol, the "zero page" information provided by bootloader
> should be converted to "linked list" for other part of kernel to use.
>
> 2. Use "zero page" only. Then if booted with new bootloader which
> provides "linked list" but not "zero page", the "linked list"
> information provided by bootloader should be converted to "zero page"
> for other part of kernel to use.
>
> 3. Use "zero page" + "linked list". Then if booted with old bootloader,
> the "linked list" is empty. If booted with new bootloader, both the
> "zero page" and "linked list" are used.
>
> We need to choose one from schemes above.
>
> - The scheme 1 appears the most clean one.
> - The scheme 2 has 4k "zero page" constraint, so it is not good.
> - The scheme 3 is easiest to be implemented.
>
> Personally, I prefer the scheme 1. But the scheme 3 is OK too.

Scheme 3 is the only realistic way to move away from the current
situation (scheme 2). Scheme 1 just means unnecessary divergences
between codepaths. If it wasn't for LunacyBIOS and (to a smaller
extent) kexec, we would probably be OK, but that's not the real world.

-hpa