All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB
@ 2020-10-28 20:46 Ard Biesheuvel
  2020-10-28 20:46 ` [GIT PULL v2 2/2] ARM assembler cleanups Ard Biesheuvel
  2020-11-09  7:20 ` [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
  0 siblings, 2 replies; 6+ messages in thread
From: Ard Biesheuvel @ 2020-10-28 20:46 UTC (permalink / raw
  To: linux-arm-kernel; +Cc: Linus Walleij, Russell King, Nicolas Pitre

The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:

  Linux 5.10-rc1 (2020-10-25 15:14:11 -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.11

for you to fetch changes up to 9443076e4330a14ae2c6114307668b98a8293b77:

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

Change since v1 pull request:
- rebase onto v5.10-rc1

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: p2v: fix handling of LPAE translation in BE mode
      ARM: assembler: introduce adr_l, ldr_l and str_l macros
      ARM: module: add support for place relative relocations
      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] 6+ messages in thread

* [GIT PULL v2 2/2] ARM assembler cleanups
  2020-10-28 20:46 [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
@ 2020-10-28 20:46 ` Ard Biesheuvel
  2020-11-09  9:34   ` Ard Biesheuvel
  2020-11-09  7:20 ` [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
  1 sibling, 1 reply; 6+ messages in thread
From: Ard Biesheuvel @ 2020-10-28 20:46 UTC (permalink / raw
  To: linux-arm-kernel; +Cc: Linus Walleij, Russell King, Nicolas Pitre

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

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

* Re: [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB
  2020-10-28 20:46 [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
  2020-10-28 20:46 ` [GIT PULL v2 2/2] ARM assembler cleanups Ard Biesheuvel
@ 2020-11-09  7:20 ` Ard Biesheuvel
  2020-11-09  9:30   ` Russell King - ARM Linux admin
  1 sibling, 1 reply; 6+ messages in thread
From: Ard Biesheuvel @ 2020-11-09  7:20 UTC (permalink / raw
  To: Linux ARM, Russell King; +Cc: Linus Walleij, Nicolas Pitre

On Wed, 28 Oct 2020 at 21:48, Ard Biesheuvel <ardb@kernel.org> wrote:
>
> The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:
>
>   Linux 5.10-rc1 (2020-10-25 15:14:11 -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.11
>
> for you to fetch changes up to 9443076e4330a14ae2c6114307668b98a8293b77:
>
>   ARM: p2v: reduce p2v alignment requirement to 2 MiB (2020-10-28 16:59:43 +0100)
>
> Change since v1 pull request:
> - rebase onto v5.10-rc1
>
> 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: p2v: fix handling of LPAE translation in BE mode
>       ARM: assembler: introduce adr_l, ldr_l and str_l macros
>       ARM: module: add support for place relative relocations
>       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
>

Ping?

_______________________________________________
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] 6+ messages in thread

* Re: [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB
  2020-11-09  7:20 ` [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
@ 2020-11-09  9:30   ` Russell King - ARM Linux admin
  2020-11-09  9:33     ` Ard Biesheuvel
  0 siblings, 1 reply; 6+ messages in thread
From: Russell King - ARM Linux admin @ 2020-11-09  9:30 UTC (permalink / raw
  To: Ard Biesheuvel; +Cc: Linus Walleij, Linux ARM, Nicolas Pitre

On Mon, Nov 09, 2020 at 08:20:13AM +0100, Ard Biesheuvel wrote:
> On Wed, 28 Oct 2020 at 21:48, Ard Biesheuvel <ardb@kernel.org> wrote:
> >
> > The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:
> >
> >   Linux 5.10-rc1 (2020-10-25 15:14:11 -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.11
> >
> > for you to fetch changes up to 9443076e4330a14ae2c6114307668b98a8293b77:
> >
> >   ARM: p2v: reduce p2v alignment requirement to 2 MiB (2020-10-28 16:59:43 +0100)
> >
> > Change since v1 pull request:
> > - rebase onto v5.10-rc1
> >
> > 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: p2v: fix handling of LPAE translation in BE mode
> >       ARM: assembler: introduce adr_l, ldr_l and str_l macros
> >       ARM: module: add support for place relative relocations
> >       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
> >
> 
> Ping?

Oh, you want /me/ to pull this? That's news to me, you didn't send the
pull requests /to/ me, you only copied me, so they went unread.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
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] 6+ messages in thread

* Re: [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB
  2020-11-09  9:30   ` Russell King - ARM Linux admin
@ 2020-11-09  9:33     ` Ard Biesheuvel
  0 siblings, 0 replies; 6+ messages in thread
From: Ard Biesheuvel @ 2020-11-09  9:33 UTC (permalink / raw
  To: Russell King - ARM Linux admin; +Cc: Linus Walleij, Linux ARM, Nicolas Pitre

On Mon, 9 Nov 2020 at 10:30, Russell King - ARM Linux admin
<linux@armlinux.org.uk> wrote:
>
> On Mon, Nov 09, 2020 at 08:20:13AM +0100, Ard Biesheuvel wrote:
> > On Wed, 28 Oct 2020 at 21:48, Ard Biesheuvel <ardb@kernel.org> wrote:
> > >
> > > The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:
> > >
> > >   Linux 5.10-rc1 (2020-10-25 15:14:11 -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.11
> > >
> > > for you to fetch changes up to 9443076e4330a14ae2c6114307668b98a8293b77:
> > >
> > >   ARM: p2v: reduce p2v alignment requirement to 2 MiB (2020-10-28 16:59:43 +0100)
> > >
> > > Change since v1 pull request:
> > > - rebase onto v5.10-rc1
> > >
> > > 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: p2v: fix handling of LPAE translation in BE mode
> > >       ARM: assembler: introduce adr_l, ldr_l and str_l macros
> > >       ARM: module: add support for place relative relocations
> > >       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
> > >
> >
> > Ping?
>
> Oh, you want /me/ to pull this? That's news to me, you didn't send the
> pull requests /to/ me, you only copied me, so they went unread.
>

Yep, my mistake, sorry about that.

_______________________________________________
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] 6+ messages in thread

* Re: [GIT PULL v2 2/2] ARM assembler cleanups
  2020-10-28 20:46 ` [GIT PULL v2 2/2] ARM assembler cleanups Ard Biesheuvel
@ 2020-11-09  9:34   ` Ard Biesheuvel
  0 siblings, 0 replies; 6+ messages in thread
From: Ard Biesheuvel @ 2020-11-09  9:34 UTC (permalink / raw
  To: Linux ARM, Russell King; +Cc: Linus Walleij, Nicolas Pitre

(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

_______________________________________________
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] 6+ messages in thread

end of thread, other threads:[~2020-11-09  9:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-28 20:46 [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
2020-10-28 20:46 ` [GIT PULL v2 2/2] ARM assembler cleanups Ard Biesheuvel
2020-11-09  9:34   ` Ard Biesheuvel
2020-11-09  7:20 ` [GIT PULL v2 1/2] ARM: permit relative phys-to-virt alignment of >= 2 MiB Ard Biesheuvel
2020-11-09  9:30   ` Russell King - ARM Linux admin
2020-11-09  9:33     ` 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.