Makes several improvements to (arm64) ptdump debugging, including: - support note_page on intermediate table entries - (arm64) print intermediate entries and add an array for their specific attributes - (arm64) bitfield definitions and printing for hierarchical access control bits - (arm64) adjust the entry ranges to remove the implicit exclusive upper bound - (arm64) indent page table by level while maintaining attribute alignment - (arm64) improve documentation clarity, detail, and precision Thank you again to the maintainers for their review of this patch. A comparison of the differences in output is provided here: github.com/maxwell-bland/linux-patch-data/tree/main/ptdump-non-leaf New in v5: - Clean up and fix ptdump.c calls to reference right directory level - Change "pxd" bit specifier for non-leaf directories to tbl_bits, introduce a proper delineation between blk_bits and tbl_bits, where table entries will no longer print attributes that are specific to blocks - Because we now support printing details on table descriptors, add encodings for the ARMv8 APTable bits - Make attributes uniformly capitalized, make their explanations more precise - Fix typos v4: https://lore.kernel.org/all/aw675dhrbplkitj3szjut2vyidsxokogkjj3vi76wl2x4wybtg@5rhk5ca5zpmv/ - Inclusive upper bounds on range specifications - Splits commit into multiple smaller commits and separates cosmetic, documentation, and logic changes - Updates documentation more sensibly - Fixes bug in size computation and handles ULONG_MAX bound overflow v3: https://lore.kernel.org/all/fik5ys53dbkpkl22o4s7sw7cxi6dqjcpm2f3kno5tyms73jm5y@buo4jsktsnrt/ - Added tabulation to delineate entries - Fixed formatting issues with mailer and rebased to mm/linus v2: https://lore.kernel.org/r/20240423142307.495726312-1-mbland@xxxxxxxxxxxx - Rebased onto linux-next/akpm (the incorrect branch) v1: https://lore.kernel.org/all/20240423121820.874441838-1-mbland@xxxxxxxxxxxx/ Maxwell Bland (6): mm: add ARCH_SUPPORTS_NON_LEAF_PTDUMP arm64: add APTable encoding to pagetable defs arm64: table descriptor ptdump support arm64: indent ptdump by level, aligning attributes arm64: exclusive upper bound for ptdump entries arm64: add attrs and format to ptdump document Documentation/arch/arm64/ptdump.rst | 131 ++++++++++----------- arch/arm64/Kconfig | 1 + arch/arm64/include/asm/pgtable-hwdef.h | 6 + arch/arm64/mm/ptdump.c | 150 +++++++++++++++++++------ mm/Kconfig.debug | 8 ++ mm/ptdump.c | 26 +++-- 6 files changed, 214 insertions(+), 108 deletions(-) -- 2.43.0