Hi Kazu

---
                  machspec: 563535cf4cc0
                   struct_page_size: 0
                                VA_BITS: 39
  CONFIG_ARM64_VA_BITS: 39
                             VA_START: fffffffffc000000
                VA_BITS_ACTUAL: 27     // invalid value
CONFIG_ARM64_KERNELPACMASK: (unused)
                      userspace_top: 0000000008000000    // invalid value

crash> vabits_actual
vabits_actual = $1 = 39

Thanks,
Guanyou

Guanyou Chen <chenguanyou9338@gmail.com> 于2024年3月28日周四 10:48写道:
Hi Kazu, Lianbo

vmcoreinfo "tcr_el1_t1sz" should be a decimal number.

Before:
vmcoreinfo : vabits_actual: 27

After:
vmcoreinfo : vabits_actual: 39

Fixes: 28f0833037b2 ("Fix arm64: rewrite the arm64_get_vmcoreinfo_ul to arm64_get_vmcoreinfo")

Signed-off-by: chenguanyou <chenguanyou@xiaomi.com>
---
 arm64.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arm64.c b/arm64.c
index af0e0d7..e36c723 100644
--- a/arm64.c
+++ b/arm64.c
@@ -4656,8 +4656,8 @@ arm64_set_va_bits_by_tcr(void)
 {
    ulong value;

-   if (arm64_get_vmcoreinfo(&value, "NUMBER(TCR_EL1_T1SZ)", NUM_HEX) ||
-       arm64_get_vmcoreinfo(&value, "NUMBER(tcr_el1_t1sz)", NUM_HEX)) {
+   if (arm64_get_vmcoreinfo(&value, "NUMBER(TCR_EL1_T1SZ)", NUM_DEC) ||
+       arm64_get_vmcoreinfo(&value, "NUMBER(tcr_el1_t1sz)", NUM_DEC)) {
        /* See ARMv8 ARM for the description of
         * TCR_EL1.T1SZ and how it can be used
         * to calculate the vabits_actual
--
2.39.0

Thanks,
Guanyou