linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] arm64: mm: Use __create_pgd_mapping_locked() in
@ 2024-03-13 12:56 Pingfan Liu
  2024-03-13 12:56 ` [PATCH 01/10] arm64: mm: Split out routines for code reuse Pingfan Liu
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Pingfan Liu @ 2024-03-13 12:56 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Pingfan Liu, Ard Biesheuvel, Catalin Marinas, Will Deacon,
	Mark Rutland

Hi everybody, I tried this stuff again. 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@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
To: linux-arm-kernel@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


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

end of thread, other threads:[~2024-03-14 17:26 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-13 12:56 [PATCH 00/10] arm64: mm: Use __create_pgd_mapping_locked() in Pingfan Liu
2024-03-13 12:56 ` [PATCH 01/10] arm64: mm: Split out routines for code reuse Pingfan Liu
2024-03-13 12:57 ` [PATCH 02/10] arm64: mm: Introduce mmu_head routines without instrumentation Pingfan Liu
2024-03-13 12:57 ` [PATCH 03/10] arm64: mm: Use if-conditon to truncate external dependency Pingfan Liu
2024-03-13 12:57 ` [PATCH 04/10] arm64: head: Enable __create_pgd_mapping() to handle pgtable's paddr Pingfan Liu
2024-03-13 12:57 ` [PATCH 05/10] arm64: mm: Force early mapping aligned on SWAPPER_BLOCK_SIZE Pingfan Liu
2024-03-13 12:57 ` [PATCH 06/10] arm64: mm: Handle scope beyond the capacity of kernel pgtable in mmu_head_create_pgd_mapping() Pingfan Liu
2024-03-13 12:57 ` [PATCH 07/10] arm64: mm: Introduce head_pool routines to enable pgtabl allocation Pingfan Liu
2024-03-13 12:57 ` [PATCH 09/10] arm64: head: Use __create_pgd_mapping_locked() to serve the creation of pgtable Pingfan Liu
2024-03-13 12:57 ` [PATCH 10/10] arm64: head: Clean up unneeded routines Pingfan Liu
2024-03-13 13:05 ` [PATCH 00/10] arm64: mm: Use __create_pgd_mapping_locked() in Ard Biesheuvel
2024-03-14  2:54   ` Pingfan Liu
2024-03-14 17:25     ` Catalin Marinas

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