summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kvm/hyp-init.S
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2015-01-29 13:19:45 +0000
committerMarc Zyngier <marc.zyngier@arm.com>2016-02-29 18:34:15 +0000
commit3a3604bc5eb4ae21ec95b13fdd15959e8f70c434 (patch)
tree2893ec1ae57ef923c1bfe4b8034acbc3b64f3096 /arch/arm64/kvm/hyp-init.S
parent57c841f131ef295b583365d2fddd6b0d16e82c10 (diff)
downloadlinux-3a3604bc5eb4ae21ec95b13fdd15959e8f70c434.tar.gz
linux-3a3604bc5eb4ae21ec95b13fdd15959e8f70c434.tar.bz2
linux-3a3604bc5eb4ae21ec95b13fdd15959e8f70c434.zip
arm64: KVM: Switch to C-based stage2 init
There is no real need to leave the stage2 initialization as part of the early HYP bootstrap, and we can easily postpone it to the point where we can safely run C code. This will help VHE, which doesn't need any of this bootstrap. Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/kvm/hyp-init.S')
-rw-r--r--arch/arm64/kvm/hyp-init.S15
1 files changed, 1 insertions, 14 deletions
diff --git a/arch/arm64/kvm/hyp-init.S b/arch/arm64/kvm/hyp-init.S
index d073b5a216f7..7d8747c6427c 100644
--- a/arch/arm64/kvm/hyp-init.S
+++ b/arch/arm64/kvm/hyp-init.S
@@ -87,26 +87,13 @@ __do_hyp_init:
#endif
/*
* Read the PARange bits from ID_AA64MMFR0_EL1 and set the PS bits in
- * TCR_EL2 and VTCR_EL2.
+ * TCR_EL2.
*/
mrs x5, ID_AA64MMFR0_EL1
bfi x4, x5, #16, #3
msr tcr_el2, x4
- ldr x4, =VTCR_EL2_FLAGS
- bfi x4, x5, #16, #3
- /*
- * Read the VMIDBits bits from ID_AA64MMFR1_EL1 and set the VS bit in
- * VTCR_EL2.
- */
- mrs x5, ID_AA64MMFR1_EL1
- ubfx x5, x5, #5, #1
- lsl x5, x5, #VTCR_EL2_VS
- orr x4, x4, x5
-
- msr vtcr_el2, x4
-
mrs x4, mair_el1
msr mair_el2, x4
isb