Home
last modified time | relevance | path

Searched refs:hcr_el2 (Results 1 – 25 of 25) sorted by relevance

/linux-6.15/arch/arm64/include/asm/
H A Dkvm_emulate.h70 return !(vcpu->arch.hcr_el2 & HCR_RW); in vcpu_el1_is_32bit()
82 vcpu->arch.hcr_el2 = HCR_GUEST_FLAGS; in vcpu_reset_hcr()
91 vcpu->arch.hcr_el2 |= HCR_TVM; in vcpu_reset_hcr()
96 return (unsigned long *)&vcpu->arch.hcr_el2; in vcpu_hcr()
101 vcpu->arch.hcr_el2 &= ~HCR_TWE; in vcpu_clear_wfx_traps()
104 vcpu->arch.hcr_el2 &= ~HCR_TWI; in vcpu_clear_wfx_traps()
106 vcpu->arch.hcr_el2 |= HCR_TWI; in vcpu_clear_wfx_traps()
111 vcpu->arch.hcr_el2 |= HCR_TWE; in vcpu_set_wfx_traps()
112 vcpu->arch.hcr_el2 |= HCR_TWI; in vcpu_set_wfx_traps()
287 return ((is_wfe && (hcr_el2 & HCR_TWE)) || in guest_hyp_wfx_traps_enabled()
[all …]
H A Dhardirq.h42 ___hcr = read_sysreg(hcr_el2); \
44 write_sysreg(___hcr | HCR_TGE, hcr_el2); \
85 write_sysreg(___hcr, hcr_el2); \
H A Dkvm_mte.h18 mrs \reg1, hcr_el2
38 mrs \reg1, hcr_el2
H A Dkvm_ptrauth.h73 mrs \reg1, hcr_el2
85 mrs \reg1, hcr_el2
H A Del2_setup.h41 msr hcr_el2, x0
70 mrs \tmp, hcr_el2
H A Dkvm_asm.h185 unsigned long hcr_el2; member
H A Dkvm_host.h754 u64 hcr_el2; member
/linux-6.15/arch/arm64/kvm/hyp/nvhe/
H A Dpkvm.c33 vcpu->arch.hcr_el2 = HCR_GUEST_FLAGS; in pkvm_vcpu_reset_hcr()
36 vcpu->arch.hcr_el2 |= HCR_E2H; in pkvm_vcpu_reset_hcr()
40 vcpu->arch.hcr_el2 |= HCR_TEA; in pkvm_vcpu_reset_hcr()
42 vcpu->arch.hcr_el2 |= HCR_TERR; in pkvm_vcpu_reset_hcr()
46 vcpu->arch.hcr_el2 |= HCR_FWB; in pkvm_vcpu_reset_hcr()
51 vcpu->arch.hcr_el2 |= HCR_TID4; in pkvm_vcpu_reset_hcr()
53 vcpu->arch.hcr_el2 |= HCR_TID2; in pkvm_vcpu_reset_hcr()
56 vcpu->arch.hcr_el2 |= (HCR_API | HCR_APK); in pkvm_vcpu_reset_hcr()
59 vcpu->arch.hcr_el2 |= HCR_ATA; in pkvm_vcpu_reset_hcr()
65 u64 val = vcpu->arch.hcr_el2; in pvm_init_traps_hcr()
[all …]
H A Dhyp-main.c131 hyp_vcpu->vcpu.arch.hcr_el2 &= ~(HCR_TWI | HCR_TWE); in flush_hyp_vcpu()
132 hyp_vcpu->vcpu.arch.hcr_el2 |= READ_ONCE(host_vcpu->arch.hcr_el2) & in flush_hyp_vcpu()
154 host_vcpu->arch.hcr_el2 = hyp_vcpu->vcpu.arch.hcr_el2; in sync_hyp_vcpu()
169 DECLARE_REG(u64, hcr_el2, host_ctxt, 3); in handle___pkvm_vcpu_load()
181 hyp_vcpu->vcpu.arch.hcr_el2 &= ~(HCR_TWE | HCR_TWI); in handle___pkvm_vcpu_load()
182 hyp_vcpu->vcpu.arch.hcr_el2 |= hcr_el2 & (HCR_TWE | HCR_TWI); in handle___pkvm_vcpu_load()
H A Dswitch.c99 ___activate_traps(vcpu, vcpu->arch.hcr_el2); in __activate_traps()
145 write_sysreg(this_cpu_ptr(&kvm_init_params)->hcr_el2, hcr_el2); in __deactivate_traps()
H A Dhyp-init.S103 msr hcr_el2, x1
265 msr hcr_el2, x5
H A Dhost.S125 mrs x0, hcr_el2
127 msr hcr_el2, x0
H A Dmem_protect.c297 if (params->hcr_el2 & HCR_VM) in __pkvm_prot_finalize()
302 params->hcr_el2 |= HCR_VM; in __pkvm_prot_finalize()
312 write_sysreg(params->hcr_el2, hcr_el2); in __pkvm_prot_finalize()
/linux-6.15/arch/arm64/kvm/
H A Dtrace_arm.h344 __field(unsigned long, hcr_el2)
352 __entry->hcr_el2 = __vcpu_sys_reg(vcpu, HCR_EL2);
358 __entry->hcr_el2)
372 __field(unsigned long, hcr_el2)
382 __entry->hcr_el2 = __vcpu_sys_reg(vcpu, HCR_EL2);
389 __entry->hcr_el2)
H A Darm.c523 vcpu->arch.hcr_el2 &= ~(HCR_API | HCR_APK); in vcpu_set_pauth_traps()
524 vcpu->arch.hcr_el2 |= val; in vcpu_set_pauth_traps()
526 vcpu->arch.hcr_el2 |= (HCR_API | HCR_APK); in vcpu_set_pauth_traps()
534 if (vcpu->arch.hcr_el2 & (HCR_API | HCR_APK)) { in vcpu_set_pauth_traps()
617 vcpu->arch.hcr_el2 &= ~HCR_TWE; in kvm_arch_vcpu_load()
619 vcpu->arch.hcr_el2 |= HCR_TWE; in kvm_arch_vcpu_load()
622 vcpu->arch.hcr_el2 &= ~HCR_TWI; in kvm_arch_vcpu_load()
624 vcpu->arch.hcr_el2 |= HCR_TWI; in kvm_arch_vcpu_load()
631 vcpu->vcpu_idx, vcpu->arch.hcr_el2); in kvm_arch_vcpu_load()
2045 params->hcr_el2 = HCR_HOST_NVHE_FLAGS; in cpu_prepare_hyp_mode()
[all …]
H A Dat.c514 config->hcr = read_sysreg(hcr_el2); in __mmu_config_save()
519 write_sysreg(config->hcr, hcr_el2); in __mmu_config_restore()
1270 write_sysreg((config.hcr & ~HCR_TGE) | HCR_VM, hcr_el2); in __kvm_at_s1e01_fast()
1346 val = hcr = read_sysreg(hcr_el2); in __kvm_at_s1e2()
1353 write_sysreg(val, hcr_el2); in __kvm_at_s1e2()
1378 write_sysreg(hcr, hcr_el2); in __kvm_at_s1e2()
H A Dsys_regs.c5111 vcpu->arch.hcr_el2 |= HCR_E2H; in vcpu_set_hcr()
5114 vcpu->arch.hcr_el2 |= HCR_TEA; in vcpu_set_hcr()
5116 vcpu->arch.hcr_el2 |= HCR_TERR; in vcpu_set_hcr()
5120 vcpu->arch.hcr_el2 |= HCR_FWB; in vcpu_set_hcr()
5125 vcpu->arch.hcr_el2 |= HCR_TID4; in vcpu_set_hcr()
5127 vcpu->arch.hcr_el2 |= HCR_TID2; in vcpu_set_hcr()
5130 vcpu->arch.hcr_el2 &= ~HCR_RW; in vcpu_set_hcr()
5133 vcpu->arch.hcr_el2 |= HCR_ATA; in vcpu_set_hcr()
5141 vcpu->arch.hcr_el2 |= HCR_TTLBOS; in vcpu_set_hcr()
H A Dguest.c821 events->exception.serror_pending = !!(vcpu->arch.hcr_el2 & HCR_VSE); in __kvm_arm_vcpu_get_events()
/linux-6.15/arch/arm64/kvm/hyp/include/hyp/
H A Dswitch.h303 write_sysreg(hcr, hcr_el2); in ___activate_traps()
317 if (vcpu->arch.hcr_el2 & HCR_VSE) { in ___deactivate_traps()
318 vcpu->arch.hcr_el2 &= ~HCR_VSE; in ___deactivate_traps()
319 vcpu->arch.hcr_el2 |= read_sysreg(hcr_el2) & HCR_VSE; in ___deactivate_traps()
520 if (!(read_sysreg(hcr_el2) & HCR_RW)) in kvm_hyp_handle_fpsimd()
538 if (vcpu->arch.hcr_el2 & HCR_TVM) in handle_tx2_tvm()
/linux-6.15/arch/arm64/kvm/hyp/vhe/
H A Dtlb.c64 val = read_sysreg(hcr_el2); in enter_vmid_context()
66 write_sysreg(val, hcr_el2); in enter_vmid_context()
76 write_sysreg(HCR_HOST_VHE_FLAGS, hcr_el2); in exit_vmid_context()
H A Dswitch.c51 u64 hcr = vcpu->arch.hcr_el2; in __compute_hcr()
187 write_sysreg(HCR_HOST_VHE_FLAGS, hcr_el2); in __deactivate_traps()
573 if (vcpu_has_nv(vcpu) && (read_sysreg(hcr_el2) & HCR_NV)) { in fixup_guest_exit()
/linux-6.15/arch/arm64/kernel/
H A Dasm-offsets.c106 DEFINE(VCPU_HCR_EL2, offsetof(struct kvm_vcpu, arch.hcr_el2)); in main()
123 DEFINE(NVHE_INIT_HCR_EL2, offsetof(struct kvm_nvhe_init_params, hcr_el2)); in main()
H A Dhyp-stub.S100 msr hcr_el2, x0
H A Dhead.S312 mrs x0, hcr_el2
/linux-6.15/arch/arm64/kvm/hyp/
H A Dvgic-v3-sr.c449 sysreg_clear_set(hcr_el2, 0, HCR_AMO | HCR_FMO | HCR_IMO); in __vgic_v3_get_gic_config()
464 sysreg_clear_set(hcr_el2, HCR_AMO | HCR_FMO | HCR_IMO, 0); in __vgic_v3_get_gic_config()