| /linux/arch/x86/kvm/svm/ |
| A D | nested.c | 222 svm->nested.msrpm[p] = svm->msrpm[p] | value; in nested_svm_vmrun_msrpm() 473 svm->nested.last_vmcb12_gpa = svm->nested.vmcb12_gpa; in nested_vmcb02_prepare_save() 623 WARN_ON(svm->vmcb == svm->nested.vmcb02.ptr); in enter_svm_guest_mode() 627 svm_switch_vmcb(svm, &svm->nested.vmcb02); in enter_svm_guest_mode() 836 svm_switch_vmcb(svm, &svm->vmcb01); in nested_svm_vmexit() 931 svm_vcpu_init_msrpm(&svm->vcpu, svm->nested.msrpm); in svm_allocate_nested() 977 svm_switch_vmcb(svm, &svm->vmcb01); in svm_leave_nested() 1134 svm->vmcb->control.exit_info_2 = svm->vcpu.arch.cr2; in nested_svm_inject_exception_vmexit() 1277 kvm_state.hdr.svm.vmcb_pa = svm->nested.vmcb12_gpa; in svm_get_nested_state() 1422 svm->nested.vmcb12_gpa = kvm_state->hdr.svm.vmcb_pa; in svm_set_nested_state() [all …]
|
| A D | svm.c | 365 svm->next_rip = svm->vmcb->control.next_rip; in skip_emulated_instruction() 402 svm->int3_rip = rip + svm->vmcb->save.cs.base; in svm_queue_exception() 1318 svm->asid = 0; in init_vmcb() 1452 svm_switch_vmcb(svm, &svm->vmcb01); in svm_create_vcpu() 1644 svm->vmcb->control.int_ctl |= svm->nested.ctl.int_ctl & in svm_clear_vintr() 2017 svm->vmcb->save.cs.base + svm->vmcb->save.rip; in db_interception() 2159 svm->next_rip = svm->vmcb->control.exit_info_2; in io_interception() 3626 if (vgif_enabled(svm) || gif_set(svm)) { in svm_enable_irq_window() 3856 if (svm->nmi_singlestep && svm->vmcb->control.event_inj) { in svm_vcpu_run() 3870 if (unlikely(svm->asid != svm->vmcb->control.asid)) { in svm_vcpu_run() [all …]
|
| A D | svm.h | 330 recalc_intercepts(svm); in set_dr_intercepts() 340 if (sev_es_guest(svm->vcpu.kvm)) { in clr_dr_intercepts() 345 recalc_intercepts(svm); in clr_dr_intercepts() 355 recalc_intercepts(svm); in set_exception_intercept() 365 recalc_intercepts(svm); in clr_exception_intercept() 374 recalc_intercepts(svm); in svm_set_intercept() 383 recalc_intercepts(svm); in svm_clr_intercept() 398 if (vgif_enabled(svm)) in enable_gif() 406 if (vgif_enabled(svm)) in disable_gif() 414 if (vgif_enabled(svm)) in gif_set() [all …]
|
| A D | avic.c | 190 struct vmcb *vmcb = svm->vmcb; in avic_init_vmcb() 423 if (ldr == svm->ldr_reg) in avic_handle_ldr_update() 432 svm->ldr_reg = ldr; in avic_handle_ldr_update() 460 if (svm->ldr_reg) in avic_handle_apic_id_update() 471 if (svm->dfr_reg == dfr) in avic_handle_dfr_update() 475 svm->dfr_reg = dfr; in avic_handle_dfr_update() 574 svm->dfr_reg = APIC_DFR_FLAT; in avic_init_vcpu() 783 *svm = to_svm(vcpu); in get_pi_vcpu_info() 882 if (!ret && svm) { in svm_update_pi_irte() 966 if (svm->avic_is_running) in avic_vcpu_load() [all …]
|
| A D | sev.c | 2251 struct vcpu_svm *svm; in sev_free_vcpu() local 2256 svm = to_svm(vcpu); in sev_free_vcpu() 2259 sev_flush_guest_memory(svm, svm->sev_es.vmsa, PAGE_SIZE); in sev_free_vcpu() 2463 vcpu = &svm->vcpu; in sev_es_validate_vmgexit() 2474 dump_ghcb(svm); in sev_es_validate_vmgexit() 2510 trace_kvm_vmgexit_exit(svm->vcpu.vcpu_id, svm->sev_es.ghcb); in sev_es_unmap_ghcb() 2514 kvm_vcpu_unmap(&svm->vcpu, &svm->sev_es.ghcb_map, true); in sev_es_unmap_ghcb() 2524 svm->asid = asid; in pre_sev_run() 2755 svm->sev_es.ghcb = svm->sev_es.ghcb_map.hva; in sev_handle_vmgexit() 2844 return kvm_sev_es_string_io(&svm->vcpu, size, port, svm->sev_es.ghcb_sa, in sev_es_string_io() [all …]
|
| /linux/drivers/iommu/intel/ |
| A D | svm.c | 303 if (!svm) in pasid_to_svm_sdev() 315 *rsvm = svm; in pasid_to_svm_sdev() 383 if (!svm) { in intel_svm_bind_gpasid() 385 svm = kzalloc(sizeof(*svm), GFP_KERNEL); in intel_svm_bind_gpasid() 454 if (!IS_ERR_OR_NULL(svm) && list_empty(&svm->devs)) { in intel_svm_bind_gpasid() 534 if (!svm) { in intel_svm_bind_mm() 535 svm = kzalloc(sizeof(*svm), GFP_KERNEL); in intel_svm_bind_mm() 536 if (!svm) in intel_svm_bind_mm() 553 ret = pasid_private_add(svm->pasid, svm); in intel_svm_bind_mm() 661 memset(svm, 0x6b, sizeof(*svm)); in intel_svm_unbind_mm() [all …]
|
| A D | Makefile | 7 obj-$(CONFIG_INTEL_IOMMU_SVM) += svm.o
|
| /linux/drivers/gpu/drm/nouveau/ |
| A D | nouveau_svm.c | 326 if (!cli->drm->svm) in nouveau_svmm_init() 339 if (cli->svm.cli) { in nouveau_svmm_init() 1009 struct nouveau_svm *svm = drm->svm; in nouveau_svm_resume() local 1010 if (svm) in nouveau_svm_resume() 1017 struct nouveau_svm *svm = drm->svm; in nouveau_svm_suspend() local 1018 if (svm) in nouveau_svm_suspend() 1025 struct nouveau_svm *svm = drm->svm; in nouveau_svm_fini() local 1026 if (svm) { in nouveau_svm_fini() 1028 kfree(drm->svm); in nouveau_svm_fini() 1029 drm->svm = NULL; in nouveau_svm_fini() [all …]
|
| A D | nouveau_drv.h | 99 struct nouveau_vmm svm; member 222 struct nouveau_svm *svm; member
|
| A D | nouveau_gem.c | 106 struct nouveau_vmm *vmm = cli->svm.cli ? &cli->svm : &cli->vmm; in nouveau_gem_object_open() 183 struct nouveau_vmm *vmm = cli->svm.cli ? &cli->svm : & cli->vmm; in nouveau_gem_object_close() 272 struct nouveau_vmm *vmm = cli->svm.cli ? &cli->svm : &cli->vmm; in nouveau_gem_info()
|
| /linux/tools/testing/selftests/kvm/lib/x86_64/ |
| A D | svm.c | 38 svm->vmcb = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_svm() 39 svm->vmcb_hva = addr_gva2hva(vm, (uintptr_t)svm->vmcb); in vcpu_alloc_svm() 40 svm->vmcb_gpa = addr_gva2gpa(vm, (uintptr_t)svm->vmcb); in vcpu_alloc_svm() 42 svm->save_area = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_svm() 43 svm->save_area_hva = addr_gva2hva(vm, (uintptr_t)svm->save_area); in vcpu_alloc_svm() 44 svm->save_area_gpa = addr_gva2gpa(vm, (uintptr_t)svm->save_area); in vcpu_alloc_svm() 47 return svm; in vcpu_alloc_svm() 73 struct vmcb *vmcb = svm->vmcb; in generic_svm_setup() 74 uint64_t vmcb_gpa = svm->vmcb_gpa; in generic_svm_setup() 85 wrmsr(MSR_VM_HSAVE_PA, svm->save_area_gpa); in generic_svm_setup() [all …]
|
| /linux/arch/arm/mm/ |
| 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() 275 struct static_vm *svm; in __arm_ioremap_pfn_caller() local 278 if (svm) { in __arm_ioremap_pfn_caller() 420 struct static_vm *svm; in __iounmap() local [all …]
|
| A D | mmu.c | 985 struct static_vm *svm; in iotable_init() local 990 svm = memblock_alloc(sizeof(*svm) * nr, __alignof__(*svm)); in iotable_init() 991 if (!svm) in iotable_init() 993 __func__, sizeof(*svm) * nr, __alignof__(*svm)); in iotable_init() 998 vm = &svm->vm; in iotable_init() 1015 svm = memblock_alloc(sizeof(*svm), __alignof__(*svm)); in vm_reserve_area_early() 1016 if (!svm) in vm_reserve_area_early() 1018 __func__, sizeof(*svm), __alignof__(*svm)); in vm_reserve_area_early() 1020 vm = &svm->vm; in vm_reserve_area_early() 1056 vm = &svm->vm; in fill_pmd_gaps() [all …]
|
| A D | mm.h | 75 extern __init void add_static_vm_early(struct static_vm *svm);
|
| /linux/arch/x86/kvm/ |
| A D | Makefile | 33 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
|
| /linux/tools/testing/selftests/kvm/x86_64/ |
| A D | svm_vmcall_test.c | 19 static void l2_guest_code(struct svm_test_data *svm) in l2_guest_code() argument 24 static void l1_guest_code(struct svm_test_data *svm) in l1_guest_code() argument 28 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() 31 generic_svm_setup(svm, l2_guest_code, in l1_guest_code() 34 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code()
|
| A D | smm_test.c | 76 struct svm_test_data *svm = arg; in guest_code() local 91 generic_svm_setup(svm, l2_guest_code, in guest_code() 107 run_guest(svm->vmcb, svm->vmcb_gpa); in guest_code() 108 svm->vmcb->save.rip += 3; in guest_code() 109 run_guest(svm->vmcb, svm->vmcb_gpa); in guest_code()
|
| A D | svm_int_ctl_test.c | 37 static void l2_guest_code(struct svm_test_data *svm) in l2_guest_code() argument 62 static void l1_guest_code(struct svm_test_data *svm) in l1_guest_code() argument 66 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() 71 generic_svm_setup(svm, l2_guest_code, in l1_guest_code() 84 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code()
|
| A D | state_test.c | 36 static void svm_l1_guest_code(struct svm_test_data *svm) in svm_l1_guest_code() argument 39 struct vmcb *vmcb = svm->vmcb; in svm_l1_guest_code() 41 GUEST_ASSERT(svm->vmcb_gpa); in svm_l1_guest_code() 43 generic_svm_setup(svm, svm_l2_guest_code, in svm_l1_guest_code() 47 run_guest(vmcb, svm->vmcb_gpa); in svm_l1_guest_code() 51 run_guest(vmcb, svm->vmcb_gpa); in svm_l1_guest_code()
|
| /linux/tools/testing/vsock/ |
| 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()
|
| A D | vsock_test.c | 28 struct sockaddr_vm svm; in test_stream_connection_reset() member 30 .svm = { in test_stream_connection_reset() 43 ret = connect(fd, &addr.sa, sizeof(addr.svm)); in test_stream_connection_reset() 64 struct sockaddr_vm svm; in test_stream_bind_only_client() member 66 .svm = { in test_stream_bind_only_client() 82 ret = connect(fd, &addr.sa, sizeof(addr.svm)); in test_stream_bind_only_client() 106 struct sockaddr_vm svm; in test_stream_bind_only_server() member 108 .svm = { in test_stream_bind_only_server() 118 if (bind(fd, &addr.sa, sizeof(addr.svm)) < 0) { in test_stream_bind_only_server()
|
| A D | vsock_diag_test.c | 341 struct sockaddr_vm svm; in test_listen_socket_server() member 343 .svm = { in test_listen_socket_server() 355 if (bind(fd, &addr.sa, sizeof(addr.svm)) < 0) { in test_listen_socket_server()
|
| /linux/tools/testing/selftests/kvm/include/x86_64/ |
| A D | svm_util.h | 34 void generic_svm_setup(struct svm_test_data *svm, void *guest_rip, void *guest_rsp);
|
| /linux/arch/x86/include/uapi/asm/ |
| A D | kvm.h | 477 struct kvm_svm_nested_state_hdr svm; member 490 struct kvm_svm_nested_state_data svm[0]; member
|
| /linux/tools/arch/x86/include/uapi/asm/ |
| A D | kvm.h | 477 struct kvm_svm_nested_state_hdr svm; member 490 struct kvm_svm_nested_state_data svm[0]; member
|