Commit e409b7f1 authored by Alexander Gordeev's avatar Alexander Gordeev

s390/smp,ptdump: add absolute lowcore markers

Add "Lowcore Area Start" and "Lowcore Area End" markers
that fence pages where absolute lowcore resides.
Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
parent 7d06fed7
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <linux/kasan.h> #include <linux/kasan.h>
#include <asm/ptdump.h> #include <asm/ptdump.h>
#include <asm/kasan.h> #include <asm/kasan.h>
#include <asm/abs_lowcore.h>
#include <asm/nospec-branch.h> #include <asm/nospec-branch.h>
#include <asm/sections.h> #include <asm/sections.h>
...@@ -39,6 +40,8 @@ enum address_markers_idx { ...@@ -39,6 +40,8 @@ enum address_markers_idx {
VMALLOC_END_NR, VMALLOC_END_NR,
MODULES_NR, MODULES_NR,
MODULES_END_NR, MODULES_END_NR,
ABS_LOWCORE_NR,
ABS_LOWCORE_END_NR,
}; };
static struct addr_marker address_markers[] = { static struct addr_marker address_markers[] = {
...@@ -62,6 +65,8 @@ static struct addr_marker address_markers[] = { ...@@ -62,6 +65,8 @@ static struct addr_marker address_markers[] = {
[VMALLOC_END_NR] = {0, "vmalloc Area End"}, [VMALLOC_END_NR] = {0, "vmalloc Area End"},
[MODULES_NR] = {0, "Modules Area Start"}, [MODULES_NR] = {0, "Modules Area Start"},
[MODULES_END_NR] = {0, "Modules Area End"}, [MODULES_END_NR] = {0, "Modules Area End"},
[ABS_LOWCORE_NR] = {0, "Lowcore Area Start"},
[ABS_LOWCORE_END_NR] = {0, "Lowcore Area End"},
{ -1, NULL } { -1, NULL }
}; };
...@@ -278,6 +283,8 @@ static int pt_dump_init(void) ...@@ -278,6 +283,8 @@ static int pt_dump_init(void)
address_markers[IDENTITY_AFTER_END_NR].start_address = ident_map_size; address_markers[IDENTITY_AFTER_END_NR].start_address = ident_map_size;
address_markers[MODULES_NR].start_address = MODULES_VADDR; address_markers[MODULES_NR].start_address = MODULES_VADDR;
address_markers[MODULES_END_NR].start_address = MODULES_END; 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_NR].start_address = (unsigned long) vmemmap;
address_markers[VMEMMAP_END_NR].start_address = (unsigned long)vmemmap + vmemmap_size; address_markers[VMEMMAP_END_NR].start_address = (unsigned long)vmemmap + vmemmap_size;
address_markers[VMALLOC_NR].start_address = VMALLOC_START; address_markers[VMALLOC_NR].start_address = VMALLOC_START;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment