You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.2 KiB
29 lines
1.2 KiB
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;
|
|
|