[PATCH 00/10] arm64: mm: Use __create_pgd_mapping_locked() in
Pingfan Liu
piliu at redhat.com
Wed Mar 13 19:54:12 PDT 2024
On Wed, Mar 13, 2024 at 9:05 PM Ard Biesheuvel <ardb at kernel.org> wrote:
>
> Hello Pingfan,
>
> On Wed, 13 Mar 2024 at 13:57, Pingfan Liu <piliu at redhat.com> wrote:
> >
> > Hi everybody, I tried this stuff again.
>
> Tried what again? Frankly, I have no idea what the purpose of this
> patch series is, and this is v1.
>
Sorry that I should paste the original link for the history:
https://lore.kernel.org/all/20210531084540.78546-1-kernelfans@gmail.com/
> Could you please explain?
>
It is about calling the C routine of __create_pgd_mapping() at the
stage of mmu-off.
> Also, the early arm64 startup code is changing substantially - please refer to
>
> https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/log/?h=for-next/stage1-lpa2
>
> for details.
>
Oh, it seems that most of the ideas in my series have been
implemented. I will dive it for more detail.
Thank you very much.
Regards,
Pingfan
> > Last time when I tried this,
> > Catalin raised concern about the intrumentation, and Ard doubted this
> > way due to alignement issue with mmu-off.
> >
> > Last time, the alignment issue looked unsoluable and I gave up. But
> > nowadays, when I looked at it, I think it is partially resovable. (for
> > detail, please see the commit log in [PATCH 08/10] arm64: mm: Enforce
> > memory alignment in mmu_head)
> >
> > Overall, at this very early stage, the using of C routines faces three
> > challenge:
> > PIC
> > instrumentation
> > alignment
> >
> > [2/10] resolves instrumentation issue
> >
> > [3/10] makes mmu_head self-contained and prevent the outside
> > PIC/ instrumentation/ alignment issues from seeping in. And check the code PIC.
> >
> > [PATCH 08/10] explains the alignement issue, in theory, it can be
> > checked and resolved. And in this patch, it is partially resolved.
> >
> >
> > Cc: Ard Biesheuvel <ardb at kernel.org>
> > Cc: Catalin Marinas <catalin.marinas at arm.com>
> > Cc: Will Deacon <will at kernel.org>
> > Cc: Mark Rutland <mark.rutland at arm.com>
> > To: linux-arm-kernel at lists.infradead.org
> > ---
> >
> > Pingfan Liu (10):
> > arm64: mm: Split out routines for code reuse
> > arm64: mm: Introduce mmu_head routines without instrumentation
> > arm64: mm: Use if-conditon to truncate external dependency
> > arm64: head: Enable __create_pgd_mapping() to handle pgtable's paddr
> > arm64: mm: Force early mapping aligned on SWAPPER_BLOCK_SIZE
> > arm64: mm: Handle scope beyond the capacity of kernel pgtable in
> > mmu_head_create_pgd_mapping()
> > arm64: mm: Introduce head_pool routines to enable pgtabl allocation
> > arm64: mm: Enforce memory alignment in mmu_head
> > arm64: head: Use __create_pgd_mapping_locked() to serve the creation
> > of pgtable
> > arm64: head: Clean up unneeded routines
> >
> > arch/arm64/include/asm/kernel-pgtable.h | 1 +
> > arch/arm64/include/asm/mmu.h | 4 +
> > arch/arm64/include/asm/pgtable.h | 11 +-
> > arch/arm64/kernel/head.S | 314 +++++++-----------------
> > arch/arm64/mm/Makefile | 22 +-
> > arch/arm64/mm/mmu.c | 289 +---------------------
> > arch/arm64/mm/mmu_head.c | 134 ++++++++++
> > arch/arm64/mm/mmu_inc.c | 292 ++++++++++++++++++++++
> > 8 files changed, 558 insertions(+), 509 deletions(-)
> > create mode 100644 arch/arm64/mm/mmu_head.c
> > create mode 100644 arch/arm64/mm/mmu_inc.c
> >
> > --
> > 2.41.0
> >
>
More information about the linux-arm-kernel
mailing list