mbox series

[v5,0/2] Add support for arm64 efi-based platform

Message ID 20180605021448.9064-1-ge.song@hxt-semitech.com
Headers show
Series Add support for arm64 efi-based platform | expand

Message

Ge Song June 5, 2018, 2:14 a.m. UTC
The patch provide support for platforms that adopt efi as their underlying
firmware. Since on x86/x64 platforms, efi is the standard firmware and has
well support from various devices. This extension seems unnecessary for
these platforms.

On arm64 servers, plenty of devices(especially for those bootable devices)
cannot be supported from efi firmware. In this situation, linux&petitboot
is the wonderful way to address the issue.

Since efi is the primary firmware on arm64 servers, most of the management
related works can be completed in that enviroment. Therefore some similar
functions implemented in petitboot have been removed.

Changes since V5:
 * Reverse the order of patches.
 * Restructured the platform related parts. Centralized the common parts.

Changes since V4:
 * Use a test directory other than the true system's efivarfs to complete the
   test for efivar lib.

Changes since V3:
 * Correct the prototype of main() in test-efivar.c
 * Add probe() to decide if function test in test-efivar.c continues.
 * Get magic of efivarfs from kernel header.

Changes since V2:
 * Clean code style and revise some parts according to Geoff's suggestion.
 * Correct the mistake about copyright.
 * Add a test case for manipulating efi varibles

Ge Song (2):
  lib: Support to deal with petitboot's configuration on efi-based
    platforms
  Platform: Restructured the platform related part and add an arm64
    profile

 discover/Makefile.am        |   3 +-
 lib/Makefile.am             |   2 +
 test/lib/Makefile.am        |   3 +-
 test/parser/Makefile.am     |   1 +
 discover/platform.h         |  18 +-
 lib/efi/efivar.h            |  46 ++
 discover/platform-arm64.c   | 195 +++++++
 discover/platform-powerpc.c | 612 +-------------------
 discover/platform.c         | 589 ++++++++++++++++++-
 lib/efi/efivar.c            | 204 +++++++
 test/lib/test-efivar.c      | 127 ++++
 11 files changed, 1204 insertions(+), 596 deletions(-)
 create mode 100644 lib/efi/efivar.h
 create mode 100644 discover/platform-arm64.c
 create mode 100644 lib/efi/efivar.c
 create mode 100644 test/lib/test-efivar.c