linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/8] arm64/mm: Drop PXD_TABLE_BIT
@ 2025-02-21  4:42 Anshuman Khandual
  2025-02-21  4:42 ` [PATCH V2 1/8] KVM: arm64: ptdump: Test PMD_TYPE_MASK for block mapping Anshuman Khandual
                   ` (11 more replies)
  0 siblings, 12 replies; 17+ messages in thread
From: Anshuman Khandual @ 2025-02-21  4:42 UTC (permalink / raw)
  To: arm-kernel
  Cc: Anshuman Khandual, Marc Zyngier, Oliver Upton, James Morse,
	Catalin Marinas, Will Deacon, Ard Biesheuvel, Ryan Roberts,
	Mark Rutland, kvmarm, linux-arm-kernel, linux-kernel

Remove the PXX_TABLE_BIT definitions and instead rely on PXX_TYPE_MASK,
PXX_TYPE_SECT and PXX_TYPE_TABLE. The latter versions are more abstract
and also include the PTE_VALID bit.

This abstraction is valuable for the impending D128 page table support,
which doesn't have a single page table bit to determine table vs block.
Instead it has the skip level (SKL) field, where it will consider 0 to
mean table and any other value to mean a block entry. So PXX_TABLE_BIT
therefore doesn't fit into the D128 model well, but the type fields do.

This series applies on v6.14-rc3.

Changes in V2:

- Changed pmd_mkhuge() and pud_mkhuge() implementation
- Changed pud_bad() implementation with an additional patch

Changes in V1:

https://lore.kernel.org/all/20241005123824.1366397-1-anshuman.khandual@arm.com/

Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: James Morse <james.morse@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: kvmarm@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Anshuman Khandual (6):
  KVM: arm64: ptdump: Test PMD_TYPE_MASK for block mapping
  arm64/ptdump: Test PMD_TYPE_MASK for block mapping
  arm64/mm: Clear PXX_TYPE_MASK in mk_[pmd|pud]_sect_prot()
  arm64/mm: Clear PXX_TYPE_MASK and set PXD_TYPE_SECT in [pmd|pud]_mkhuge()
  arm64/mm: Check PXD_TYPE_TABLE in [p4d|pgd]_bad()
  arm64/mm: Drop PXD_TABLE_BIT

Ryan Roberts (2):
  arm64/mm: Check PUD_TYPE_TABLE in pud_bad()
  arm64/mm: Check pmd_table() in pmd_trans_huge()

 arch/arm64/include/asm/pgtable-hwdef.h |  5 --
 arch/arm64/include/asm/pgtable.h       | 65 ++++++++++++++++++--------
 arch/arm64/kvm/ptdump.c                |  4 +-
 arch/arm64/mm/ptdump.c                 |  4 +-
 4 files changed, 50 insertions(+), 28 deletions(-)

-- 
2.25.1



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

end of thread, other threads:[~2025-03-12 18:11 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-21  4:42 [PATCH V2 0/8] arm64/mm: Drop PXD_TABLE_BIT Anshuman Khandual
2025-02-21  4:42 ` [PATCH V2 1/8] KVM: arm64: ptdump: Test PMD_TYPE_MASK for block mapping Anshuman Khandual
2025-03-11 18:10   ` Catalin Marinas
2025-03-11 18:22     ` Marc Zyngier
2025-02-21  4:42 ` [PATCH V2 2/8] arm64/ptdump: " Anshuman Khandual
2025-02-21  4:42 ` [PATCH V2 3/8] arm64/mm: Clear PXX_TYPE_MASK in mk_[pmd|pud]_sect_prot() Anshuman Khandual
2025-02-21  4:42 ` [PATCH V2 4/8] arm64/mm: Clear PXX_TYPE_MASK and set PXD_TYPE_SECT in [pmd|pud]_mkhuge() Anshuman Khandual
2025-02-21  4:42 ` [PATCH V2 5/8] arm64/mm: Check PXD_TYPE_TABLE in [p4d|pgd]_bad() Anshuman Khandual
2025-02-21  4:42 ` [PATCH V2 6/8] arm64/mm: Check PUD_TYPE_TABLE in pud_bad() Anshuman Khandual
2025-02-21  4:42 ` [PATCH V2 7/8] arm64/mm: Check pmd_table() in pmd_trans_huge() Anshuman Khandual
2025-02-21  4:42 ` [PATCH V2 8/8] arm64/mm: Drop PXD_TABLE_BIT Anshuman Khandual
2025-02-28  3:42 ` [PATCH V2 0/8] " Anshuman Khandual
2025-02-28 15:32 ` Ryan Roberts
2025-03-03  5:02   ` Anshuman Khandual
2025-03-03 10:23     ` Ryan Roberts
2025-03-10  6:38 ` Anshuman Khandual
2025-03-12 18:09 ` 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).