aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/mm/dump_pagetables.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/mm/dump_pagetables.c')
-rw-r--r--arch/s390/mm/dump_pagetables.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/s390/mm/dump_pagetables.c b/arch/s390/mm/dump_pagetables.c
index cd1c62d160ed..cbc6668acb85 100644
--- a/arch/s390/mm/dump_pagetables.c
+++ b/arch/s390/mm/dump_pagetables.c
@@ -18,6 +18,9 @@ enum address_markers_idx {
18 KERNEL_END_NR, 18 KERNEL_END_NR,
19 VMEMMAP_NR, 19 VMEMMAP_NR,
20 VMALLOC_NR, 20 VMALLOC_NR,
21#ifdef CONFIG_64BIT
22 MODULES_NR,
23#endif
21}; 24};
22 25
23static struct addr_marker address_markers[] = { 26static struct addr_marker address_markers[] = {
@@ -26,6 +29,9 @@ static struct addr_marker address_markers[] = {
26 [KERNEL_END_NR] = {(unsigned long)&_end, "Kernel Image End"}, 29 [KERNEL_END_NR] = {(unsigned long)&_end, "Kernel Image End"},
27 [VMEMMAP_NR] = {0, "vmemmap Area"}, 30 [VMEMMAP_NR] = {0, "vmemmap Area"},
28 [VMALLOC_NR] = {0, "vmalloc Area"}, 31 [VMALLOC_NR] = {0, "vmalloc Area"},
32#ifdef CONFIG_64BIT
33 [MODULES_NR] = {0, "Modules Area"},
34#endif
29 { -1, NULL } 35 { -1, NULL }
30}; 36};
31 37
@@ -205,11 +211,12 @@ static int pt_dump_init(void)
205 * kernel ASCE. We need this to keep the page table walker functions 211 * kernel ASCE. We need this to keep the page table walker functions
206 * from accessing non-existent entries. 212 * from accessing non-existent entries.
207 */ 213 */
208#ifdef CONFIG_64BIT 214#ifdef CONFIG_32BIT
215 max_addr = 1UL << 31;
216#else
209 max_addr = (S390_lowcore.kernel_asce & _REGION_ENTRY_TYPE_MASK) >> 2; 217 max_addr = (S390_lowcore.kernel_asce & _REGION_ENTRY_TYPE_MASK) >> 2;
210 max_addr = 1UL << (max_addr * 11 + 31); 218 max_addr = 1UL << (max_addr * 11 + 31);
211#else 219 address_markers[MODULES_NR].start_address = MODULES_VADDR;
212 max_addr = 1UL << 31;
213#endif 220#endif
214 address_markers[VMEMMAP_NR].start_address = (unsigned long) vmemmap; 221 address_markers[VMEMMAP_NR].start_address = (unsigned long) vmemmap;
215 address_markers[VMALLOC_NR].start_address = VMALLOC_START; 222 address_markers[VMALLOC_NR].start_address = VMALLOC_START;