----- Original Message -----
 I have recently sent a kernel patch upstream to add
'TCR_EL1.T1SZ' to
 vmcoreinfo for arm64 (see [0]), instead of VA_BITS_ACTUAL.
 
 'crash' can read the 'TCR_EL1.T1SZ' value from vmcoreinfo
 [which indicates the size offset of the memory region addressed by
 TTBR1_EL1] and hence can be used for determining the vabits_actual
 value. 
Thanks Bhupesh -- your patch has been queued for crash-7.2.8:
  
https://github.com/crash-utility/crash/commit/bfd9a651f9426d86250295ac875...
Dave
 
 [
0].http://lists.infradead.org/pipermail/kexec/2019-November/023962.html
 
 Cc: Dave Anderson <anderson(a)redhat.com>
 Cc: AKASHI Takahiro <takahiro.akashi(a)linaro.org>
 Cc: Prabhakar Kushwaha <prabhakar.pkin(a)gmail.com>
 Cc: crash-utility(a)redhat.com
 Signed-off-by: Bhupesh Sharma <bhsharma(a)redhat.com>
 ---
  arm64.c | 13 +++++++++++--
  1 file changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/arm64.c b/arm64.c
 index af7147d24e20..083491331985 100644
 --- a/arm64.c
 +++ b/arm64.c
 @@ -3856,8 +3856,17 @@ arm64_calc_VA_BITS(void)
  		} else if (ACTIVE())
  			error(FATAL, "cannot determine VA_BITS_ACTUAL: please use
  			/proc/kcore\n");
  		else {
 -			if ((string = pc->read_vmcoreinfo("NUMBER(VA_BITS_ACTUAL)"))) {
 -				value = atol(string);
 +			if ((string = pc->read_vmcoreinfo("NUMBER(tcr_el1_t1sz)"))) {
 +				/* See ARMv8 ARM for the description of
 +				 * TCR_EL1.T1SZ and how it can be used
 +				 * to calculate the vabits_actual
 +				 * supported by underlying kernel.
 +				 *
 +				 * Basically:
 +				 * vabits_actual = 64 - T1SZ;
 +				 */
 +				value = 64 - strtoll(string, NULL, 0);
 +				fprintf(fp,  "vmcoreinfo : vabits_actual: %ld\n", value);
  				free(string);
  				machdep->machspec->VA_BITS_ACTUAL = value;
  				machdep->machspec->VA_BITS = value;
 --
 2.7.4