From: roy.franz@linaro.org (Roy Franz)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2 00/17] EFI stub for ARM
Date: Tue, 6 Aug 2013 20:44:56 -0700 [thread overview]
Message-ID: <1375847113-24884-1-git-send-email-roy.franz@linaro.org> (raw)
This patch series adds EFI stub support for the ARM architecture.
Some code that was previously only used by x86/x86_64 is now shared
and has been made more general. The stub for ARM is implemented in
a similar manner to x86 in that it is a shim layer between EFI and
the normal zImage/bzImage boot process, and that an image with the
stub configured is bootable as both a zImage and EFI application.
This patchset depends (trivially) on a separately submitted bugfix to the
EFI stub: "correct call to free_pages"
http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?id=df981edcb9bce00b9c5e4f3cc33f3f98bc9a2394
Changes since V1:
* Updated head.S based on feedback from Dave Martin. ARM/THUMB
switches now much cleaner.
* Broke up changes to x86 and common code into more patches.
10 more patches in this series.
Roy Franz (17):
EFI stub documentation updates
Move common EFI stub code from x86 arch code to common location
Add system pointer argument to shared EFI stub related functions
so they no longer use global system table pointer as they did
when part of eboot.c.
Rename memory allocation/free functions
Add minimum address parameter to efi_low_alloc()
rename __get_map() to efi_get_memory_map(), add parameter to
optionally return mmap key. The mmap key is required to exit
EFI boot services, and allows efi_get_memory_map() to be used
for getting final memory map.
Enforce minimum alignment of 1 page on allocations. The
efi_high_alloc() and efi_low_alloc() functions use the
EFI_ALLOCATE_ADDRESS option to the EFI function
allocate_pages(), which requires a minimum of page alignment,
and rejects all other requests.
Allow efi_free() to be called with size of 0, and do nothing in that
case.
Generalize handle_ramdisks() and rename to handle_cmdline_files().
Renames in handle_cmdline_files() to complete generalization.
Move EFI_READ_CHUNK_SIZE define to shared location.
Add proper definitions for some EFI function pointers.
Fix types in EFI calls to match EFI function definitions.
resolve warnings found on ARM compile
Add strstr to compressed string.c for ARM.
Add EFI stub for ARM
Add config EFI_STUB for ARM to Kconfig
Documentation/efi-stub.txt | 78 +++++
Documentation/x86/efi-stub.txt | 65 ----
arch/arm/Kconfig | 10 +
arch/arm/boot/compressed/Makefile | 18 +-
arch/arm/boot/compressed/efi-header.S | 114 +++++++
arch/arm/boot/compressed/efi-stub.c | 514 ++++++++++++++++++++++++++++++++
arch/arm/boot/compressed/head.S | 90 +++++-
arch/arm/boot/compressed/string.c | 21 ++
arch/x86/Kconfig | 2 +-
arch/x86/boot/compressed/eboot.c | 490 ++----------------------------
arch/x86/boot/compressed/eboot.h | 7 -
drivers/firmware/efi/efi-stub-helper.c | 505 +++++++++++++++++++++++++++++++
include/linux/efi.h | 48 ++-
13 files changed, 1405 insertions(+), 557 deletions(-)
create mode 100644 Documentation/efi-stub.txt
delete mode 100644 Documentation/x86/efi-stub.txt
create mode 100644 arch/arm/boot/compressed/efi-header.S
create mode 100644 arch/arm/boot/compressed/efi-stub.c
create mode 100644 drivers/firmware/efi/efi-stub-helper.c
--
1.7.10.4
next reply other threads:[~2013-08-07 3:44 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-07 3:44 Roy Franz [this message]
2013-08-07 3:44 ` [PATCH 01/17] EFI stub documentation updates Roy Franz
2013-08-07 3:44 ` [PATCH 02/17] Move common EFI stub code from x86 arch code to common location Roy Franz
2013-08-07 3:44 ` [PATCH 03/17] Add system pointer argument to shared EFI stub related functions so they no longer use global system table pointer as they did when part of eboot.c Roy Franz
2013-08-07 13:08 ` Matt Fleming
2013-08-07 17:10 ` Roy Franz
2013-08-07 21:55 ` Matt Fleming
2013-08-07 3:45 ` [PATCH 04/17] Rename memory allocation/free functions Roy Franz
2013-08-07 13:09 ` Matt Fleming
2013-08-07 17:12 ` Roy Franz
2013-08-07 3:45 ` [PATCH 05/17] Add minimum address parameter to efi_low_alloc() Roy Franz
2013-08-07 3:45 ` [PATCH 06/17] rename __get_map() to efi_get_memory_map(), add parameter to optionally return mmap key. The mmap key is required to exit EFI boot services, and allows efi_get_memory_map() to be used for getting final memory map Roy Franz
2013-08-07 3:45 ` [PATCH 07/17] Enforce minimum alignment of 1 page on allocations. The efi_high_alloc() and efi_low_alloc() functions use the EFI_ALLOCATE_ADDRESS option to the EFI function allocate_pages(), which requires a minimum of page alignment, and rejects all other requests Roy Franz
2013-08-07 3:45 ` [PATCH 08/17] Allow efi_free() to be called with size of 0, and do nothing in that case Roy Franz
2013-08-07 3:45 ` [PATCH 09/17] Generalize handle_ramdisks() and rename to handle_cmdline_files() Roy Franz
2013-08-07 3:45 ` [PATCH 10/17] Renames in handle_cmdline_files() to complete generalization Roy Franz
2013-08-07 13:09 ` Matt Fleming
2013-08-07 3:45 ` [PATCH 11/17] Move EFI_READ_CHUNK_SIZE define to shared location Roy Franz
2013-08-07 3:45 ` [PATCH 12/17] Add proper definitions for some EFI function pointers Roy Franz
2013-08-07 13:09 ` Matt Fleming
2013-08-07 17:20 ` Roy Franz
2013-08-09 14:10 ` Mark Salter
2013-08-09 14:13 ` Roy Franz
2013-08-07 3:45 ` [PATCH 13/17] Fix types in EFI calls to match EFI function definitions Roy Franz
2013-08-07 3:45 ` [PATCH 14/17] resolve warnings found on ARM compile Roy Franz
2013-08-07 3:45 ` [PATCH 15/17] Add strstr to compressed string.c for ARM Roy Franz
2013-08-07 3:45 ` [PATCH 16/17] Add EFI stub " Roy Franz
2013-08-07 18:05 ` Dave Martin
2013-08-07 18:33 ` Leif Lindholm
2013-08-08 21:57 ` Roy Franz
2013-08-09 0:53 ` Roy Franz
2013-08-13 14:21 ` Dave P Martin
2013-08-07 3:45 ` [PATCH 17/17] Add config EFI_STUB for ARM to Kconfig Roy Franz
2013-08-07 7:44 ` [PATCH V2 00/17] EFI stub for ARM Matt Fleming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1375847113-24884-1-git-send-email-roy.franz@linaro.org \
--to=roy.franz@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).