Home
last modified time | relevance | path

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

12

/OK3568_Linux_fs/kernel/arch/x86/kvm/svm/
H A Dnested.c35 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_inject_npf_exit() local
37 if (svm->vmcb->control.exit_code != SVM_EXIT_NPF) { in nested_svm_inject_npf_exit()
42 svm->vmcb->control.exit_code = SVM_EXIT_NPF; in nested_svm_inject_npf_exit()
43 svm->vmcb->control.exit_code_hi = 0; in nested_svm_inject_npf_exit()
44 svm->vmcb->control.exit_info_1 = (1ULL << 32); in nested_svm_inject_npf_exit()
45 svm->vmcb->control.exit_info_2 = fault->address; in nested_svm_inject_npf_exit()
48 svm->vmcb->control.exit_info_1 &= ~0xffffffffULL; in nested_svm_inject_npf_exit()
49 svm->vmcb->control.exit_info_1 |= fault->error_code; in nested_svm_inject_npf_exit()
51 nested_svm_vmexit(svm); in nested_svm_inject_npf_exit()
56 struct vcpu_svm *svm = to_svm(vcpu); in svm_inject_page_fault_nested() local
[all …]
H A Dsvm.c198 static void svm_complete_interrupts(struct vcpu_svm *svm);
268 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_efer() local
283 svm_set_gif(svm, true); in svm_set_efer()
290 if (!is_smm(&svm->vcpu)) in svm_set_efer()
291 svm_free_nested(svm); in svm_set_efer()
294 int ret = svm_allocate_nested(svm); in svm_set_efer()
303 svm->vmcb->save.efer = efer | EFER_SVME; in svm_set_efer()
304 vmcb_mark_dirty(svm->vmcb, VMCB_CR); in svm_set_efer()
310 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_interrupt_shadow() local
313 if (svm->vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK) in svm_get_interrupt_shadow()
[all …]
H A Dsvm.h189 void recalc_intercepts(struct vcpu_svm *svm);
217 static inline struct vmcb *get_host_vmcb(struct vcpu_svm *svm) in get_host_vmcb() argument
219 if (is_guest_mode(&svm->vcpu)) in get_host_vmcb()
220 return svm->nested.hsave; in get_host_vmcb()
222 return svm->vmcb; in get_host_vmcb()
243 static inline void set_dr_intercepts(struct vcpu_svm *svm) in set_dr_intercepts() argument
245 struct vmcb *vmcb = get_host_vmcb(svm); in set_dr_intercepts()
264 recalc_intercepts(svm); in set_dr_intercepts()
267 static inline void clr_dr_intercepts(struct vcpu_svm *svm) in clr_dr_intercepts() argument
269 struct vmcb *vmcb = get_host_vmcb(svm); in clr_dr_intercepts()
[all …]
H A Davic.c194 void avic_init_vmcb(struct vcpu_svm *svm) in avic_init_vmcb() argument
196 struct vmcb *vmcb = svm->vmcb; in avic_init_vmcb()
197 struct kvm_svm *kvm_svm = to_kvm_svm(svm->vcpu.kvm); in avic_init_vmcb()
198 phys_addr_t bpa = __sme_set(page_to_phys(svm->avic_backing_page)); in avic_init_vmcb()
206 if (kvm_apicv_activated(svm->vcpu.kvm)) in avic_init_vmcb()
265 struct vcpu_svm *svm = to_svm(vcpu); in avic_init_backing_page() local
270 if (!svm->vcpu.arch.apic->regs) in avic_init_backing_page()
281 svm->avic_backing_page = virt_to_page(svm->vcpu.arch.apic->regs); in avic_init_backing_page()
288 new_entry = __sme_set((page_to_phys(svm->avic_backing_page) & in avic_init_backing_page()
293 svm->avic_physical_id_cache = entry; in avic_init_backing_page()
[all …]
H A Dsev.c1188 void pre_sev_run(struct vcpu_svm *svm, int cpu) in pre_sev_run() argument
1191 int asid = sev_get_asid(svm->vcpu.kvm); in pre_sev_run()
1194 svm->vmcb->control.asid = asid; in pre_sev_run()
1202 if (sd->sev_vmcbs[asid] == svm->vmcb && in pre_sev_run()
1203 svm->vcpu.arch.last_vmentry_cpu == cpu) in pre_sev_run()
1206 sd->sev_vmcbs[asid] = svm->vmcb; in pre_sev_run()
1207 svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ASID; in pre_sev_run()
1208 vmcb_mark_dirty(svm->vmcb, VMCB_ASID); in pre_sev_run()
/OK3568_Linux_fs/kernel/drivers/iommu/intel/
H A Dsvm.c121 static void __flush_svm_range_dev(struct intel_svm *svm, in __flush_svm_range_dev() argument
131 qi_flush_piotlb(sdev->iommu, sdev->did, svm->pasid, address, pages, ih); in __flush_svm_range_dev()
134 svm->pasid, sdev->qdep, address, in __flush_svm_range_dev()
138 static void intel_flush_svm_range_dev(struct intel_svm *svm, in intel_flush_svm_range_dev() argument
149 __flush_svm_range_dev(svm, sdev, start, align >> VTD_PAGE_SHIFT, ih); in intel_flush_svm_range_dev()
154 static void intel_flush_svm_range(struct intel_svm *svm, unsigned long address, in intel_flush_svm_range() argument
160 list_for_each_entry_rcu(sdev, &svm->devs, list) in intel_flush_svm_range()
161 intel_flush_svm_range_dev(svm, sdev, address, pages, ih); in intel_flush_svm_range()
170 struct intel_svm *svm = container_of(mn, struct intel_svm, notifier); in intel_invalidate_range() local
172 intel_flush_svm_range(svm, start, in intel_invalidate_range()
[all …]
H A DMakefile6 obj-$(CONFIG_INTEL_IOMMU_SVM) += svm.o
/OK3568_Linux_fs/kernel/drivers/gpu/drm/nouveau/
H A Dnouveau_svm.c86 nouveau_ivmm_find(struct nouveau_svm *svm, u64 inst) in nouveau_ivmm_find() argument
89 list_for_each_entry(ivmm, &svm->inst, head) { in nouveau_ivmm_find()
164 if (!cli->svm.svmm) { in nouveau_svmm_bind()
181 nouveau_dmem_migrate_vma(cli->drm, cli->svm.svmm, vma, addr, in nouveau_svmm_bind()
205 mutex_lock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_part()
206 ivmm = nouveau_ivmm_find(svmm->vmm->cli->drm->svm, inst); in nouveau_svmm_part()
211 mutex_unlock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_part()
226 mutex_lock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_join()
227 list_add(&ivmm->head, &svmm->vmm->cli->drm->svm->inst); in nouveau_svmm_join()
228 mutex_unlock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_join()
[all …]
H A Dnouveau_drv.h102 struct nouveau_vmm svm; member
225 struct nouveau_svm *svm; member
H A Dnouveau_gem.c70 struct nouveau_vmm *vmm = cli->svm.cli ? &cli->svm : &cli->vmm; in nouveau_gem_object_open()
147 struct nouveau_vmm *vmm = cli->svm.cli ? &cli->svm : & cli->vmm; in nouveau_gem_object_close()
222 struct nouveau_vmm *vmm = cli->svm.cli ? &cli->svm : &cli->vmm; in nouveau_gem_info()
/OK3568_Linux_fs/kernel/tools/testing/selftests/kvm/lib/x86_64/
H A Dsvm.c35 struct svm_test_data *svm = addr_gva2hva(vm, svm_gva); in vcpu_alloc_svm() local
37 svm->vmcb = (void *)vm_vaddr_alloc(vm, getpagesize(), 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(vm, getpagesize(), in vcpu_alloc_svm()
44 svm->save_area_hva = addr_gva2hva(vm, (uintptr_t)svm->save_area); in vcpu_alloc_svm()
45 svm->save_area_gpa = addr_gva2gpa(vm, (uintptr_t)svm->save_area); in vcpu_alloc_svm()
48 return svm; in vcpu_alloc_svm()
72 void generic_svm_setup(struct svm_test_data *svm, void *guest_rip, void *guest_rsp) in generic_svm_setup() argument
74 struct vmcb *vmcb = svm->vmcb; in generic_svm_setup()
[all …]
/OK3568_Linux_fs/kernel/arch/arm/mm/
H A 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 …]
H A Dmmu.c1005 struct static_vm *svm; in iotable_init() local
1010 svm = memblock_alloc(sizeof(*svm) * nr, __alignof__(*svm)); in iotable_init()
1011 if (!svm) in iotable_init()
1013 __func__, sizeof(*svm) * nr, __alignof__(*svm)); in iotable_init()
1018 vm = &svm->vm; in iotable_init()
1025 add_static_vm_early(svm++); in iotable_init()
1033 struct static_vm *svm; in vm_reserve_area_early() local
1035 svm = memblock_alloc(sizeof(*svm), __alignof__(*svm)); in vm_reserve_area_early()
1036 if (!svm) in vm_reserve_area_early()
1038 __func__, sizeof(*svm), __alignof__(*svm)); in vm_reserve_area_early()
[all …]
H A Dmm.h75 extern __init void add_static_vm_early(struct static_vm *svm);
/OK3568_Linux_fs/kernel/arch/x86/kvm/
H A DMakefile23 kvm-amd-y += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o svm/sev.o
/OK3568_Linux_fs/kernel/tools/testing/vsock/
H A Dutil.c91 struct sockaddr_vm svm; in vsock_stream_connect() member
93 .svm = { in vsock_stream_connect()
108 ret = connect(fd, &addr.sa, sizeof(addr.svm)); in vsock_stream_connect()
131 struct sockaddr_vm svm; in vsock_stream_accept() member
133 .svm = { in vsock_stream_accept()
141 struct sockaddr_vm svm; in vsock_stream_accept() member
143 socklen_t clientaddr_len = sizeof(clientaddr.svm); in vsock_stream_accept()
150 if (bind(fd, &addr.sa, sizeof(addr.svm)) < 0) { in vsock_stream_accept()
176 if (clientaddr_len != sizeof(clientaddr.svm)) { in vsock_stream_accept()
188 *clientaddrp = clientaddr.svm; in vsock_stream_accept()
H A Dvsock_test.c26 struct sockaddr_vm svm; in test_stream_connection_reset() member
28 .svm = { in test_stream_connection_reset()
41 ret = connect(fd, &addr.sa, sizeof(addr.svm)); in test_stream_connection_reset()
62 struct sockaddr_vm svm; in test_stream_bind_only_client() member
64 .svm = { in test_stream_bind_only_client()
80 ret = connect(fd, &addr.sa, sizeof(addr.svm)); in test_stream_bind_only_client()
104 struct sockaddr_vm svm; in test_stream_bind_only_server() member
106 .svm = { in test_stream_bind_only_server()
116 if (bind(fd, &addr.sa, sizeof(addr.svm)) < 0) { in test_stream_bind_only_server()
H A Dvsock_diag_test.c343 struct sockaddr_vm svm; in test_listen_socket_server() member
345 .svm = { in test_listen_socket_server()
357 if (bind(fd, &addr.sa, sizeof(addr.svm)) < 0) { in test_listen_socket_server()
/OK3568_Linux_fs/kernel/tools/testing/selftests/kvm/x86_64/
H A Dsvm_vmcall_test.c19 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()
H A Dstate_test.c36 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()
/OK3568_Linux_fs/kernel/tools/testing/selftests/kvm/include/x86_64/
H A Dsvm_util.h34 void generic_svm_setup(struct svm_test_data *svm, void *guest_rip, void *guest_rsp);
/OK3568_Linux_fs/external/rknpu2/examples/3rdparty/opencv/OpenCV-android-sdk/sdk/native/jni/include/opencv2/core/opencl/
H A Dopencl_svm.hpp18 namespace cv { namespace ocl { namespace svm { namespace
/OK3568_Linux_fs/external/rknpu2/examples/3rdparty/opencv/opencv-linux-armhf/include/opencv2/core/opencl/
H A Dopencl_svm.hpp18 namespace cv { namespace ocl { namespace svm { namespace
/OK3568_Linux_fs/external/rknpu2/examples/3rdparty/opencv/opencv-linux-aarch64/include/opencv2/core/opencl/
H A Dopencl_svm.hpp18 namespace cv { namespace ocl { namespace svm { namespace
/OK3568_Linux_fs/kernel/arch/x86/include/uapi/asm/
H A Dkvm.h459 struct kvm_svm_nested_state_hdr svm; member
472 struct kvm_svm_nested_state_data svm[0]; member

12