bug/patch for i386 EFI boot
horms at verge.net.au
Wed Mar 5 04:27:31 EST 2008
On Tue, Mar 04, 2008 at 10:02:31PM -0500, Scott D. Davilla wrote:
> kexec fails under i386 EFI boot for hardware that does not
> have a VGA bios or PC bios present. The EFI bootloader properly set
> the initial screen_info boot params but kexec assumes an
> orig_video_isVGA type of 1. This causes the kexec'd kernel assume the
> presence of both VGA bios and normal PC BIOS and starts probing which
> then panics somewhere I can't see because I have no console output
> nor serial ports.
> For EFI, efifb is a linear VGA framebuffer and can handle the
> kexec kernel switch, kexec just has to setup the kernel boot params
> properly. The below patch fixes this issue and allow a i386 EFI
> booted kernel with no VGA bios/PC bios to kexec to another kernel.
> Why is kexec assuming i386 x86 == VGA bios in the first
> place. The existing kernel has a perfectly good screen_info stucture
> that is an exported symbol by the kernel and could be accessed by
> kexec. Since kexec is just pretending to be a boot loader, why does
> it ignore information that the real bootloader (which knows a lot
> more about the hardware) has passed? The below patch just hacks in a
> trap for efifb and will fail in the future as other x86 hardware
> without VGA bios/PC bios become available.
> My first mainline submitted patch so be gentle :).
this looks good to me, though there is no need
to comment out unneeded lines, just remove them.
Also, if you could provide a sign-off line, as
per Section 5 of http://linux.yyz.us/patch-format.html
that would be great.
Finally, your mail reader (or something else) seems
to have mangled the patch such that leading <space><tab>
has been turned into <space><space><tab>. This isn't a bit
deal as its is easy enough for me to un-mangle it by hand.
But just so you know.
More information about the kexec