Searched refs:vmcb (Results 1 – 19 of 19) sorted by relevance
/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | hyperv_svm_test.c |
|
H A D | svm_nested_soft_inject_test.c |
|
H A D | svm_int_ctl_test.c |
|
H A D | svm_nested_shutdown_test.c |
|
H A D | svm_vmcall_test.c |
|
H A D | nested_exceptions_test.c |
|
H A D | triple_fault_event_test.c |
|
H A D | smm_test.c |
|
/linux/arch/x86/kvm/svm/ |
H A D | svm_onhyperv.h | 22 struct hv_vmcb_enlightenments *hve = &to_svm(vcpu)->vmcb->control.hv_enlightenments; in svm_hv_is_enlightened_tlb_enabled() 28 static inline void svm_hv_init_vmcb(struct vmcb *vmcb) in svm_hv_init_vmcb() argument 30 struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments; in svm_hv_init_vmcb() 32 BUILD_BUG_ON(sizeof(vmcb->control.hv_enlightenments) != in svm_hv_init_vmcb() 33 sizeof(vmcb->control.reserved_sw)); in svm_hv_init_vmcb() 73 struct vmcb *vmcb = to_svm(vcpu)->vmcb; in svm_hv_vmcb_dirty_nested_enlightenments() local 74 struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments; in svm_hv_vmcb_dirty_nested_enlightenments() 77 vmcb_mark_dirty(vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS); in svm_hv_vmcb_dirty_nested_enlightenments() 80 static inline void svm_hv_update_vp_id(struct vmcb *vmcb, struct kvm_vcpu *vcpu) in svm_hv_update_vp_id() argument 82 struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments; in svm_hv_update_vp_id() [all …]
|
H A D | svm.h | 132 struct vmcb *ptr; 247 struct vmcb *vmcb; member 338 struct vmcb *save_area; 341 struct vmcb *current_vmcb; 344 struct vmcb **sev_vmcbs; 393 static inline void vmcb_mark_all_dirty(struct vmcb *vmcb) in vmcb_mark_all_dirty() argument 395 vmcb->control.clean = 0; in vmcb_mark_all_dirty() 398 static inline void vmcb_mark_all_clean(struct vmcb *vmcb) in vmcb_mark_all_clean() argument 400 vmcb->control.clean = VMCB_ALL_CLEAN_MASK in vmcb_mark_all_clean() 404 static inline void vmcb_mark_dirty(struct vmcb *vmcb, int bit) in vmcb_mark_dirty() argument [all …]
|
H A D | svm.c | 344 svm->vmcb->save.efer = efer | EFER_SVME; in svm_set_efer() 345 vmcb_mark_dirty(svm->vmcb, VMCB_CR); in svm_set_efer() 354 if (svm->vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK) in svm_get_interrupt_shadow() 364 svm->vmcb->control.int_state &= ~SVM_INTERRUPT_SHADOW_MASK; in svm_set_interrupt_shadow() 366 svm->vmcb->control.int_state |= SVM_INTERRUPT_SHADOW_MASK; in svm_set_interrupt_shadow() 383 if (nrips && svm->vmcb->control.next_rip != 0) { in __svm_skip_emulated_instruction() 385 svm->next_rip = svm->vmcb->control.next_rip; in __svm_skip_emulated_instruction() 390 old_rflags = svm->vmcb->save.rflags; in __svm_skip_emulated_instruction() 396 svm->vmcb->save.rflags = old_rflags; in __svm_skip_emulated_instruction() 445 svm->soft_int_csbase = svm->vmcb->save.cs.base; in svm_update_soft_interrupt_rip() [all …]
|
H A D | avic.c | 87 struct vmcb *vmcb = svm->vmcb01.ptr; in avic_activate_vmcb() local 89 vmcb->control.int_ctl &= ~(AVIC_ENABLE_MASK | X2APIC_MODE_MASK); in avic_activate_vmcb() 90 vmcb->control.avic_physical_id &= ~AVIC_PHYSICAL_MAX_INDEX_MASK; in avic_activate_vmcb() 92 vmcb->control.int_ctl |= AVIC_ENABLE_MASK; in avic_activate_vmcb() 102 vmcb->control.int_ctl |= X2APIC_MODE_MASK; in avic_activate_vmcb() 103 vmcb->control.avic_physical_id |= X2AVIC_MAX_PHYSICAL_ID; in avic_activate_vmcb() 114 vmcb->control.avic_physical_id |= AVIC_MAX_PHYSICAL_ID; in avic_activate_vmcb() 122 struct vmcb *vmcb = svm->vmcb01.ptr; in avic_deactivate_vmcb() local 124 vmcb->control.int_ctl &= ~(AVIC_ENABLE_MASK | X2APIC_MODE_MASK); in avic_deactivate_vmcb() 125 vmcb->control.avic_physical_id &= ~AVIC_PHYSICAL_MAX_INDEX_MASK; in avic_deactivate_vmcb() [all …]
|
H A D | hyperv.c | 13 svm->vmcb->control.exit_code = HV_SVM_EXITCODE_ENL; in svm_hv_inject_synthetic_vmexit_post_tlb_flush() 14 svm->vmcb->control.exit_code_hi = 0; in svm_hv_inject_synthetic_vmexit_post_tlb_flush() 15 svm->vmcb->control.exit_info_1 = HV_SVM_ENL_EXITCODE_TRAP_AFTER_FLUSH; in svm_hv_inject_synthetic_vmexit_post_tlb_flush() 16 svm->vmcb->control.exit_info_2 = 0; in svm_hv_inject_synthetic_vmexit_post_tlb_flush()
|
H A D | svm_onhyperv.c | 26 hve = &to_svm(vcpu)->vmcb->control.hv_enlightenments; in svm_hv_enable_l2_tlb_flush() 32 vmcb_mark_dirty(to_svm(vcpu)->vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS); in svm_hv_enable_l2_tlb_flush()
|
H A D | sev.c | 813 if (svm->vcpu.guest_debug || (svm->vmcb->save.dr7 & ~DR7_FIXED_1)) in sev_es_sync_vmsa() 822 memcpy(save, &svm->vmcb->save, sizeof(svm->vmcb->save)); in sev_es_sync_vmsa() 2040 dst_svm->vmcb->control.ghcb_gpa = src_svm->vmcb->control.ghcb_gpa; in sev_migrate_from() 2041 dst_svm->vmcb->control.vmsa_pa = src_svm->vmcb->control.vmsa_pa; in sev_migrate_from() 2045 src_svm->vmcb->control.ghcb_gpa = INVALID_PAGE; in sev_migrate_from() 2046 src_svm->vmcb->control.vmsa_pa = INVALID_PAGE; in sev_migrate_from() 3209 pr_err("GHCB (GPA=%016llx):\n", svm->vmcb->control.ghcb_gpa); in dump_ghcb() 3242 struct vmcb_control_area *control = &svm->vmcb->control; in sev_es_sync_from_ghcb() 3270 svm->vmcb->save.cpl = kvm_ghcb_get_cpl_if_valid(svm, ghcb); in sev_es_sync_from_ghcb() 3296 struct vmcb_control_area *control = &svm->vmcb->control; in sev_es_validate_vmgexit() [all …]
|
/linux/tools/testing/selftests/kvm/lib/x86_64/ |
H A D | svm.c |
|
/linux/tools/testing/selftests/kvm/include/x86_64/ |
H A D | svm_util.h |
|
H A D | svm.h |
|
/linux/tools/testing/selftests/kvm/x86/ |
H A D | nested_exceptions_test.c | 77 struct vmcb *vmcb = svm->vmcb; in svm_run_l2() local 78 struct vmcb_control_area *ctrl = &vmcb->control; in svm_run_l2() 80 vmcb->save.rip = (u64)l2_code; in svm_run_l2() 81 run_guest(vmcb, svm->vmcb_gpa); in svm_run_l2() 93 struct vmcb_control_area *ctrl = &svm->vmcb->control; in l1_svm_code() 97 svm->vmcb->save.idtr.limit = 0; in l1_svm_code()
|