x86: mm: create symbolic index into address_markers array
PATCH 1/4 x86: mm: create symbolic index into address_markers array
Without this, adding entries into the address_markers array means adding more and more of an #ifdef maze in pt_dump_init(). By using indices, we can keep it a bit saner.
Signed-off-by Andres Salomon <[email protected]>
--- arch/x86/mm/dump_pagetables.c | 32 ++++++++++++++++++++++++++------ 1 files changed, 26 insertions(+), 6 deletions(-)
arch/x86/mm/dump_pagetables.c +26 -6
@@ -37,6 +37,28 @@ struct addr_marker {const char *name; }; +/* indices for address_markers; keep sync'd w/ address_markers below */ +enum address_markers_idx { +USER_SPACE_NR =0 , +#ifdef CONFIG_X86_64 +KERNEL_SPACE_NR , +LOW_KERNEL_NR , +VMALLOC_START_NR , +VMEMMAP_START_NR , +HIGH_KERNEL_NR , +MODULES_VADDR_NR , +MODULES_END_NR , +#else +KERNEL_SPACE_NR , +VMALLOC_START_NR , + VMALLOC_END_NR, +# ifdef CONFIG_HIGHMEM +PKMAP_BASE_NR , +# endif +FIXADDR_START_NR , +#endif +}; +/* Address space markers hints */ static struct addr_marker address_markers[] = { {0 ,"User Space" },
@@ -331,14 +353,12 @@ static int pt_dump_init(void)#ifdef CONFIG_X86_32 /* Not a compile-time constant on x86-32 */ - address_markers[2 ].start_address =VMALLOC_START ; - address_markers[3 ].start_address =VMALLOC_END ; + address_markers[VMALLOC_START_NR ].start_address =VMALLOC_START ; + address_markers[VMALLOC_END_NR ].start_address =VMALLOC_END ;# ifdef CONFIG_HIGHMEM - address_markers[4 ].start_address =PKMAP_BASE ; - address_markers[5 ].start_address =FIXADDR_START ; -# else - address_markers[4 ].start_address =FIXADDR_START ; + address_markers[PKMAP_BASE_NR ].start_address =PKMAP_BASE ;# endif + address_markers[FIXADDR_START_NR ].start_address =FIXADDR_START ;#endif pe = debugfs_create_file("kernel_page_tables", 0600, NULL, NULL,
Signature · 1 line
1.5.6.5