/openbmc/linux/arch/x86/kvm/svm/ |
H A D | nested.c | 228 svm->nested.msrpm[p] = svm->msrpm[p] | value; in nested_svm_vmrun_msrpm() 718 svm->soft_int_next_rip = svm->nested.ctl.next_rip; in nested_vmcb02_prepare_control() 809 WARN_ON(svm->vmcb == svm->nested.vmcb02.ptr); in enter_svm_guest_mode() 813 svm_switch_vmcb(svm, &svm->nested.vmcb02); in enter_svm_guest_mode() 1038 svm_switch_vmcb(svm, &svm->vmcb01); in nested_svm_vmexit() 1191 svm_vcpu_init_msrpm(&svm->vcpu, svm->nested.msrpm); in svm_allocate_nested() 1206 if (WARN_ON_ONCE(svm->vmcb != svm->vmcb01.ptr)) in svm_free_nested() 1207 svm_switch_vmcb(svm, &svm->vmcb01); in svm_free_nested() 1237 svm_switch_vmcb(svm, &svm->vmcb01); in svm_leave_nested() 1752 svm_switch_vmcb(svm, &svm->nested.vmcb02); in svm_set_nested_state() [all …]
|
H A D | svm.c | 387 svm->next_rip = svm->vmcb->control.next_rip; in __svm_skip_emulated_instruction() 455 svm->soft_int_csbase = svm->vmcb->save.cs.base; in svm_update_soft_interrupt_rip() 927 set_msr_interception(&svm->vcpu, svm->msrpm, index, in svm_set_x2apic_msr_interception() 1027 svm_copy_lbrs(svm->vmcb, svm->vmcb01.ptr); in svm_enable_lbrv() 1047 svm_copy_lbrs(svm->vmcb01.ptr, svm->vmcb); in svm_disable_lbrv() 1484 svm_switch_vmcb(svm, &svm->vmcb01); in svm_vcpu_create() 2114 svm->vmcb->save.cs.base + svm->vmcb->save.rip; in db_interception() 2256 svm->next_rip = svm->vmcb->control.exit_info_2; in io_interception() 4023 svm->vmcb->control.next_rip = svm->soft_int_next_rip; in svm_complete_soft_interrupt() 4178 if (unlikely(svm->asid != svm->vmcb->control.asid)) { in svm_vcpu_run() [all …]
|
H A D | svm.h | 409 recalc_intercepts(svm); in set_exception_intercept() 419 recalc_intercepts(svm); in clr_exception_intercept() 428 recalc_intercepts(svm); in svm_set_intercept() 437 recalc_intercepts(svm); in svm_clr_intercept() 456 if (is_guest_mode(&svm->vcpu) && !nested_vgif_enabled(svm)) in get_vgif_vmcb() 459 return svm->vmcb01.ptr; in get_vgif_vmcb() 469 svm->guest_gif = true; in enable_gif() 479 svm->guest_gif = false; in disable_gif() 489 return svm->guest_gif; in gif_set() 517 if (is_guest_mode(&svm->vcpu)) in get_vnmi_vmcb_l1() [all …]
|
H A D | avic.c | 257 avic_activate_vmcb(svm); in avic_init_vmcb() 259 avic_deactivate_vmcb(svm); in avic_init_vmcb() 620 if (ldr == svm->ldr_reg) in avic_handle_ldr_update() 625 svm->ldr_reg = ldr; in avic_handle_ldr_update() 634 if (svm->dfr_reg == dfr) in avic_handle_dfr_update() 638 svm->dfr_reg = dfr; in avic_handle_dfr_update() 733 svm->dfr_reg = APIC_DFR_FLAT; in avic_init_vcpu() 878 *svm = to_svm(vcpu); in get_pi_vcpu_info() 983 if (!ret && svm) { in avic_pi_update_irte() 1129 avic_activate_vmcb(svm); in avic_refresh_virtual_apic_mode() [all …]
|
H A D | sev.c | 584 if (svm->vcpu.guest_debug || (svm->vmcb->save.dr7 & ~DR7_FIXED_1)) in sev_es_sync_vmsa() 593 memcpy(save, &svm->vmcb->save, sizeof(svm->vmcb->save)); in sev_es_sync_vmsa() 2391 svm = to_svm(vcpu); in sev_free_vcpu() 2476 svm->vmcb->save.cpl = kvm_ghcb_get_cpl_if_valid(svm, ghcb); in sev_es_sync_from_ghcb() 2489 svm->sev_es.sw_scratch = kvm_ghcb_get_sw_scratch_if_valid(svm, ghcb); in sev_es_sync_from_ghcb() 2615 dump_ghcb(svm); in sev_es_validate_vmgexit() 2649 trace_kvm_vmgexit_exit(svm->vcpu.vcpu_id, svm->sev_es.ghcb); in sev_es_unmap_ghcb() 2653 kvm_vcpu_unmap(&svm->vcpu, &svm->sev_es.ghcb_map, true); in sev_es_unmap_ghcb() 2663 svm->asid = asid; in pre_sev_run() 2896 svm->sev_es.ghcb = svm->sev_es.ghcb_map.hva; in sev_handle_vmgexit() [all …]
|
H A D | hyperv.c | 11 struct vcpu_svm *svm = to_svm(vcpu); in svm_hv_inject_synthetic_vmexit_post_tlb_flush() local 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() 17 nested_svm_vmexit(svm); in svm_hv_inject_synthetic_vmexit_post_tlb_flush()
|
H A D | hyperv.h | 16 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_hv_update_vm_vp_ids() local 17 struct hv_vmcb_enlightenments *hve = &svm->nested.ctl.hv_enlightenments; in nested_svm_hv_update_vm_vp_ids() 30 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_l2_tlb_flush_enabled() local 31 struct hv_vmcb_enlightenments *hve = &svm->nested.ctl.hv_enlightenments; in nested_svm_l2_tlb_flush_enabled()
|
/openbmc/linux/tools/testing/selftests/kvm/lib/x86_64/ |
H A D | svm.c | 38 svm->vmcb_hva = addr_gva2hva(vm, (uintptr_t)svm->vmcb); in vcpu_alloc_svm() 39 svm->vmcb_gpa = addr_gva2gpa(vm, (uintptr_t)svm->vmcb); in vcpu_alloc_svm() 42 svm->save_area_hva = addr_gva2hva(vm, (uintptr_t)svm->save_area); in vcpu_alloc_svm() 43 svm->save_area_gpa = addr_gva2gpa(vm, (uintptr_t)svm->save_area); in vcpu_alloc_svm() 46 svm->msr_hva = addr_gva2hva(vm, (uintptr_t)svm->msr); in vcpu_alloc_svm() 47 svm->msr_gpa = addr_gva2gpa(vm, (uintptr_t)svm->msr); in vcpu_alloc_svm() 51 return svm; in vcpu_alloc_svm() 65 struct vmcb *vmcb = svm->vmcb; in generic_svm_setup() 66 uint64_t vmcb_gpa = svm->vmcb_gpa; in generic_svm_setup() 101 ctrl->msrpm_base_pa = svm->msr_gpa; in generic_svm_setup() [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_svm.c | 328 if (!cli->drm->svm) in nouveau_svmm_init() 341 if (cli->svm.cli) { in nouveau_svmm_init() 1024 struct nouveau_svm *svm = drm->svm; in nouveau_svm_resume() local 1025 if (svm) in nouveau_svm_resume() 1032 struct nouveau_svm *svm = drm->svm; in nouveau_svm_suspend() local 1033 if (svm) in nouveau_svm_suspend() 1040 struct nouveau_svm *svm = drm->svm; in nouveau_svm_fini() local 1041 if (svm) { in nouveau_svm_fini() 1043 kfree(drm->svm); in nouveau_svm_fini() 1044 drm->svm = NULL; in nouveau_svm_fini() [all …]
|
/openbmc/linux/drivers/iommu/intel/ |
H A D | svm.c | 300 if (!svm) in pasid_to_svm_sdev() 312 *rsvm = svm; in pasid_to_svm_sdev() 328 if (!svm) { in intel_svm_bind_mm() 329 svm = kzalloc(sizeof(*svm), GFP_KERNEL); in intel_svm_bind_mm() 330 if (!svm) in intel_svm_bind_mm() 340 kfree(svm); in intel_svm_bind_mm() 344 ret = pasid_private_add(svm->pasid, svm); in intel_svm_bind_mm() 347 kfree(svm); in intel_svm_bind_mm() 386 kfree(svm); in intel_svm_bind_mm() 405 mm = svm->mm; in intel_svm_remove_dev_pasid() [all …]
|
/openbmc/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | hyperv_svm_test.c | 74 struct vmcb *vmcb = svm->vmcb; in guest_code() 83 GUEST_ASSERT(svm->vmcb_gpa); in guest_code() 85 generic_svm_setup(svm, l2_guest_code, in guest_code() 97 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 105 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 111 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 119 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 126 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 135 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 140 run_guest(vmcb, svm->vmcb_gpa); in guest_code() [all …]
|
H A D | nested_exceptions_test.c | 76 static void svm_run_l2(struct svm_test_data *svm, void *l2_code, int vector, in svm_run_l2() argument 79 struct vmcb *vmcb = svm->vmcb; in svm_run_l2() 83 run_guest(vmcb, svm->vmcb_gpa); in svm_run_l2() 92 static void l1_svm_code(struct svm_test_data *svm) in l1_svm_code() argument 94 struct vmcb_control_area *ctrl = &svm->vmcb->control; in l1_svm_code() 97 generic_svm_setup(svm, NULL, &l2_guest_stack[L2_GUEST_STACK_SIZE]); in l1_svm_code() 98 svm->vmcb->save.idtr.limit = 0; in l1_svm_code() 102 svm_run_l2(svm, l2_ss_pending_test, SS_VECTOR, SS_ERROR_CODE); in l1_svm_code() 103 svm_run_l2(svm, l2_ss_injected_gp_test, GP_VECTOR, GP_ERROR_CODE_AMD); in l1_svm_code() 106 svm_run_l2(svm, l2_ss_injected_df_test, DF_VECTOR, DF_ERROR_CODE); in l1_svm_code() [all …]
|
H A D | svm_nested_shutdown_test.c | 15 static void l2_guest_code(struct svm_test_data *svm) in l2_guest_code() argument 20 static void l1_guest_code(struct svm_test_data *svm, struct idt_entry *idt) in l1_guest_code() argument 24 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() 26 generic_svm_setup(svm, l2_guest_code, in l1_guest_code() 36 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code()
|
H A D | svm_vmcall_test.c | 15 static void l2_guest_code(struct svm_test_data *svm) in l2_guest_code() argument 20 static void l1_guest_code(struct svm_test_data *svm) in l1_guest_code() argument 24 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() 27 generic_svm_setup(svm, l2_guest_code, in l1_guest_code() 30 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code()
|
H A D | svm_int_ctl_test.c | 33 static void l2_guest_code(struct svm_test_data *svm) in l2_guest_code() argument 58 static void l1_guest_code(struct svm_test_data *svm) in l1_guest_code() argument 62 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() 67 generic_svm_setup(svm, l2_guest_code, in l1_guest_code() 80 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code()
|
H A D | smm_test.c | 72 struct svm_test_data *svm = arg; in guest_code() local 87 generic_svm_setup(svm, l2_guest_code, in guest_code() 103 run_guest(svm->vmcb, svm->vmcb_gpa); in guest_code() 104 run_guest(svm->vmcb, svm->vmcb_gpa); in guest_code()
|
H A D | triple_fault_event_test.c | 43 void l1_guest_code_svm(struct svm_test_data *svm) in l1_guest_code_svm() argument 45 struct vmcb *vmcb = svm->vmcb; in l1_guest_code_svm() 47 generic_svm_setup(svm, l2_guest_code, in l1_guest_code_svm() 53 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code_svm()
|
H A D | svm_nested_soft_inject_test.c | 79 static void l1_guest_code(struct svm_test_data *svm, uint64_t is_nmi, uint64_t idt_alt) in l1_guest_code() argument 83 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() 89 generic_svm_setup(svm, in l1_guest_code() 104 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code() 134 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code()
|
H A D | state_test.c | 35 static void svm_l1_guest_code(struct svm_test_data *svm) in svm_l1_guest_code() argument 38 struct vmcb *vmcb = svm->vmcb; in svm_l1_guest_code() 40 GUEST_ASSERT(svm->vmcb_gpa); in svm_l1_guest_code() 42 generic_svm_setup(svm, svm_l2_guest_code, in svm_l1_guest_code() 46 run_guest(vmcb, svm->vmcb_gpa); in svm_l1_guest_code() 50 run_guest(vmcb, svm->vmcb_gpa); in svm_l1_guest_code()
|
/openbmc/linux/arch/x86/kvm/ |
H A D | Makefile | 29 kvm-amd-y += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o \ 30 svm/sev.o svm/hyperv.o 33 kvm-amd-y += svm/svm_onhyperv.o 41 $(obj)/svm/vmenter.o: $(obj)/kvm-asm-offsets.h
|
/openbmc/linux/arch/arm/mm/ |
H A D | ioremap.c | 52 struct static_vm *svm; in find_static_vm_paddr() local 56 vm = &svm->vm; in find_static_vm_paddr() 66 return svm; in find_static_vm_paddr() 74 struct static_vm *svm; in find_static_vm_vaddr() local 78 vm = &svm->vm; in find_static_vm_vaddr() 85 return svm; in find_static_vm_vaddr() 97 vm = &svm->vm; in add_static_vm_early() 279 struct static_vm *svm; in __arm_ioremap_pfn_caller() local 282 if (svm) { in __arm_ioremap_pfn_caller() 424 struct static_vm *svm; in iounmap() local [all …]
|
H A D | mmu.c | 1025 struct static_vm *svm; in iotable_init() local 1030 svm = memblock_alloc(sizeof(*svm) * nr, __alignof__(*svm)); in iotable_init() 1031 if (!svm) in iotable_init() 1033 __func__, sizeof(*svm) * nr, __alignof__(*svm)); in iotable_init() 1038 vm = &svm->vm; in iotable_init() 1055 svm = memblock_alloc(sizeof(*svm), __alignof__(*svm)); in vm_reserve_area_early() 1056 if (!svm) in vm_reserve_area_early() 1058 __func__, sizeof(*svm), __alignof__(*svm)); in vm_reserve_area_early() 1060 vm = &svm->vm; in vm_reserve_area_early() 1096 vm = &svm->vm; in fill_pmd_gaps() [all …]
|
/openbmc/linux/tools/testing/vsock/ |
H A D | util.c | 91 struct sockaddr_vm svm; in vsock_connect() member 93 .svm = { in vsock_connect() 108 ret = connect(fd, &addr.sa, sizeof(addr.svm)); in vsock_connect() 141 struct sockaddr_vm svm; in vsock_accept() member 143 .svm = { in vsock_accept() 151 struct sockaddr_vm svm; in vsock_accept() member 153 socklen_t clientaddr_len = sizeof(clientaddr.svm); in vsock_accept() 160 if (bind(fd, &addr.sa, sizeof(addr.svm)) < 0) { in vsock_accept() 186 if (clientaddr_len != sizeof(clientaddr.svm)) { in vsock_accept() 198 *clientaddrp = clientaddr.svm; in vsock_accept()
|
H A D | vsock_perf.c | 100 struct sockaddr_vm svm; in vsock_connect() member 102 .svm = { in vsock_connect() 117 if (connect(fd, &addr.sa, sizeof(addr.svm)) < 0) { in vsock_connect() 143 struct sockaddr_vm svm; in run_receiver() member 145 .svm = { in run_receiver() 153 struct sockaddr_vm svm; in run_receiver() member 156 socklen_t clientaddr_len = sizeof(clientaddr.svm); in run_receiver() 169 if (bind(fd, &addr.sa, sizeof(addr.svm)) < 0) in run_receiver()
|
/openbmc/qemu/util/ |
H A D | qemu-sockets.c | 737 memset(svm, 0, sizeof(*svm)); in vsock_parse_vaddr_to_sockaddr() 738 svm->svm_family = AF_VSOCK; in vsock_parse_vaddr_to_sockaddr() 745 svm->svm_cid = val; in vsock_parse_vaddr_to_sockaddr() 752 svm->svm_port = val; in vsock_parse_vaddr_to_sockaddr() 772 if (connect(sock, (const struct sockaddr *)svm, sizeof(*svm)) < 0) { in vsock_connect_addr() 789 struct sockaddr_vm svm; in vsock_connect_saddr() local 795 return vsock_connect_addr(vaddr, &svm, errp); in vsock_connect_saddr() 802 struct sockaddr_vm svm; in vsock_listen_saddr() local 815 if (bind(slisten, (const struct sockaddr *)&svm, sizeof(svm)) != 0) { in vsock_listen_saddr() 1370 struct sockaddr_vm *svm = (struct sockaddr_vm *)sa; in socket_sockaddr_to_address_vsock() local [all …]
|