[PATCH 0/5] arm64/mm: Drop PXD_TABLE_BIT
Anshuman Khandual
anshuman.khandual at arm.com
Sat Oct 5 05:38:19 PDT 2024
Clearing PXD_TABLE_BIT i.e bit[1] on a page table entry always operates on
the assumption that subsequent PXD_VALID i.e bit[0] is set. That's because
bits[1:0]="01" makes a block mapping. So it is prudent to treat bits[1:0]
as a single register field, which should be updated as block or table etc.
Although mk_[pmd|pud]_sect_prot() helpers go to some extent in using these
PXD_TYPE_SECT macros, their usage is not really consistent else where.
This series removes these table bit clearing for block mapping creation and
eventually completely drops off those table macros.
This series applies on v6.12-rc1.
Cc: Marc Zyngier <maz at kernel.org>
Cc: Oliver Upton <oliver.upton at linux.dev>
Cc: James Morse <james.morse at arm.com>
Cc: Catalin Marinas <catalin.marinas at arm.com>
Cc: Will Deacon <will at kernel.org>
Cc: Ard Biesheuvel <ardb at kernel.org>
Cc: Ryan Roberts <ryan.roberts at arm.com>
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: kvmarm at lists.linux.dev
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
Anshuman Khandual (5):
arm64/mm: Drop pte_mkhuge()
arm64/mm: Replace PXD_TABLE_BIT with PXD_TYPE_[MASK|SECT]
arm64/ptdump: Test PMD_TYPE_MASK for block mapping
KVM: arm64: ptdump: Test PMD_TYPE_MASK for block mapping
arm64/mm: Drop PXD_TABLE_BIT
arch/arm64/include/asm/pgtable-hwdef.h | 6 +-----
arch/arm64/include/asm/pgtable.h | 20 ++++++++------------
arch/arm64/kvm/ptdump.c | 4 ++--
arch/arm64/mm/hugetlbpage.c | 2 +-
arch/arm64/mm/ptdump.c | 8 ++++----
5 files changed, 16 insertions(+), 24 deletions(-)
--
2.25.1
More information about the linux-arm-kernel
mailing list