]> git.baikalelectronics.ru Git - kernel.git/commitdiff
s390/smp,ptdump: add absolute lowcore markers
authorAlexander Gordeev <agordeev@linux.ibm.com>
Wed, 20 Jul 2022 06:32:13 +0000 (08:32 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 28 Jul 2022 16:05:24 +0000 (18:05 +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>
arch/s390/mm/dump_pagetables.c

index 9f9af5298dd6e33bdd7f4f698ed8e81ac074d29f..393d6ef4589e3a09a402e5e3e834d6ca2bddaa91 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>
 
@@ -39,6 +40,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[] = {
@@ -62,6 +65,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 }
 };
 
@@ -278,6 +283,8 @@ static int pt_dump_init(void)
        address_markers[IDENTITY_AFTER_END_NR].start_address = ident_map_size;
        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;