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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 09 Sep 2020 08:16:20 PDT (-0700), ardb@xxxxxxxxxx wrote:
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.

Looks like we're using dram_base to derive two argumets to
efi_relocate_kernel(): the preferred load address and the minimum load address.
I don't see any reason why we can't use the same PAGE_OFFSET-like logic that
x86 uses for the minimum load address, but I don't think we have any mechanism
like "struct boot_params" so we'd need to come up with something.

Cc: Maxim Uvarov <maxim.uvarov@xxxxxxxxxx>
Cc: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Cc: Atish Patra <atish.patra@xxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>
Cc: Jens Wiklander <jens.wiklander@xxxxxxxxxx>
Cc: Francois Ozog <francois.ozog@xxxxxxxxxx>
Cc: Etienne CARRIERE <etienne.carriere@xxxxxx>
Cc: Takahiro Akashi <takahiro.akashi@xxxxxxxxxx>
Cc: Patrice CHOTARD <patrice.chotard@xxxxxx>
Cc: Sumit Garg <sumit.garg@xxxxxxxxxx>
Cc: Grant Likely <Grant.Likely@xxxxxxx>
Cc: Ilias Apalodimas <ilias.apalodimas@xxxxxxxxxx>
Cc: Christophe Priouzeau <christophe.priouzeau@xxxxxxxxxx>
Cc: Rouven Czerwinski <r.czerwinski@xxxxxxxxxxxxxx>
Cc: Patrick DELAUNAY <patrick.delaunay@xxxxxx>

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(-)



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux