[lkml]   [2012]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v5 0/5] x86: efi: cleanups and basic 32/64-bit support
This series allows basic booting of a 32-bit kernel on 64-bit EFI and vice
versa. It's needed by Chrome OS, and we've been carrying a nasty
hack to do it that I've cleaned up and made sure it works in both

Being able to boot an upstream kernel on Chrome OS hardware is helpful for
hobbyists and others who want to tinker with their Chrome OS machines, but
it's also very helpful for our kernel developers who want to contribute
and work close to upstream without carrying out-of-tree base patches.

V4 was tested on Chrome OS for 64-bit EFI 32-bit kernel and with an old
MacBook for 32-bit EFI, 64-bit kernel.

Note that this is required, but not sufficient, for full platform support for
EFI in a mixed environment. There is no handling of runtime services, and no
thunking for going in and out of firmware in a different mode.

Resend of the last posted version. Matt has acked all but the last
patch at this point, and Matthew seems to be OK with it as well (see

Please consider for 3.4 merge window. Thanks!


Changelog is:

* Addressed review comments from Matt Fleming over some formatting/printk strings
as well as some coding style changes.
* Fixed bug that printed out "runtime not initialized" when it was on non-mixed-wordsize

* Removed bogus memdesc warning printout
* Fixed up printk formatting, removing redundant EFI output
* Some of the earlier cleanup was accidentally reverted by this patch, fixed.
* Reworded some messages to not have to line wrap printk strings

* Reorganized to a series of patches to make it easier to review, and
do some of the cleanups I had left out before.

* Added graceful error handling for 32-bit kernel that gets passed
EFI data above 4GB.
* Removed some warnings that were missed in first version.

 \ /
  Last update: 2012-02-12 22:27    [W:0.082 / U:1.948 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site