s390/smp,ptdump: add absolute lowcore markers
authorAlexander Gordeev <agordeev@linux.ibm.com>
Wed, 20 Jul 2022 06:32:13 +0000 (08:32 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 14 Sep 2022 14:46:00 +0000 (16:46 +0200)
Add "Lowcore Area Start" and "Lowcore Area End" markers
that fence pages where absolute lowcore resides.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/mm/dump_pagetables.c

index 4250861f90f5b7fa37d594f1193c67ec5018fbdf..4e2aa56cf9fdb0afdd48b743396b08e9ec9edd47 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/kasan.h>
 #include <asm/ptdump.h>
 #include <asm/kasan.h>
+#include <asm/abs_lowcore.h>
 #include <asm/nospec-branch.h>
 #include <asm/sections.h>
 
@@ -41,6 +42,8 @@ enum address_markers_idx {
        VMALLOC_END_NR,
        MODULES_NR,
        MODULES_END_NR,
+       ABS_LOWCORE_NR,
+       ABS_LOWCORE_END_NR,
 };
 
 static struct addr_marker address_markers[] = {
@@ -66,6 +69,8 @@ static struct addr_marker address_markers[] = {
        [VMALLOC_END_NR]        = {0, "vmalloc Area End"},
        [MODULES_NR]            = {0, "Modules Area Start"},
        [MODULES_END_NR]        = {0, "Modules Area End"},
+       [ABS_LOWCORE_NR]        = {0, "Lowcore Area Start"},
+       [ABS_LOWCORE_END_NR]    = {0, "Lowcore Area End"},
        { -1, NULL }
 };
 
@@ -284,6 +289,8 @@ static int pt_dump_init(void)
        address_markers[AMODE31_END_NR].start_address = __eamode31;
        address_markers[MODULES_NR].start_address = MODULES_VADDR;
        address_markers[MODULES_END_NR].start_address = MODULES_END;
+       address_markers[ABS_LOWCORE_NR].start_address = __abs_lowcore;
+       address_markers[ABS_LOWCORE_END_NR].start_address = __abs_lowcore + ABS_LOWCORE_MAP_SIZE;
        address_markers[VMEMMAP_NR].start_address = (unsigned long) vmemmap;
        address_markers[VMEMMAP_END_NR].start_address = (unsigned long)vmemmap + vmemmap_size;
        address_markers[VMALLOC_NR].start_address = VMALLOC_START;