All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/10] x86 EFI boot stub
@ 2011-09-12 14:34 Matt Fleming
  2011-09-12 14:34 ` [PATCH 01/10] x86: Add missing bzImage fields to struct setup_header Matt Fleming
                   ` (9 more replies)
  0 siblings, 10 replies; 34+ messages in thread
From: Matt Fleming @ 2011-09-12 14:34 UTC (permalink / raw)
  To: linux-kernel
  Cc: H. Peter Anvin, Matthew Garrett, x86, Ingo Molnar,
	Thomas Gleixner, Matt Fleming

From: Matt Fleming <matt.fleming@intel.com>

This series adds support for an EFI boot stub, similar to the existing
BIOS boot stub. The result is that you can boot a bzImage on an EFI
machine without the use of a boot loader by making the bzImage appear
to the EFI firmware to be an EFI application. Also, a single bzImage
can be booted on either a BIOS or EFI machine.

Using the EFI boot stub has the advantage that the kernel is
responsible for configuring the machine to the point where we can
fully boot the kernel, so we are no longer at the mercy of the boot
loader.

Changes in v2:

  - Added PATCH 01/10 because we now need to access hdr.pref_address
    and hdr.init_size when relocating the bzImage

  - Added relocation support to the stub because the firmware might
    load the bzImage at a very high physical address

  - Fixed the alignment of some u64 fields on x86

  - Now we dynamically write some fields in the bzImage EFI header at
    arch/x86/boot/tools/build time.

  - Added UGA support

  - Replaced some magic numbers with constants

Matt Fleming (10):
  x86: Add missing bzImage fields to struct setup_header
  x86, efi: Make efi_call_phys_prelog() CONFIG_RELOCATABLE-aware
  x86: Don't use magic strings for EFI loader signature
  efi.h: Add struct definition for boot time services
  efi.h: Add efi_image_loaded_t
  efi.h: Add allocation types for boottime->allocate_pages()
  efi.h: Add graphics protocol guids
  efi.h: Add boottime->locate_handle search types
  efi: Add EFI file I/O data types
  x86, efi: EFI boot stub support

 arch/x86/Kconfig                       |    7 +
 arch/x86/boot/compressed/Makefile      |   10 +-
 arch/x86/boot/compressed/eboot.c       |  928 ++++++++++++++++++++++++++++++++
 arch/x86/boot/compressed/efi_stub_32.S |   87 +++
 arch/x86/boot/compressed/efi_stub_64.S |    1 +
 arch/x86/boot/compressed/head_32.S     |   22 +
 arch/x86/boot/compressed/head_64.S     |   20 +
 arch/x86/boot/compressed/string.c      |    9 +
 arch/x86/boot/header.S                 |  158 ++++++
 arch/x86/boot/string.c                 |   35 ++
 arch/x86/boot/tools/build.c            |   37 ++
 arch/x86/include/asm/bootparam.h       |    2 +
 arch/x86/include/asm/efi.h             |    4 +
 arch/x86/kernel/asm-offsets.c          |    2 +
 arch/x86/kernel/setup.c                |    7 +-
 arch/x86/platform/efi/efi_32.c         |   22 +-
 include/linux/efi.h                    |  136 +++++-
 17 files changed, 1470 insertions(+), 17 deletions(-)
 create mode 100644 arch/x86/boot/compressed/eboot.c
 create mode 100644 arch/x86/boot/compressed/efi_stub_32.S
 create mode 100644 arch/x86/boot/compressed/efi_stub_64.S

-- 
1.7.4.4


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2011-10-03 18:26 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-12 14:34 [PATCH v2 00/10] x86 EFI boot stub Matt Fleming
2011-09-12 14:34 ` [PATCH 01/10] x86: Add missing bzImage fields to struct setup_header Matt Fleming
2011-09-12 14:34 ` [PATCH 02/10] x86, efi: Make efi_call_phys_prelog() CONFIG_RELOCATABLE-aware Matt Fleming
2011-09-12 14:34 ` [PATCH 03/10] x86: Don't use magic strings for EFI loader signature Matt Fleming
2011-09-12 14:34 ` [PATCH 04/10] efi.h: Add struct definition for boot time services Matt Fleming
2011-09-12 14:34 ` [PATCH v2 05/10] efi.h: Add efi_image_loaded_t Matt Fleming
2011-09-12 14:34 ` [PATCH 06/10] efi.h: Add allocation types for boottime->allocate_pages() Matt Fleming
2011-09-12 14:34 ` [PATCH v2 07/10] efi.h: Add graphics protocol guids Matt Fleming
2011-09-12 14:34 ` [PATCH 08/10] efi.h: Add boottime->locate_handle search types Matt Fleming
2011-09-12 14:34 ` [PATCH v2 09/10] efi: Add EFI file I/O data types Matt Fleming
2011-09-12 14:34 ` [PATCH v2 10/10] x86, efi: EFI boot stub support Matt Fleming
2011-09-13 13:29   ` Matthew Garrett
2011-09-13 14:01     ` Matt Fleming
2011-09-13 14:33   ` Maarten Lankhorst
2011-09-14 16:07     ` Matt Fleming
     [not found]       ` <20110915045231.GA32136@emperor.us.dell.com>
2011-09-15  8:04         ` Maarten Lankhorst
2011-09-15  9:08           ` Maarten Lankhorst
     [not found]           ` <20110915115255.GA4669@emperor.us.dell.com>
2011-09-15 12:44             ` Maarten Lankhorst
2011-09-17 11:44               ` Matt Fleming
2011-09-17 12:12                 ` Maarten Lankhorst
2011-09-21 11:57                   ` Matt Fleming
2011-09-21 12:10   ` [PATCH v3 " Matt Fleming
2011-09-22 11:43     ` Maarten Lankhorst
2011-09-22 11:55       ` Matt Fleming
2011-09-29 10:14     ` Henrik Rydberg
2011-09-30  7:41       ` Matt Fleming
2011-09-30 11:13         ` Henrik Rydberg
2011-10-03 16:53           ` Matthew Garrett
2011-10-03 18:32             ` Henrik Rydberg
2011-09-30  8:51     ` [PATCH v4 " Matt Fleming
2011-09-30 16:24       ` Shea Levy
2011-09-30 20:11         ` Matt Fleming
2011-10-01  7:50           ` Maarten Lankhorst
2011-10-01  9:19             ` Matt Fleming

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.