[PATCH RFC/RFT 0/3] efi/libstub: arm32: Remove dependency on dram_base

Ard Biesheuvel ardb at kernel.org
Wed Sep 9 11:16:20 EDT 2020


Maxim reports boot failures on platforms that describe reserved memory
regions in DT that are disjoint from system DRAM, and which are converted
to EfiReservedMemory regions by the EFI subsystem in u-boot.

As it turns out, the whole notion of discovering the base of DRAM is
problematic, and it would be better to simply rely on the EFI memory
allocation routines instead, and derive the FDT and initrd allocation
limits from the actual placement of the kernel (which is what defines
the start of the linear region anyway)

Finally, we should be able to get rid of get_dram_base() entirely.
However, as RISC-V only just started using it, we will need to address
that at a later time.

Cc: Maxim Uvarov <maxim.uvarov at linaro.org>
Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
Cc: Atish Patra <atish.patra at wdc.com>
Cc: Palmer Dabbelt <palmer at dabbelt.com>
Cc: Jens Wiklander <jens.wiklander at linaro.org>
Cc: Francois Ozog <francois.ozog at linaro.org>
Cc: Etienne CARRIERE <etienne.carriere at st.com>
Cc: Takahiro Akashi <takahiro.akashi at linaro.org>
Cc: Patrice CHOTARD <patrice.chotard at st.com>
Cc: Sumit Garg <sumit.garg at linaro.org>
Cc: Grant Likely <Grant.Likely at arm.com>
Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
Cc: Christophe Priouzeau <christophe.priouzeau at linaro.org>
Cc: Rouven Czerwinski <r.czerwinski at pengutronix.de>
Cc: Patrick DELAUNAY <patrick.delaunay at st.com>

Ard Biesheuvel (3):
  efi/libstub: Export efi_low_alloc_above() to other units
  efi/libstub: Use low allocation for the uncompressed kernel
  efi/libstub: base FDT and initrd placement on image address not DRAM
    base

 arch/arm/include/asm/efi.h                |   6 +-
 arch/arm64/include/asm/efi.h              |   2 +-
 drivers/firmware/efi/libstub/arm32-stub.c | 177 ++++----------------
 drivers/firmware/efi/libstub/efi-stub.c   |   2 +-
 drivers/firmware/efi/libstub/efistub.h    |   3 +
 drivers/firmware/efi/libstub/relocate.c   |   4 +-
 6 files changed, 47 insertions(+), 147 deletions(-)

-- 
2.17.1




More information about the linux-arm-kernel mailing list