All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL v2] ARM: simplify handover from UEFI to decompressor
@ 2020-05-20 21:32 ` Ard Biesheuvel
  0 siblings, 0 replies; 2+ messages in thread
From: Ard Biesheuvel @ 2020-05-20 21:32 UTC (permalink / raw)
  To: linux-efi; +Cc: linux-arm-kernel, linux+pull

Hello Russell,

As discussed in the context of Geert's reverted v6 of the DTB memory
node discovery patch [0], EFI boot is one possible workaround for systems
where the base of memory is not a round multiple of 128 MB. U-boot today
supports the bootefi command out of the box, so this does not require any
special firmware.

So please pull the changes below for v5.8

[0] https://lore.kernel.org/linux-arm-kernel/20200429082120.16259-1-geert+renesas@glider.be/

The following changes since commit a780e485b5768e78aef087502499714901b68cc4:

  ARM: 8971/1: replace the sole use of a symbol with its definition (2020-04-29 13:30:20 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/efi-arm-no-relocate-for-rmk

for you to fetch changes up to d0f9ca9be11f25ef4151195eab7ea36d136084f6:

  ARM: decompressor: run decompressor in place if loaded via UEFI (2020-05-19 18:23:22 +0200)

----------------------------------------------------------------
Simplify EFI handover to decompressor

The EFI stub in the ARM kernel runs in the context of the firmware, which
means it usually runs with the caches and MMU on. Currently, we relocate
the zImage so it appears in the first 128 MiB, disable the MMU and caches
and invoke the decompressor via its ordinary entry point. However, since we
can pass the base of DRAM directly, there is no need to relocate the zImage,
which also means there is no need to disable and re-enable the caches and
create new page tables etc.

This also allows systems whose DRAM start address is not a round multiple
of 128 MB to decompress the kernel proper to the base of memory, ensuring
that all memory is usable at runtime.

----------------------------------------------------------------
Ard Biesheuvel (5):
      ARM: decompressor: move headroom variable out of LC0
      ARM: decompressor: split off _edata and stack base into separate object
      ARM: decompressor: defer loading of the contents of the LC0 structure
      ARM: decompressor: move GOT into .data for EFI enabled builds
      ARM: decompressor: run decompressor in place if loaded via UEFI

 arch/arm/boot/compressed/head.S           | 79 +++++++++++++------------------
 arch/arm/boot/compressed/vmlinux.lds.S    |  5 ++
 drivers/firmware/efi/libstub/arm32-stub.c | 45 +++---------------
 3 files changed, 43 insertions(+), 86 deletions(-)

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

* [GIT PULL v2] ARM: simplify handover from UEFI to decompressor
@ 2020-05-20 21:32 ` Ard Biesheuvel
  0 siblings, 0 replies; 2+ messages in thread
From: Ard Biesheuvel @ 2020-05-20 21:32 UTC (permalink / raw)
  To: linux-efi; +Cc: linux+pull, linux-arm-kernel

Hello Russell,

As discussed in the context of Geert's reverted v6 of the DTB memory
node discovery patch [0], EFI boot is one possible workaround for systems
where the base of memory is not a round multiple of 128 MB. U-boot today
supports the bootefi command out of the box, so this does not require any
special firmware.

So please pull the changes below for v5.8

[0] https://lore.kernel.org/linux-arm-kernel/20200429082120.16259-1-geert+renesas@glider.be/

The following changes since commit a780e485b5768e78aef087502499714901b68cc4:

  ARM: 8971/1: replace the sole use of a symbol with its definition (2020-04-29 13:30:20 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/efi-arm-no-relocate-for-rmk

for you to fetch changes up to d0f9ca9be11f25ef4151195eab7ea36d136084f6:

  ARM: decompressor: run decompressor in place if loaded via UEFI (2020-05-19 18:23:22 +0200)

----------------------------------------------------------------
Simplify EFI handover to decompressor

The EFI stub in the ARM kernel runs in the context of the firmware, which
means it usually runs with the caches and MMU on. Currently, we relocate
the zImage so it appears in the first 128 MiB, disable the MMU and caches
and invoke the decompressor via its ordinary entry point. However, since we
can pass the base of DRAM directly, there is no need to relocate the zImage,
which also means there is no need to disable and re-enable the caches and
create new page tables etc.

This also allows systems whose DRAM start address is not a round multiple
of 128 MB to decompress the kernel proper to the base of memory, ensuring
that all memory is usable at runtime.

----------------------------------------------------------------
Ard Biesheuvel (5):
      ARM: decompressor: move headroom variable out of LC0
      ARM: decompressor: split off _edata and stack base into separate object
      ARM: decompressor: defer loading of the contents of the LC0 structure
      ARM: decompressor: move GOT into .data for EFI enabled builds
      ARM: decompressor: run decompressor in place if loaded via UEFI

 arch/arm/boot/compressed/head.S           | 79 +++++++++++++------------------
 arch/arm/boot/compressed/vmlinux.lds.S    |  5 ++
 drivers/firmware/efi/libstub/arm32-stub.c | 45 +++---------------
 3 files changed, 43 insertions(+), 86 deletions(-)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2020-05-20 21:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-20 21:32 [GIT PULL v2] ARM: simplify handover from UEFI to decompressor Ard Biesheuvel
2020-05-20 21:32 ` Ard Biesheuvel

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.