| /linux/arch/arm64/kvm/hyp/nvhe/ |
| H A D | pkvm.c | 33 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 D | hyp-main.c | 130 hyp_vcpu->vcpu.arch.hcr_el2 &= ~(HCR_TWI | HCR_TWE); in flush_hyp_vcpu() 131 hyp_vcpu->vcpu.arch.hcr_el2 |= READ_ONCE(host_vcpu->arch.hcr_el2) & in flush_hyp_vcpu() 153 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 D | switch.c | 52 ___activate_traps(vcpu, vcpu->arch.hcr_el2); in __activate_traps() 104 write_sysreg_hcr(this_cpu_ptr(&kvm_init_params)->hcr_el2); in __deactivate_traps()
|
| H A D | mem_protect.c | 321 if (params->hcr_el2 & HCR_VM) in __pkvm_prot_finalize() 326 params->hcr_el2 |= HCR_VM; in __pkvm_prot_finalize() 328 params->hcr_el2 |= HCR_FWB; in __pkvm_prot_finalize() 338 write_sysreg_hcr(params->hcr_el2); in __pkvm_prot_finalize()
|
| H A D | host.S | 125 mrs x0, hcr_el2
|
| /linux/arch/arm64/include/asm/ |
| H A D | kvm_emulate.h | 95 return !(vcpu->arch.hcr_el2 & HCR_RW); in vcpu_el1_is_32bit() 107 vcpu->arch.hcr_el2 = HCR_GUEST_FLAGS; in vcpu_reset_hcr() 116 vcpu->arch.hcr_el2 |= HCR_TVM; in vcpu_reset_hcr() 121 return (unsigned long *)&vcpu->arch.hcr_el2; in vcpu_hcr() 324 u64 hcr_el2 = __vcpu_sys_reg(vcpu, HCR_EL2); in guest_hyp_wfx_traps_enabled() local 329 return ((is_wfe && (hcr_el2 & HCR_TWE)) || in guest_hyp_wfx_traps_enabled() 330 (!is_wfe && (hcr_el2 & HCR_TWI))); in guest_hyp_wfx_traps_enabled()
|
| H A D | kvm_mte.h | 18 mrs \reg1, hcr_el2 38 mrs \reg1, hcr_el2
|
| H A D | kvm_ptrauth.h | 73 mrs \reg1, hcr_el2 85 mrs \reg1, hcr_el2
|
| H A D | hardirq.h | 42 ___hcr = read_sysreg(hcr_el2); \
|
| H A D | sysreg.h | 1117 msr hcr_el2, \reg 1120 msr hcr_el2, \reg 1220 u64 __scs_val = read_sysreg(hcr_el2); \
|
| H A D | kvm_asm.h | 187 unsigned long hcr_el2; member
|
| H A D | el2_setup.h | 106 mrs \tmp, hcr_el2
|
| /linux/arch/arm64/kvm/ |
| H A D | trace_arm.h | 344 __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 D | arm.c | 591 vcpu->arch.hcr_el2 &= ~(HCR_API | HCR_APK); in vcpu_set_pauth_traps() 592 vcpu->arch.hcr_el2 |= val; in vcpu_set_pauth_traps() 594 vcpu->arch.hcr_el2 |= (HCR_API | HCR_APK); in vcpu_set_pauth_traps() 602 if (vcpu->arch.hcr_el2 & (HCR_API | HCR_APK)) { in vcpu_set_pauth_traps() 687 vcpu->arch.hcr_el2 &= ~HCR_TWE; in kvm_arch_vcpu_load() 689 vcpu->arch.hcr_el2 |= HCR_TWE; in kvm_arch_vcpu_load() 692 vcpu->arch.hcr_el2 &= ~HCR_TWI; in kvm_arch_vcpu_load() 694 vcpu->arch.hcr_el2 |= HCR_TWI; in kvm_arch_vcpu_load() 701 vcpu->vcpu_idx, vcpu->arch.hcr_el2); in kvm_arch_vcpu_load() 2093 params->hcr_el2 = HCR_HOST_NVHE_PROTECTED_FLAGS; in cpu_prepare_hyp_mode() [all …]
|
| H A D | sys_regs.c | 5596 vcpu->arch.hcr_el2 |= HCR_E2H; in vcpu_set_hcr() 5599 vcpu->arch.hcr_el2 |= HCR_TEA; in vcpu_set_hcr() 5601 vcpu->arch.hcr_el2 |= HCR_TERR; in vcpu_set_hcr() 5605 vcpu->arch.hcr_el2 |= HCR_FWB; in vcpu_set_hcr() 5610 vcpu->arch.hcr_el2 |= HCR_TID4; in vcpu_set_hcr() 5612 vcpu->arch.hcr_el2 |= HCR_TID2; in vcpu_set_hcr() 5615 vcpu->arch.hcr_el2 &= ~HCR_RW; in vcpu_set_hcr() 5618 vcpu->arch.hcr_el2 |= HCR_ATA; in vcpu_set_hcr() 5620 vcpu->arch.hcr_el2 |= HCR_TID5; in vcpu_set_hcr() 5628 vcpu->arch.hcr_el2 |= HCR_TTLBOS; in vcpu_set_hcr()
|
| H A D | at.c | 1386 write_sysreg_hcr(vcpu->arch.hcr_el2); in __kvm_at_s1e01_fast() 1480 val = hcr = read_sysreg(hcr_el2); in __kvm_at_s1e2()
|
| H A D | guest.c | 752 events->exception.serror_pending = (vcpu->arch.hcr_el2 & HCR_VSE) || in __kvm_arm_vcpu_get_events()
|
| /linux/arch/arm64/kvm/hyp/include/hyp/ |
| H A D | switch.h | 394 hcr = &vcpu->arch.hcr_el2; in ___deactivate_traps() 407 *hcr |= read_sysreg(hcr_el2) & HCR_VSE; in ___deactivate_traps() 600 if (!(read_sysreg(hcr_el2) & HCR_RW)) in kvm_hyp_handle_fpsimd() 625 if (vcpu->arch.hcr_el2 & HCR_TVM) in handle_tx2_tvm()
|
| /linux/tools/testing/selftests/kvm/arm64/ |
| H A D | hello_el2.c | 22 GUEST_ASSERT(read_sysreg(hcr_el2) & HCR_EL2_E2H); in guest_code()
|
| H A D | at.c | 71 sysreg_clear_set(hcr_el2, HCR_EL2_TGE | HCR_EL2_VM, 0); in test_at()
|
| H A D | external_aborts.c | 369 sysreg_clear_set(hcr_el2, HCR_EL2_AMO | HCR_EL2_TGE, 0); in test_serror_amo_guest()
|
| /linux/arch/arm64/kernel/ |
| H A D | asm-offsets.c | 107 DEFINE(VCPU_HCR_EL2, offsetof(struct kvm_vcpu, arch.hcr_el2)); in main() 124 DEFINE(NVHE_INIT_HCR_EL2, offsetof(struct kvm_nvhe_init_params, hcr_el2)); in main()
|
| H A D | head.S | 312 mrs x0, hcr_el2
|
| /linux/arch/arm64/kvm/hyp/vhe/ |
| H A D | tlb.c | 64 val = read_sysreg(hcr_el2); in enter_vmid_context()
|
| H A D | switch.c | 54 u64 guest_hcr, hcr = vcpu->arch.hcr_el2; in __compute_hcr()
|