[PATCH] kexec/arm64: Add support for ARMv8.2 (large space addressing) 52-bit VA extensions
Bhupesh Sharma
bhsharma at redhat.com
Mon Sep 28 16:32:32 EDT 2020
Hello Simon,
Thanks for your review. Please see my comments in-line:
On Fri, Sep 25, 2020 at 11:37 AM Simon Horman <horms at verge.net.au> wrote:
>
> Hi Bhupesh,
>
> thanks for your patch.
>
> ...
>
> > +static int get_vabits_actual_from_id_aa64mmfr2_el1(void)
> > +{
> > + int l_vabits_actual;
> > + unsigned long val;
> > +
> > + /* Check if ID_AA64MMFR2_EL1 CPU-ID register indicates
> > + * ARMv8.2/LVA support:
> > + * VARange, bits [19:16]
> > + * From ARMv8.2:
> > + * Indicates support for a larger virtual address.
> > + * Defined values are:
> > + * 0b0000 VMSAv8-64 supports 48-bit VAs.
> > + * 0b0001 VMSAv8-64 supports 52-bit VAs when using the 64KB
> > + * page size. The other translation granules support
> > + * 48-bit VAs.
> > + *
> > + * See ARMv8 ARM for more details.
> > + */
> > + if (!(getauxval(AT_HWCAP) & HWCAP_CPUID)) {
>
> Likely my build environment wants updating, but the above does not seem
> to build in my (aged) environment.
>
> $ aarch64-linux-gnu-gcc --version
> aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011
> Copyright (C) 2017 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> $ aarch64-linux-gnu-gcc -Wall -Wextra -Wpointer-arith -Wwrite-strings -Wformat -O2 -fomit-frame-pointer -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -I/home/horms/local/opt/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/include -I./include -I./util_lib/include -Iinclude/ -I ./kexec/ -I./kexec/libfdt -I./kexec/arch/arm64/include -c -MD -o kexec/arch/arm64/kexec-uImage-arm64.o kexec/arch/arm64/kexec-uImage-arm64.c
> kexec/arch/arm64/common-arm64.c: In function ‘get_vabits_actual_from_id_aa64mmfr2_el1’:
> kexec/arch/arm64/common-arm64.c:133:30: error: ‘HWCAP_CPUID’ undeclared (first use in this function); did you mean ‘HWCAP_CRC32’?
> if (!(getauxval(AT_HWCAP) & HWCAP_CPUID)) {
>
> ...
Ok, let me have a look at the compilation issue with aarch64-gcc-7
version. I will soon back with updates.
Thanks,
Bhupesh
More information about the kexec
mailing list