All of lore.kernel.org
 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 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.