RFC: default CONFIG_EFI_STUB=y
I would like to change the defaults for CONFIG_EFI and CONFIG_EFI_STUB to y. There is little reason to omit this since EFI now is a significant percentage of all systems.
-hpa
Quoted 3 lines · H. Peter Anvin
I would like to change the defaults for
CONFIG_EFIandCONFIG_EFI_STUBto y. There is little reason to omit this since EFI now is a significant percentage of all systems.
You didn't actually attach the patch, but I presume this is for 64 bit compiles on x86 only? We still have significant problems getting 64 bit EFI to interact with 32 bit kernels, so I don't believe we should enable CONFIG_EFI globally for all of x86.
James
Quoted 10 lines · James Bottomley
Quoted 3 lines · H. Peter Anvin
I would like to change the defaults for
CONFIG_EFIandCONFIG_EFI_STUBto y. There is little reason to omit this since EFI now is a significant percentage of all systems.You didn't actually attach the patch, but I presume this is for 64 bit compiles on x86 only? We still have significant problems getting 64 bit EFI to interact with 32 bit kernels, so I don't believe we should enable
CONFIG_EFIglobally for all of x86.
Well, it doesn't *solve* the problem with cross-mode, but it should work as-is for EFI32->32-bit kernel and EFI64->64-bit kernel. For the cross-mode kernels they will simply not do anything.
Either way, nothing bad should come from it. The worst thing that will happen is that the kernel says "I don't have any EFI that I recognize."
Cross-mode support will always require a secondary bootloader (since as far as I know there is no concept of "fat binaries" for EFI), but Matt Fleming is working on genuine cross-mode support for both the boot stub and (eventually) run time support.
-hpa
Quoted 16 lines · H. Peter Anvin
Quoted 10 lines · James Bottomley
Quoted 3 lines · H. Peter Anvin
I would like to change the defaults for
CONFIG_EFIandCONFIG_EFI_STUBto y. There is little reason to omit this since EFI now is a significant percentage of all systems.You didn't actually attach the patch, but I presume this is for 64 bit compiles on x86 only? We still have significant problems getting 64 bit EFI to interact with 32 bit kernels, so I don't believe we should enable
CONFIG_EFIglobally for all of x86.Well, it doesn't *solve* the problem with cross-mode, but it should work as-is for EFI32->32-bit kernel and EFI64->64-bit kernel. For the cross-mode kernels they will simply not do anything.
Quoted 8 lines
Either way, nothing bad should come from it. The worst thing that will happen is that the kernel says "I don't have any EFI that I recognize."
Cross-mode support will always require a secondary bootloader (since as far as I know there is no concept of "fat binaries" for EFI), but Matt Fleming is working on genuine cross-mode support for both the boot stub and (eventually) run time support.
James, does this address your concerns?
-hpa
Quoted 20 lines · H. Peter Anvin
Quoted 19 lines · H. Peter Anvin
Quoted 10 lines · James Bottomley
Quoted 3 lines · H. Peter Anvin
I would like to change the defaults for
CONFIG_EFIandCONFIG_EFI_STUBto y. There is little reason to omit this since EFI now is a significant percentage of all systems.You didn't actually attach the patch, but I presume this is for 64 bit compiles on x86 only? We still have significant problems getting 64 bit EFI to interact with 32 bit kernels, so I don't believe we should enable
CONFIG_EFIglobally for all of x86.Well, it doesn't *solve* the problem with cross-mode, but it should work as-is for EFI32->32-bit kernel and EFI64->64-bit kernel. For the cross-mode kernels they will simply not do anything.
Either way, nothing bad should come from it. The worst thing that will happen is that the kernel says "I don't have any EFI that I recognize."
Quoted 7 lines
Quoted 5 lines
Cross-mode support will always require a secondary bootloader (since as far as I know there is no concept of "fat binaries" for EFI), but Matt Fleming is working on genuine cross-mode support for both the boot stub and (eventually) run time support.
James, does this address your concerns?
You mean for globally enabling CONFIG_EFI on x86? not really for 32 bit, you say above it's pretty much unusable; I'd prefer just to enable it for 64 bit. As you said in your original post "since EFI now is a significant percentage of all systems" but you actually mean EFI64 ... EFI32 is a pretty insignificant percentage of all systems.
Can we actually boot a 32 bit kernel on an EFI64 system? The last time I tried on my Secure Boot SDV it wouldn't work; the problem is getting someting in the transfer of control path to boot the processor back to 32 bit mode.
James
Quoted 7 lines · James Bottomley
Quoted 1 line
James, does this address your concerns?
You mean for globally enabling
CONFIG_EFIon x86? not really for 32 bit, you say above it's pretty much unusable; I'd prefer just to enable it for 64 bit. As you said in your original post "since EFI now is a significant percentage of all systems" but you actually mean EFI64 ... EFI32 is a pretty insignificant percentage of all systems.
For better or worse, there will be more.
Quoted 4 lines
Can we actually boot a 32 bit kernel on an EFI64 system? The last time I tried on my Secure Boot SDV it wouldn't work; the problem is getting someting in the transfer of control path to boot the processor back to 32 bit mode.
We can boot with a bootloader in "skip stub" mode; no runtime services yet. We are working on making it possible to boot via a EFI stub in assisted mode (still needing a bootloader, but with the boot stub in the kernel.)
Runtime services will be the last piece, obviously, but even that looks reasonably doable.
-hpa
Quoted 8 lines · H. Peter Anvin
Quoted 4 lines · James Bottomley
Can we actually boot a 32 bit kernel on an EFI64 system? The last time I tried on my Secure Boot SDV it wouldn't work; the problem is getting someting in the transfer of control path to boot the processor back to 32 bit mode.
We can boot with a bootloader in "skip stub" mode; no runtime services yet.
So the bootloader has to do the 64->32 transition?
Quoted 6 lines
We are working on making it possible to boot via a EFI stub in
assisted mode (still needing a bootloader, but with the boot stub in the kernel.)Runtime services will be the last piece, obviously, but even that looks reasonably doable.
So why not start with the working case (default to EFI on 64 bit) and add in the mostly non-working case (default to EFI on 32 bit) when it actually mostly works?
James
Quoted 7 lines · James Bottomley
Quoted 6 lines · H. Peter Anvin
Quoted 4 lines · James Bottomley
Can we actually boot a 32 bit kernel on an EFI64 system? The last time I tried on my Secure Boot SDV it wouldn't work; the problem is getting someting in the transfer of control path to boot the processor back to 32 bit mode.
Quoted 5 lines
Quoted 2 lines
We can boot with a bootloader in "skip stub" mode; no runtime services yet.
So the bootloader has to do the 64->32 transition?
Currently, yes.
Quoted 10 lines
Quoted 6 lines
We are working on making it possible to boot via a EFI stub in
assisted mode (still needing a bootloader, but with the boot stub in the kernel.)Runtime services will be the last piece, obviously, but even that looks reasonably doable.
So why not start with the working case (default to EFI on 64 bit) and add in the mostly non-working case (default to EFI on 32 bit) when it actually mostly works?
We can do that, but I really hate making gratuitous differences between 32 and 64 bits... we have too many of those already.
-hpa
Quoted 4 lines · James Bottomley
Can we actually boot a 32 bit kernel on an EFI64 system? The last time I tried on my Secure Boot SDV it wouldn't work; the problem is getting someting in the transfer of control path to boot the processor back to 32 bit mode.
In theory, as long as you jump to the 32-bit entry point having already set the cpu to that mode. The linux command in grub2 ought to do that.
Signature · 1 line
Matthew Garrett | [email protected]