Home
last modified time | relevance | path

Searched refs:svm (Results 1 – 12 of 12) sorted by relevance

/arch/x86/kvm/svm/
Dnested.c37 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_inject_npf_exit() local
39 if (svm->vmcb->control.exit_code != SVM_EXIT_NPF) { in nested_svm_inject_npf_exit()
44 svm->vmcb->control.exit_code = SVM_EXIT_NPF; in nested_svm_inject_npf_exit()
45 svm->vmcb->control.exit_code_hi = 0; in nested_svm_inject_npf_exit()
46 svm->vmcb->control.exit_info_1 = (1ULL << 32); in nested_svm_inject_npf_exit()
47 svm->vmcb->control.exit_info_2 = fault->address; in nested_svm_inject_npf_exit()
50 svm->vmcb->control.exit_info_1 &= ~0xffffffffULL; in nested_svm_inject_npf_exit()
51 svm->vmcb->control.exit_info_1 |= fault->error_code; in nested_svm_inject_npf_exit()
53 nested_svm_vmexit(svm); in nested_svm_inject_npf_exit()
58 struct vcpu_svm *svm = to_svm(vcpu); in svm_inject_page_fault_nested() local
[all …]
Dsvm.c270 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_efer() local
285 svm_set_gif(svm, true); in svm_set_efer()
288 clr_exception_intercept(svm, GP_VECTOR); in svm_set_efer()
296 svm_free_nested(svm); in svm_set_efer()
299 int ret = svm_allocate_nested(svm); in svm_set_efer()
311 set_exception_intercept(svm, GP_VECTOR); in svm_set_efer()
315 svm->vmcb->save.efer = efer | EFER_SVME; in svm_set_efer()
316 vmcb_mark_dirty(svm->vmcb, VMCB_CR); in svm_set_efer()
322 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_interrupt_shadow() local
325 if (svm->vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK) in svm_get_interrupt_shadow()
[all …]
Dsvm.h221 void recalc_intercepts(struct vcpu_svm *svm);
299 static inline void set_dr_intercepts(struct vcpu_svm *svm) in set_dr_intercepts() argument
301 struct vmcb *vmcb = svm->vmcb01.ptr; in set_dr_intercepts()
303 if (!sev_es_guest(svm->vcpu.kvm)) { in set_dr_intercepts()
323 recalc_intercepts(svm); in set_dr_intercepts()
326 static inline void clr_dr_intercepts(struct vcpu_svm *svm) in clr_dr_intercepts() argument
328 struct vmcb *vmcb = svm->vmcb01.ptr; in clr_dr_intercepts()
333 if (sev_es_guest(svm->vcpu.kvm)) { in clr_dr_intercepts()
338 recalc_intercepts(svm); in clr_dr_intercepts()
341 static inline void set_exception_intercept(struct vcpu_svm *svm, u32 bit) in set_exception_intercept() argument
[all …]
Davic.c188 void avic_init_vmcb(struct vcpu_svm *svm) in avic_init_vmcb() argument
190 struct vmcb *vmcb = svm->vmcb; in avic_init_vmcb()
191 struct kvm_svm *kvm_svm = to_kvm_svm(svm->vcpu.kvm); in avic_init_vmcb()
192 phys_addr_t bpa = __sme_set(page_to_phys(svm->avic_backing_page)); in avic_init_vmcb()
202 if (kvm_apicv_activated(svm->vcpu.kvm)) in avic_init_vmcb()
259 struct vcpu_svm *svm = to_svm(vcpu); in avic_init_backing_page() local
275 svm->avic_backing_page = virt_to_page(vcpu->arch.apic->regs); in avic_init_backing_page()
282 new_entry = __sme_set((page_to_phys(svm->avic_backing_page) & in avic_init_backing_page()
287 svm->avic_physical_id_cache = entry; in avic_init_backing_page()
311 struct vcpu_svm *svm = to_svm(vcpu); in avic_incomplete_ipi_interception() local
[all …]
Dsev.c552 static int sev_es_sync_vmsa(struct vcpu_svm *svm) in sev_es_sync_vmsa() argument
554 struct vmcb_save_area *save = &svm->vmcb->save; in sev_es_sync_vmsa()
557 if (svm->vcpu.guest_debug || (save->dr7 & ~DR7_FIXED_1)) in sev_es_sync_vmsa()
561 save->rax = svm->vcpu.arch.regs[VCPU_REGS_RAX]; in sev_es_sync_vmsa()
562 save->rbx = svm->vcpu.arch.regs[VCPU_REGS_RBX]; in sev_es_sync_vmsa()
563 save->rcx = svm->vcpu.arch.regs[VCPU_REGS_RCX]; in sev_es_sync_vmsa()
564 save->rdx = svm->vcpu.arch.regs[VCPU_REGS_RDX]; in sev_es_sync_vmsa()
565 save->rsp = svm->vcpu.arch.regs[VCPU_REGS_RSP]; in sev_es_sync_vmsa()
566 save->rbp = svm->vcpu.arch.regs[VCPU_REGS_RBP]; in sev_es_sync_vmsa()
567 save->rsi = svm->vcpu.arch.regs[VCPU_REGS_RSI]; in sev_es_sync_vmsa()
[all …]
/arch/x86/kvm/
DMakefile33 kvm-amd-y += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o svm/sev.o
36 kvm-amd-y += svm/svm_onhyperv.o
/arch/arm/mm/
Dioremap.c51 struct static_vm *svm; in find_static_vm_paddr() local
54 list_for_each_entry(svm, &static_vmlist, list) { in find_static_vm_paddr()
55 vm = &svm->vm; in find_static_vm_paddr()
65 return svm; in find_static_vm_paddr()
73 struct static_vm *svm; in find_static_vm_vaddr() local
76 list_for_each_entry(svm, &static_vmlist, list) { in find_static_vm_vaddr()
77 vm = &svm->vm; in find_static_vm_vaddr()
84 return svm; in find_static_vm_vaddr()
90 void __init add_static_vm_early(struct static_vm *svm) in add_static_vm_early() argument
96 vm = &svm->vm; in add_static_vm_early()
[all …]
Dmmu.c1004 struct static_vm *svm; in iotable_init() local
1009 svm = memblock_alloc(sizeof(*svm) * nr, __alignof__(*svm)); in iotable_init()
1010 if (!svm) in iotable_init()
1012 __func__, sizeof(*svm) * nr, __alignof__(*svm)); in iotable_init()
1017 vm = &svm->vm; in iotable_init()
1024 add_static_vm_early(svm++); in iotable_init()
1032 struct static_vm *svm; in vm_reserve_area_early() local
1034 svm = memblock_alloc(sizeof(*svm), __alignof__(*svm)); in vm_reserve_area_early()
1035 if (!svm) in vm_reserve_area_early()
1037 __func__, sizeof(*svm), __alignof__(*svm)); in vm_reserve_area_early()
[all …]
Dmm.h75 extern __init void add_static_vm_early(struct static_vm *svm);
/arch/powerpc/platforms/pseries/
DMakefile29 obj-$(CONFIG_PPC_SVM) += svm.o
/arch/x86/include/uapi/asm/
Dkvm.h477 struct kvm_svm_nested_state_hdr svm; member
490 struct kvm_svm_nested_state_data svm[0]; member
/arch/powerpc/kernel/
Dsysfs.c745 static DEVICE_ATTR(svm, 0444, show_svm, NULL);