Re: [PATCH] efi: Clarify Kconfig help for EFI_MIXED

From: Ingo Molnar
Date: Mon Apr 14 2014 - 03:15:50 EST



* Matt Fleming <matt@xxxxxxxxxxxxxxxxx> wrote:

> On Fri, 11 Apr, at 11:03:13AM, H. Peter Anvin wrote:
> > On 04/11/2014 10:59 AM, Thomas Bächler wrote:
> > > EFI stub support is only missing for a 64 bit kernel on 32-bit firmware,
> > > on 64-bit kernels, EFI stub works as usual.
> > > ---
> > >
> > > Matt, I don't know if this help was intentionally discouraging,
> > > however, out of curiosity, I tested this with ovmf, and the
> > > kernel boots fine on 64-bit firmware bit with EFI stub, and on
> > > 32-bit firmware using efilinux.
> > >
> > > Documenting this properly is important for distribution kernels.
> > > We would want to support this on Arch, but not if it means
> > > introducing a regression for EFI stub users.
> > >
> > > arch/x86/Kconfig | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > > index 5b8ec0f..2bbbbb9 100644
> > > --- a/arch/x86/Kconfig
> > > +++ b/arch/x86/Kconfig
> > > @@ -1529,8 +1529,8 @@ config EFI_MIXED
> > > mode.
> > >
> > > Note that it is not possible to boot a mixed-mode enabled
> > > - kernel via the EFI boot stub - a bootloader that supports
> > > - the EFI handover protocol must be used.
> > > + kernel via the EFI boot stub on 32-bit firmware - a bootloader
> > > + that supports the EFI handover protocol must be used.
> > >
> > > If unsure, say N.
> > >
> >
> > Right, it is really that it is not possible to boot a mixed-mode kernel
> > on its non-native firmware using the stub, since the stub itself can
> > only be one way or the other.
>
> Yeah, my help text was a bit... unhelpful.
>
> CONFIG_EFI_MIXED does not introduce a regression of any sort, you can
> enable it without worrying about that.
>
> All the boot configurations that used to work will continue to work.
>
> What I meant to say was that it isn't possible to use the EFI mixed
> *feature* (booting a 64-bit kernel with 32-bit firmware) with the
> EFI boot stub - so you can build support into your kernel but
> there's no way to make the CPU actually execute those code paths.

Same goes for booting a 32-bit kernel on 64-bit firmware, right?

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/