switch.c (6e2b347d42e54282e4c6cfa08272db462b178f7f) | switch.c (e9ada6c208c15c907afe5afb1aa82e23e81eb8ba) |
---|---|
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#include <hyp/sysreg-sr.h> --- 29 unchanged lines hidden (view full) --- 38{ 39 u64 val; 40 41 ___activate_traps(vcpu); 42 __activate_traps_common(vcpu); 43 44 val = vcpu->arch.cptr_el2; 45 val |= CPTR_EL2_TTA | CPTR_EL2_TAM; | 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#include <hyp/sysreg-sr.h> --- 29 unchanged lines hidden (view full) --- 38{ 39 u64 val; 40 41 ___activate_traps(vcpu); 42 __activate_traps_common(vcpu); 43 44 val = vcpu->arch.cptr_el2; 45 val |= CPTR_EL2_TTA | CPTR_EL2_TAM; |
46 if (!update_fp_enabled(vcpu)) { | 46 if (!guest_owns_fp_regs(vcpu)) { |
47 val |= CPTR_EL2_TFP | CPTR_EL2_TZ; 48 __activate_traps_fpsimd32(vcpu); 49 } 50 if (cpus_have_final_cap(ARM64_SME)) 51 val |= CPTR_EL2_TSM; 52 53 write_sysreg(val, cptr_el2); 54 write_sysreg(__this_cpu_read(kvm_hyp_vector), vbar_el2); --- 336 unchanged lines hidden --- | 47 val |= CPTR_EL2_TFP | CPTR_EL2_TZ; 48 __activate_traps_fpsimd32(vcpu); 49 } 50 if (cpus_have_final_cap(ARM64_SME)) 51 val |= CPTR_EL2_TSM; 52 53 write_sysreg(val, cptr_el2); 54 write_sysreg(__this_cpu_read(kvm_hyp_vector), vbar_el2); --- 336 unchanged lines hidden --- |