Merge tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[linux-2.6-block.git] / arch / arm64 / mm / dump.c
index f9271cb2f5e3d94a620946e4e36971b33a43f390..8404190fe2bd43cbc78fcc7f8b113bdce4213b88 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/seq_file.h>
 
 #include <asm/fixmap.h>
+#include <asm/kasan.h>
 #include <asm/memory.h>
 #include <asm/pgtable.h>
 #include <asm/pgtable-hwdef.h>
@@ -32,37 +33,25 @@ struct addr_marker {
        const char *name;
 };
 
-enum address_markers_idx {
-       MODULES_START_NR = 0,
-       MODULES_END_NR,
-       VMALLOC_START_NR,
-       VMALLOC_END_NR,
-#ifdef CONFIG_SPARSEMEM_VMEMMAP
-       VMEMMAP_START_NR,
-       VMEMMAP_END_NR,
+static const struct addr_marker address_markers[] = {
+#ifdef CONFIG_KASAN
+       { KASAN_SHADOW_START,           "Kasan shadow start" },
+       { KASAN_SHADOW_END,             "Kasan shadow end" },
 #endif
-       FIXADDR_START_NR,
-       FIXADDR_END_NR,
-       PCI_START_NR,
-       PCI_END_NR,
-       KERNEL_SPACE_NR,
-};
-
-static struct addr_marker address_markers[] = {
-       { MODULES_VADDR,        "Modules start" },
-       { MODULES_END,          "Modules end" },
-       { VMALLOC_START,        "vmalloc() Area" },
-       { VMALLOC_END,          "vmalloc() End" },
+       { MODULES_VADDR,                "Modules start" },
+       { MODULES_END,                  "Modules end" },
+       { VMALLOC_START,                "vmalloc() Area" },
+       { VMALLOC_END,                  "vmalloc() End" },
+       { FIXADDR_START,                "Fixmap start" },
+       { FIXADDR_TOP,                  "Fixmap end" },
+       { PCI_IO_START,                 "PCI I/O start" },
+       { PCI_IO_END,                   "PCI I/O end" },
 #ifdef CONFIG_SPARSEMEM_VMEMMAP
-       { 0,                    "vmemmap start" },
-       { 0,                    "vmemmap end" },
+       { VMEMMAP_START,                "vmemmap start" },
+       { VMEMMAP_START + VMEMMAP_SIZE, "vmemmap end" },
 #endif
-       { FIXADDR_START,        "Fixmap start" },
-       { FIXADDR_TOP,          "Fixmap end" },
-       { PCI_IO_START,         "PCI I/O start" },
-       { PCI_IO_END,           "PCI I/O end" },
-       { PAGE_OFFSET,          "Linear Mapping" },
-       { -1,                   NULL },
+       { PAGE_OFFSET,                  "Linear Mapping" },
+       { -1,                           NULL },
 };
 
 /*
@@ -347,13 +336,6 @@ static int ptdump_init(void)
                        for (j = 0; j < pg_level[i].num; j++)
                                pg_level[i].mask |= pg_level[i].bits[j].mask;
 
-#ifdef CONFIG_SPARSEMEM_VMEMMAP
-       address_markers[VMEMMAP_START_NR].start_address =
-                               (unsigned long)virt_to_page(PAGE_OFFSET);
-       address_markers[VMEMMAP_END_NR].start_address =
-                               (unsigned long)virt_to_page(high_memory);
-#endif
-
        pe = debugfs_create_file("kernel_page_tables", 0400, NULL, NULL,
                                 &ptdump_fops);
        return pe ? 0 : -ENOMEM;