switch.c (09cf57eba304246141367b95c89801fd2047ac96) switch.c (13aeb9b400c5d7c5e979fdbbf994c787487f7889)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2015 - ARM Ltd
4 * Author: Marc Zyngier <marc.zyngier@arm.com>
5 */
6
7#include <hyp/switch.h>
8

--- 106 unchanged lines hidden (view full) ---

115 sysreg_save_host_state_vhe(host_ctxt);
116
117 /*
118 * ARM erratum 1165522 requires us to configure both stage 1 and
119 * stage 2 translation for the guest context before we clear
120 * HCR_EL2.TGE.
121 *
122 * We have already configured the guest's stage 1 translation in
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2015 - ARM Ltd
4 * Author: Marc Zyngier <marc.zyngier@arm.com>
5 */
6
7#include <hyp/switch.h>
8

--- 106 unchanged lines hidden (view full) ---

115 sysreg_save_host_state_vhe(host_ctxt);
116
117 /*
118 * ARM erratum 1165522 requires us to configure both stage 1 and
119 * stage 2 translation for the guest context before we clear
120 * HCR_EL2.TGE.
121 *
122 * We have already configured the guest's stage 1 translation in
123 * kvm_vcpu_load_sysregs above. We must now call __activate_vm
123 * kvm_vcpu_load_sysregs_vhe above. We must now call __activate_vm
124 * before __activate_traps, because __activate_vm configures
125 * stage 2 translation, and __activate_traps clear HCR_EL2.TGE
126 * (among other things).
127 */
128 __activate_vm(vcpu->kvm);
129 __activate_traps(vcpu);
130
131 sysreg_restore_guest_state_vhe(guest_ctxt);

--- 88 unchanged lines hidden ---
124 * before __activate_traps, because __activate_vm configures
125 * stage 2 translation, and __activate_traps clear HCR_EL2.TGE
126 * (among other things).
127 */
128 __activate_vm(vcpu->kvm);
129 __activate_traps(vcpu);
130
131 sysreg_restore_guest_state_vhe(guest_ctxt);

--- 88 unchanged lines hidden ---