emulate-nested.c (e7f0a3a6f7339af55f1ca2c27131739d75569c08) emulate-nested.c (e5ecedcd7cc231a115c11cfed79635583ef4f882)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2016 - Linaro and Columbia University
4 * Author: Jintack Lim <jintack.lim@linaro.org>
5 */
6
7#include <linux/kvm.h>
8#include <linux/kvm_host.h>

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

489
490static enum trap_behaviour check_cptr_tta(struct kvm_vcpu *vcpu)
491{
492 u64 val = __vcpu_sys_reg(vcpu, CPTR_EL2);
493
494 if (!vcpu_el2_e2h_is_set(vcpu))
495 val = translate_cptr_el2_to_cpacr_el1(val);
496
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2016 - Linaro and Columbia University
4 * Author: Jintack Lim <jintack.lim@linaro.org>
5 */
6
7#include <linux/kvm.h>
8#include <linux/kvm_host.h>

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

489
490static enum trap_behaviour check_cptr_tta(struct kvm_vcpu *vcpu)
491{
492 u64 val = __vcpu_sys_reg(vcpu, CPTR_EL2);
493
494 if (!vcpu_el2_e2h_is_set(vcpu))
495 val = translate_cptr_el2_to_cpacr_el1(val);
496
497 if (val & CPACR_ELx_TTA)
497 if (val & CPACR_EL1_TTA)
498 return BEHAVE_FORWARD_RW;
499
500 return BEHAVE_HANDLE_LOCALLY;
501}
502
503static enum trap_behaviour check_mdcr_hpmn(struct kvm_vcpu *vcpu)
504{
505 u32 sysreg = esr_sys64_to_sysreg(kvm_vcpu_get_esr(vcpu));

--- 2056 unchanged lines hidden ---
498 return BEHAVE_FORWARD_RW;
499
500 return BEHAVE_HANDLE_LOCALLY;
501}
502
503static enum trap_behaviour check_mdcr_hpmn(struct kvm_vcpu *vcpu)
504{
505 u32 sysreg = esr_sys64_to_sysreg(kvm_vcpu_get_esr(vcpu));

--- 2056 unchanged lines hidden ---