linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB
@ 2020-09-26  9:56 Ard Biesheuvel
  2020-09-26  9:56 ` [GIT PULL 2/2] ARM assembler cleanups Ard Biesheuvel
  0 siblings, 1 reply; 2+ messages in thread
From: Ard Biesheuvel @ 2020-09-26  9:56 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: Linus Walleij, Russell King, ardb, Nicolas Pitre

The following changes since commit 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5:

  Linux 5.9-rc1 (2020-08-16 13:04:57 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-p2v-for-v5.10

for you to fetch changes up to b9cdfe66e33df899797d66e1840889df25433df6:

  ARM: p2v: reduce p2v alignment requirement to 2 MiB (2020-09-26 11:41:21 +0200)

Cc: Russell King <linux+pull@armlinux.org.uk>
Cc: Nicolas Pitre <nico@fluxnic.net>
Cc: Linus Walleij <linus.walleij@linaro.org>

----------------------------------------------------------------
Implement the necessary changes in the ARM assembler boot code to permit
the relative alignment of the physical and the virtual addresses of the
kernel to be as little as 2 MiB, as opposed to the minimum of 16 MiB we
support today.

Series was posted here, and reviewed by Nicolas Pitre and Linus Walleij:
https://lore.kernel.org/linux-arm-kernel/20200921154117.757-1-ardb@kernel.org/

----------------------------------------------------------------
Ard Biesheuvel (11):
      ARM: assembler: introduce adr_l, ldr_l and str_l macros
      ARM: module: add support for place relative relocations
      ARM: p2v: fix handling of LPAE translation in BE mode
      ARM: p2v: move patching code to separate assembler source file
      ARM: p2v: factor out shared loop processing
      ARM: p2v: factor out BE8 handling
      ARM: p2v: drop redundant 'type' argument from __pv_stub
      ARM: p2v: use relative references in patch site arrays
      ARM: p2v: simplify __fixup_pv_table()
      ARM: p2v: switch to MOVW for Thumb2 and ARM/LPAE
      ARM: p2v: reduce p2v alignment requirement to 2 MiB

 arch/arm/Kconfig                 |   2 +-
 arch/arm/include/asm/assembler.h |  84 ++++++++++++++
 arch/arm/include/asm/elf.h       |   5 +
 arch/arm/include/asm/memory.h    |  57 +++++++---
 arch/arm/kernel/Makefile         |   1 +
 arch/arm/kernel/head.S           | 142 -----------------------
 arch/arm/kernel/module.c         |  20 +++-
 arch/arm/kernel/phys2virt.S      | 238 +++++++++++++++++++++++++++++++++++++++
 8 files changed, 387 insertions(+), 162 deletions(-)
 create mode 100644 arch/arm/kernel/phys2virt.S

_______________________________________________
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

* [GIT PULL 2/2] ARM assembler cleanups
  2020-09-26  9:56 [GIT PULL 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
@ 2020-09-26  9:56 ` Ard Biesheuvel
  0 siblings, 0 replies; 2+ messages in thread
From: Ard Biesheuvel @ 2020-09-26  9:56 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: Linus Walleij, Russell King, ardb, Nicolas Pitre

The following changes since commit 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5:

  Linux 5.9-rc1 (2020-08-16 13:04:57 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-adrl-replacement-for-v5.10

for you to fetch changes up to 1c0ef9c28760d3bff9e1bda5f48898d03e29cbb7:

  ARM: kvm: replace open coded VA->PA calculations with adr_l call (2020-09-26 11:13:45 +0200)

Note that the first two patches are shared with 1/2, so that the PRs can be
merged independently. With those omitted from the diffstat, it becomes

  7 files changed, 44 insertions(+), 111 deletions(-)


Cc: Russell King <linux+pull@armlinux.org.uk>
Cc: Nicolas Pitre <nico@fluxnic.net>
Cc: Linus Walleij <linus.walleij@linaro.org>

----------------------------------------------------------------
Introduce adr_l/ldr_l/str_l/mov_l assembler macros like we have on arm64,
and use them to replace open coded VA-to-PA arithmetic in various places
in the code. This avoids the use of literals on v7+ CPUs, reduces the
footprint of the code in most cases, and generally makes the code easier
to follow.

Series was posted here, and reviewed by Nicolas Pitre:
https://lore.kernel.org/linux-arm-kernel/20200914095706.3985-1-ardb@kernel.org/

----------------------------------------------------------------
Ard Biesheuvel (11):
      ARM: assembler: introduce adr_l, ldr_l and str_l macros
      ARM: module: add support for place relative relocations
      ARM: efistub: replace adrl pseudo-op with adr_l macro invocation
      ARM: head-common.S: use PC-relative insn sequence for __proc_info
      ARM: head-common.S: use PC-relative insn sequence for idmap creation
      ARM: head.S: use PC-relative insn sequence for secondary_data
      ARM: kernel: use relative references for UP/SMP alternatives
      ARM: head: use PC-relative insn sequence for __smp_alt
      ARM: sleep.S: use PC-relative insn sequence for sleep_save_sp/mpidr_hash
      ARM: head.S: use PC relative insn sequence to calculate PHYS_OFFSET
      ARM: kvm: replace open coded VA->PA calculations with adr_l call

 arch/arm/boot/compressed/head.S  | 18 ++------
 arch/arm/include/asm/assembler.h | 88 +++++++++++++++++++++++++++++++++++++++-
 arch/arm/include/asm/elf.h       |  5 +++
 arch/arm/include/asm/processor.h |  2 +-
 arch/arm/kernel/head-common.S    | 22 +++-------
 arch/arm/kernel/head.S           | 63 +++++++---------------------
 arch/arm/kernel/hyp-stub.S       | 27 ++++++------
 arch/arm/kernel/module.c         | 20 ++++++++-
 arch/arm/kernel/sleep.S          | 19 +++------
 9 files changed, 151 insertions(+), 113 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-09-26  9:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-26  9:56 [GIT PULL 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
2020-09-26  9:56 ` [GIT PULL 2/2] ARM assembler cleanups Ard Biesheuvel

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