mbox series

[GIT,PULL,v2,2/2] ARM assembler cleanups

Message ID 20201028204649.24830-2-ardb@kernel.org
State New
Headers show
Series [GIT,PULL,v2,1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB | expand

Pull-request

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

Message

Ard Biesheuvel Oct. 28, 2020, 8:46 p.m. UTC
The following changes since commit 9443076e4330a14ae2c6114307668b98a8293b77:

  ARM: p2v: reduce p2v alignment requirement to 2 MiB (2020-10-28 16:59:43 +0100)

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

for you to fetch changes up to aaac3733171fca948c4fb66b78257620e3885339:

  ARM: kvm: replace open coded VA->PA calculations with adr_l call (2020-10-28 17:05:40 +0100)

Change since v1 pull request:
- rebase onto v5.10-rc1 + PR 1/2

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

----------------------------------------------------------------
Tidy up open coded relative references in asm

Use the newly introduced adr_l/ldr_l/str_l/mov_l assembler macros 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 (9):
      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 |  4 +--
 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/sleep.S          | 19 ++++--------
 7 files changed, 44 insertions(+), 111 deletions(-)

Comments

Ard Biesheuvel Nov. 9, 2020, 9:34 a.m. UTC | #1
(to: linux+pull@)

On Wed, 28 Oct 2020 at 21:48, Ard Biesheuvel <ardb@kernel.org> wrote:
>
> The following changes since commit 9443076e4330a14ae2c6114307668b98a8293b77:
>
>   ARM: p2v: reduce p2v alignment requirement to 2 MiB (2020-10-28 16:59:43 +0100)
>
> 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.11
>
> for you to fetch changes up to aaac3733171fca948c4fb66b78257620e3885339:
>
>   ARM: kvm: replace open coded VA->PA calculations with adr_l call (2020-10-28 17:05:40 +0100)
>
> Change since v1 pull request:
> - rebase onto v5.10-rc1 + PR 1/2
>
> Cc: Russell King <linux+pull@armlinux.org.uk>
> Cc: Nicolas Pitre <nico@fluxnic.net>
> Cc: Linus Walleij <linus.walleij@linaro.org>
>
> ----------------------------------------------------------------
> Tidy up open coded relative references in asm
>
> Use the newly introduced adr_l/ldr_l/str_l/mov_l assembler macros 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 (9):
>       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 |  4 +--
>  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/sleep.S          | 19 ++++--------
>  7 files changed, 44 insertions(+), 111 deletions(-)
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel