arm64: Unconditionally set virtual cpu id registers
authorVladimir Murzin <vladimir.murzin@arm.com>
Tue, 16 Mar 2021 13:43:19 +0000 (13:43 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Mar 2021 09:51:13 +0000 (10:51 +0100)
Commit 78869f0f0552 ("arm64: Extract parts of el2_setup into a macro")
reorganized el2 setup in such way that virtual cpu id registers set
only in nVHE, yet they used (and need) to be set irrespective VHE
support.

Fixes: 78869f0f0552 ("arm64: Extract parts of el2_setup into a macro")
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/include/asm/el2_setup.h

index a7f5a1bbc8aca761cb4a24a8f0e365eb570aae16..f97e4a4595618fb3e843e44f90909d4c06d93dcc 100644 (file)
 .endm
 
 /* Virtual CPU ID registers */
-.macro __init_el2_nvhe_idregs
+.macro __init_el2_idregs
        mrs     x0, midr_el1
        mrs     x1, mpidr_el1
        msr     vpidr_el2, x0
        __init_el2_stage2
        __init_el2_gicv3
        __init_el2_hstr
+       __init_el2_idregs
 
        /*
         * When VHE is not in use, early init of EL2 needs to be done here.
         * will be done via the _EL1 system register aliases in __cpu_setup.
         */
 .ifeqs "\mode", "nvhe"
-       __init_el2_nvhe_idregs
        __init_el2_nvhe_cptr
        __init_el2_nvhe_sve
        __init_el2_nvhe_prepare_eret