crash/SOURCES/github_ac5a7889_CONFIG_ARM6...

30 lines
1.2 KiB
Diff
Raw Normal View History

2019-05-07 13:44:18 +00:00
commit ac5a7889d31bb37aa0687110ecea08837f8a66a8
Author: Dave Anderson <anderson@redhat.com>
Date: Fri Feb 8 10:48:30 2019 -0500
Support for configurable CONFIG_ARM64_PA_BITS values introduced
in kernel commit 982aa7c5f0861bf56b2412ca341a13f44c238ba4, titled
"arm64: add kconfig symbol to configure physical address size".
Without the patch, it is impossible to determine the value of
CONFIG_ARM64_PA_BITS, and will require a new MAX_PHYSMEM_BITS
vmcoreinfo entry to be exported. This patch reads that entry
during intitialization.
(anderson@redhat.com)
diff --git a/arm64.c b/arm64.c
index 2308612..b4d9b13 100644
--- a/arm64.c
+++ b/arm64.c
@@ -362,7 +362,10 @@ arm64_init(int when)
arm64_calc_virtual_memory_ranges();
machdep->section_size_bits = _SECTION_SIZE_BITS;
if (!machdep->max_physmem_bits) {
- if (machdep->machspec->VA_BITS == 52) /* guess */
+ if ((string = pc->read_vmcoreinfo("NUMBER(MAX_PHYSMEM_BITS)"))) {
+ machdep->max_physmem_bits = atol(string);
+ free(string);
+ } else if (machdep->machspec->VA_BITS == 52) /* guess */
machdep->max_physmem_bits = _MAX_PHYSMEM_BITS_52;
else if (THIS_KERNEL_VERSION >= LINUX(3,17,0))
machdep->max_physmem_bits = _MAX_PHYSMEM_BITS_3_17;