On 2022/12/08 13:25, Pavankumar Kondeti wrote: > After the commit 0d9b1ffefabe ("arm64: mm: make vabits_actual > a build time constant if possible") introduced in v5.19 > Linux kernel, the crash will not find vabits_actual symbol > if if VA_BITS <= 48. Add a fallback option to initialize VA_BITS > based on the user supplied machdep option. > > Tested ramdumps loading in both 6.0 and 5.15 kernels. > > Signed-off-by: Pavankumar Kondeti <quic_pkondeti@xxxxxxxxxxx> This looks good to me. Acked-by: Kazuhito Hagio <k-hagio-ab@xxxxxxx> This is a memo about vabits_actual for future reference... if VA_BITS <= 48: ramdump (no vmcoreinfo) ver < 5.4 ... use old calculation 5.4 <= ver < 5.19 ... require "-m vabits_actual=N" 5.19 <= ver ... require "-m vabits_actual=N" <-- this patch adds vmcore (with vmcoreinfo) ver < 5.4 ... use old calculation 5.4 <= ver < 5.9 ... guess from NUMBER(VA_BITS) or "-m vabits_actual" 5.9 <= ver ... use NUMBER(TCR_EL1_T1SZ) /proc/kcore ver < 5.4 ... use old calculation 5.4 <= ver < 5.19 ... read vabits_actual 5.19 <= ver ... use NUMBER(TCR_EL1_T1SZ) # maybe bugs here :) Thanks, Kazu > --- > arm64.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arm64.c b/arm64.c > index c3e26a3..7125458 100644 > --- a/arm64.c > +++ b/arm64.c > @@ -4671,6 +4671,10 @@ arm64_calc_VA_BITS(void) > return; > } else if (arm64_set_va_bits_by_tcr()) { > return; > + } else if (machdep->machspec->VA_BITS_ACTUAL) { > + machdep->machspec->VA_BITS = machdep->machspec->VA_BITS_ACTUAL; > + machdep->machspec->VA_START = _VA_START(machdep->machspec->VA_BITS_ACTUAL); > + return; > } > > if (!(sp = symbol_search("swapper_pg_dir")) && -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/crash-utility Contribution Guidelines: https://github.com/crash-utility/crash/wiki