Le 26/02/2025 à 13:24, Anshuman Khandual a écrit :
Platforms subscribe into generic ptdump implementation via GENERIC_PTDUMP.
But generic ptdump gets enabled via PTDUMP_CORE. These configs combination
is confusing as they sound very similar and does not differentiate between
platform's feature subscription and feature enablement for ptdump. Rename
the configs as ARCH_HAS_PTDUMP and PTDUMP making it more clear and improve
readability.

Cc: Catalin Marinas <catalin.mari...@arm.com>
Cc: Will Deacon <w...@kernel.org>
Cc: Jonathan Corbet <cor...@lwn.net>
Cc: Marc Zyngier <m...@kernel.org>
Cc: Michael Ellerman <m...@ellerman.id.au>
Cc: Nicholas Piggin <npig...@gmail.com>
Cc: Paul Walmsley <paul.walms...@sifive.com>
Cc: Palmer Dabbelt <pal...@dabbelt.com>
Cc: Heiko Carstens <h...@linux.ibm.com>
Cc: Vasily Gorbik <g...@linux.ibm.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Ingo Molnar <mi...@redhat.com>
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-...@vger.kernel.org
Cc: linux-ker...@vger.kernel.org
Cc: kvm...@lists.linux.dev
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-ri...@lists.infradead.org
Cc: linux-s...@vger.kernel.org
Cc: linux...@kvack.org
Signed-off-by: Anshuman Khandual <anshuman.khand...@arm.com>

Reviewed-by: Christophe Leroy <christophe.le...@csgroup.eu> (powerpc)

---
  arch/arm64/Kconfig              |  2 +-
  arch/arm64/include/asm/ptdump.h |  4 ++--
  arch/arm64/kvm/Kconfig          |  4 ++--
  arch/arm64/mm/Makefile          |  2 +-
  arch/powerpc/Kconfig            |  2 +-
  arch/powerpc/mm/Makefile        |  2 +-
  arch/riscv/Kconfig              |  2 +-
  arch/riscv/mm/Makefile          |  2 +-
  arch/s390/Kconfig               |  2 +-
  arch/s390/mm/Makefile           |  2 +-
  arch/x86/Kconfig                |  2 +-
  arch/x86/Kconfig.debug          |  2 +-
  arch/x86/mm/Makefile            |  2 +-
  mm/Kconfig.debug                | 12 ++++++------
  mm/Makefile                     |  2 +-
  15 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 940343beb3d4..5cf688ee01b7 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -41,6 +41,7 @@ config ARM64
        select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
        select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
        select ARCH_HAS_NONLEAF_PMD_YOUNG if ARM64_HAFT
+       select ARCH_HAS_PTDUMP
        select ARCH_HAS_PTE_DEVMAP
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_HW_PTE_YOUNG
@@ -157,7 +158,6 @@ config ARM64
        select GENERIC_IRQ_SHOW_LEVEL
        select GENERIC_LIB_DEVMEM_IS_ALLOWED
        select GENERIC_PCI_IOMAP
-       select GENERIC_PTDUMP
        select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
diff --git a/arch/arm64/include/asm/ptdump.h b/arch/arm64/include/asm/ptdump.h
index 6cf4aae05219..b2931d1ae0fb 100644
--- a/arch/arm64/include/asm/ptdump.h
+++ b/arch/arm64/include/asm/ptdump.h
@@ -7,7 +7,7 @@
#include <linux/ptdump.h> -#ifdef CONFIG_PTDUMP_CORE
+#ifdef CONFIG_PTDUMP
#include <linux/mm_types.h>
  #include <linux/seq_file.h>
@@ -70,6 +70,6 @@ static inline void ptdump_debugfs_register(struct ptdump_info 
*info,
  #else
  static inline void note_page(struct ptdump_state *pt_st, unsigned long addr,
                             int level, u64 val) { }
-#endif /* CONFIG_PTDUMP_CORE */
+#endif /* CONFIG_PTDUMP */
#endif /* __ASM_PTDUMP_H */
diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
index ead632ad01b4..096e45acadb2 100644
--- a/arch/arm64/kvm/Kconfig
+++ b/arch/arm64/kvm/Kconfig
@@ -71,8 +71,8 @@ config PTDUMP_STAGE2_DEBUGFS
        depends on KVM
        depends on DEBUG_KERNEL
        depends on DEBUG_FS
-       depends on GENERIC_PTDUMP
-       select PTDUMP_CORE
+       depends on ARCH_HAS_PTDUMP
+       select PTDUMP
        default n
        help
          Say Y here if you want to show the stage-2 kernel pagetables
diff --git a/arch/arm64/mm/Makefile b/arch/arm64/mm/Makefile
index fc92170a8f37..c26489cf96cd 100644
--- a/arch/arm64/mm/Makefile
+++ b/arch/arm64/mm/Makefile
@@ -5,7 +5,7 @@ obj-y                           := dma-mapping.o extable.o 
fault.o init.o \
                                   context.o proc.o pageattr.o fixmap.o
  obj-$(CONFIG_ARM64_CONTPTE)   += contpte.o
  obj-$(CONFIG_HUGETLB_PAGE)    += hugetlbpage.o
-obj-$(CONFIG_PTDUMP_CORE)      += ptdump.o
+obj-$(CONFIG_PTDUMP)           += ptdump.o
  obj-$(CONFIG_PTDUMP_DEBUGFS)  += ptdump_debugfs.o
  obj-$(CONFIG_TRANS_TABLE)     += trans_pgd.o
  obj-$(CONFIG_TRANS_TABLE)     += trans_pgd-asm.o
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 424f188e62d9..6f1ae41dcf85 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -148,6 +148,7 @@ config PPC
        select ARCH_HAS_PHYS_TO_DMA
        select ARCH_HAS_PMEM_API
        select ARCH_HAS_PREEMPT_LAZY
+       select ARCH_HAS_PTDUMP
        select ARCH_HAS_PTE_DEVMAP              if PPC_BOOK3S_64
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_SCALED_CPUTIME          if VIRT_CPU_ACCOUNTING_NATIVE 
&& PPC_BOOK3S_64
@@ -206,7 +207,6 @@ config PPC
        select GENERIC_IRQ_SHOW
        select GENERIC_IRQ_SHOW_LEVEL
        select GENERIC_PCI_IOMAP                if PCI
-       select GENERIC_PTDUMP
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
        select GENERIC_VDSO_TIME_NS
diff --git a/arch/powerpc/mm/Makefile b/arch/powerpc/mm/Makefile
index 0fe2f085c05a..8c1582b2987d 100644
--- a/arch/powerpc/mm/Makefile
+++ b/arch/powerpc/mm/Makefile
@@ -15,5 +15,5 @@ obj-$(CONFIG_NUMA) += numa.o
  obj-$(CONFIG_HUGETLB_PAGE)    += hugetlbpage.o
  obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o
  obj-$(CONFIG_PPC_COPRO_BASE)  += copro_fault.o
-obj-$(CONFIG_PTDUMP_CORE)      += ptdump/
+obj-$(CONFIG_PTDUMP)           += ptdump/
  obj-$(CONFIG_KASAN)           += kasan/
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 7612c52e9b1e..353cf41d01f4 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -43,6 +43,7 @@ config RISCV
        select ARCH_HAS_PMEM_API
        select ARCH_HAS_PREEMPT_LAZY
        select ARCH_HAS_PREPARE_SYNC_CORE_CMD
+       select ARCH_HAS_PTDUMP if MMU
        select ARCH_HAS_PTE_DEVMAP if 64BIT && MMU
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_SET_DIRECT_MAP if MMU
@@ -112,7 +113,6 @@ config RISCV
        select GENERIC_IRQ_SHOW_LEVEL
        select GENERIC_LIB_DEVMEM_IS_ALLOWED
        select GENERIC_PCI_IOMAP
-       select GENERIC_PTDUMP if MMU
        select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL if MMU && 64BIT
diff --git a/arch/riscv/mm/Makefile b/arch/riscv/mm/Makefile
index cbe4d775ef56..b916a68d324a 100644
--- a/arch/riscv/mm/Makefile
+++ b/arch/riscv/mm/Makefile
@@ -19,7 +19,7 @@ obj-y += context.o
  obj-y += pmem.o
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
-obj-$(CONFIG_PTDUMP_CORE) += ptdump.o
+obj-$(CONFIG_PTDUMP) += ptdump.o
  obj-$(CONFIG_KASAN)   += kasan_init.o
ifdef CONFIG_KASAN
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 9c9ec08d78c7..dd9dd2f8e673 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -96,6 +96,7 @@ config S390
        select ARCH_HAS_MEM_ENCRYPT
        select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
        select ARCH_HAS_PREEMPT_LAZY
+       select ARCH_HAS_PTDUMP
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_SCALED_CPUTIME
        select ARCH_HAS_SET_DIRECT_MAP
@@ -163,7 +164,6 @@ config S390
        select GENERIC_CPU_VULNERABILITIES
        select GENERIC_ENTRY
        select GENERIC_GETTIMEOFDAY
-       select GENERIC_PTDUMP
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
        select GENERIC_VDSO_TIME_NS
diff --git a/arch/s390/mm/Makefile b/arch/s390/mm/Makefile
index f6c2db7a8669..9726b91fe7e4 100644
--- a/arch/s390/mm/Makefile
+++ b/arch/s390/mm/Makefile
@@ -9,6 +9,6 @@ obj-y           += page-states.o pageattr.o pgtable.o pgalloc.o 
extable.o
  obj-$(CONFIG_CMM)             += cmm.o
  obj-$(CONFIG_DEBUG_VIRTUAL)   += physaddr.o
  obj-$(CONFIG_HUGETLB_PAGE)    += hugetlbpage.o
-obj-$(CONFIG_PTDUMP_CORE)      += dump_pagetables.o
+obj-$(CONFIG_PTDUMP)           += dump_pagetables.o
  obj-$(CONFIG_PGSTE)           += gmap.o
  obj-$(CONFIG_PFAULT)          += pfault.o
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index be2c311f5118..39ecafffc7e3 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -26,6 +26,7 @@ config X86_64
        depends on 64BIT
        # Options that are inherently 64-bit kernel only:
        select ARCH_HAS_GIGANTIC_PAGE
+       select ARCH_HAS_PTDUMP
        select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
        select ARCH_SUPPORTS_PER_VMA_LOCK
        select ARCH_SUPPORTS_HUGE_PFNMAP if TRANSPARENT_HUGEPAGE
@@ -174,7 +175,6 @@ config X86
        select GENERIC_IRQ_RESERVATION_MODE
        select GENERIC_IRQ_SHOW
        select GENERIC_PENDING_IRQ              if SMP
-       select GENERIC_PTDUMP
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
        select GENERIC_GETTIMEOFDAY
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 1eb4d23cdaae..c95c3aaadf97 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -59,7 +59,7 @@ config EARLY_PRINTK_USB_XDBC
  config EFI_PGT_DUMP
        bool "Dump the EFI pagetable"
        depends on EFI
-       select PTDUMP_CORE
+       select PTDUMP
        help
          Enable this if you want to dump the EFI page table before
          enabling virtual mode. This can be used to debug miscellaneous
diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
index 690fbf48e853..e0c99a8760ca 100644
--- a/arch/x86/mm/Makefile
+++ b/arch/x86/mm/Makefile
@@ -39,7 +39,7 @@ CFLAGS_fault.o := -I $(src)/../include/asm/trace
  obj-$(CONFIG_X86_32)          += pgtable_32.o iomap_32.o
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
-obj-$(CONFIG_PTDUMP_CORE)      += dump_pagetables.o
+obj-$(CONFIG_PTDUMP)           += dump_pagetables.o
  obj-$(CONFIG_PTDUMP_DEBUGFS)  += debug_pagetables.o
obj-$(CONFIG_HIGHMEM) += highmem_32.o
diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug
index a51a1149909a..32b65073d0cc 100644
--- a/mm/Kconfig.debug
+++ b/mm/Kconfig.debug
@@ -186,9 +186,9 @@ config ARCH_HAS_DEBUG_WX
  config DEBUG_WX
        bool "Warn on W+X mappings at boot"
        depends on ARCH_HAS_DEBUG_WX
-       depends on GENERIC_PTDUMP
+       depends on ARCH_HAS_PTDUMP
        depends on MMU
-       select PTDUMP_CORE
+       select PTDUMP
        help
          Generate a warning if any W+X mappings are found at boot.
@@ -213,18 +213,18 @@ config DEBUG_WX If in doubt, say "Y". -config GENERIC_PTDUMP
+config ARCH_HAS_PTDUMP
        bool
-config PTDUMP_CORE
+config PTDUMP
        bool
config PTDUMP_DEBUGFS
        bool "Export kernel pagetable layout to userspace via debugfs"
        depends on DEBUG_KERNEL
        depends on DEBUG_FS
-       depends on GENERIC_PTDUMP
-       select PTDUMP_CORE
+       depends on ARCH_HAS_PTDUMP
+       select PTDUMP
        help
          Say Y here if you want to show the kernel pagetable layout in a
          debugfs file. This information is only useful for kernel developers
diff --git a/mm/Makefile b/mm/Makefile
index 850386a67b3e..26dfecd4d396 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -138,7 +138,7 @@ obj-$(CONFIG_ZONE_DEVICE) += memremap.o
  obj-$(CONFIG_HMM_MIRROR) += hmm.o
  obj-$(CONFIG_MEMFD_CREATE) += memfd.o
  obj-$(CONFIG_MAPPING_DIRTY_HELPERS) += mapping_dirty_helpers.o
-obj-$(CONFIG_PTDUMP_CORE) += ptdump.o
+obj-$(CONFIG_PTDUMP) += ptdump.o
  obj-$(CONFIG_PAGE_REPORTING) += page_reporting.o
  obj-$(CONFIG_IO_MAPPING) += io-mapping.o
  obj-$(CONFIG_HAVE_BOOTMEM_INFO_NODE) += bootmem_info.o


Reply via email to