[PATCH] makedumpfile: Support ARM64
Pratyush Anand
panand at redhat.com
Thu Aug 20 04:21:50 PDT 2015
Hi Sameer,
On 19/08/2015:11:16:07 PM, sgoel at codeaurora.org wrote:
> Hi Pratyush,
>
> I made the following changes to the code:
>
> KVBASE was being mapped to page_offset, so the mem_map that I saw using
> the kmem command in crash did not seem to audit with the data generated by
> make dumpfile. I changed this to vmalloc_start.
I am not sure if KVBASE should be VMALLOC_START. May be Atsushi can comment on
that. But if so, did you correct info->page_offset definition in
get_machdep_info_arm64? Something like following...
diff --git a/arch/arm64.c b/arch/arm64.c
index 4d50012529c3..a94a4ba16dd5 100644
--- a/arch/arm64.c
+++ b/arch/arm64.c
@@ -199,7 +199,8 @@ get_machdep_info_arm64(void)
{
info->max_physmem_bits = PHYS_MASK_SHIFT;
info->section_size_bits = SECTIONS_SIZE_BITS;
- info->page_offset = KVBASE;
+ info->page_offset = SYMBOL(_stext)
+ & (0xffffffffffffffffUL << (VA_BITS - 1));
info->vmalloc_start = 0xffffffffffffffffUL << VA_BITS;
info->vmalloc_end = PAGE_OFFSET - PUD_SIZE - VMEMMAP_SIZE - 0x10000;
info->vmemmap_start = VMALLOC_END + 0x10000;
diff --git a/makedumpfile.h b/makedumpfile.h
index c33b5f321d9a..f7d6fbefe98e 100644
--- a/makedumpfile.h
+++ b/makedumpfile.h
@@ -488,8 +488,7 @@ int get_va_bits_arm64(void);
#define ARM64_PGTABLE_LEVELS get_pgtable_level_arm64()
#define VA_BITS get_va_bits_arm64()
#define PAGE_SHIFT get_page_shift_arm64()
-#define KVBASE_MASK (0xffffffffffffffffUL << (VA_BITS - 1))
-#define KVBASE (SYMBOL(_stext) & KVBASE_MASK)
+#define KVBASE VMALLOC_START
#endif /* aarch64 */
#ifdef __arm__
~Pratyush
More information about the kexec
mailing list