Home
last modified time | relevance | path

Searched refs:vcpus (Results 1 – 25 of 37) sorted by relevance

12

/linux/tools/testing/selftests/kvm/x86/
H A Dset_boot_cpu_id.c90 struct kvm_vcpu *vcpus[]) in create_vm() argument
102 vcpus[i] = vm_vcpu_add(vm, i, i == bsp_vcpu_id ? guest_bsp_vcpu : in create_vm()
109 struct kvm_vcpu *vcpus[2]; in run_vm_bsp() local
112 vm = create_vm(ARRAY_SIZE(vcpus), bsp_vcpu_id, vcpus); in run_vm_bsp()
114 run_vcpu(vcpus[0]); in run_vm_bsp()
115 run_vcpu(vcpus[1]); in run_vm_bsp()
122 struct kvm_vcpu *vcpus[2]; in check_set_bsp_busy() local
125 vm = create_vm(ARRAY_SIZE(vcpus), 0, vcpus); in check_set_bsp_busy()
127 test_set_bsp_busy(vcpus[1], "after adding vcpu"); in check_set_bsp_busy()
129 run_vcpu(vcpus[0]); in check_set_bsp_busy()
[all …]
H A Dxapic_state_test.c174 struct kvm_vcpu *vcpus[NR_VCPUS]; in test_apic_id() local
179 vm = vm_create_with_vcpus(NR_VCPUS, NULL, vcpus); in test_apic_id()
183 apic_base = vcpu_get_msr(vcpus[i], MSR_IA32_APICBASE); in test_apic_id()
190 __test_apic_id(vcpus[i], apic_base); in test_apic_id()
191 __test_apic_id(vcpus[i], apic_base | X2APIC_ENABLE); in test_apic_id()
192 __test_apic_id(vcpus[i], apic_base); in test_apic_id()
H A Dmsrs_test.c342 static void vcpus_run(struct kvm_vcpu **vcpus, const int NR_VCPUS) in vcpus_run() argument
347 do_vcpu_run(vcpus[i]); in vcpus_run()
414 struct kvm_vcpu *vcpus[NR_VCPUS]; in test_msrs() local
424 vm = vm_create_with_vcpus(NR_VCPUS, guest_main, vcpus); in test_msrs()
443 vcpu_clear_cpuid_feature(vcpus[2], msrs[idx].feature); in test_msrs()
451 host_test_kvm_reg(vcpus[i]); in test_msrs()
472 vcpus_run(vcpus, NR_VCPUS); in test_msrs()
473 vcpus_run(vcpus, NR_VCPUS); in test_msrs()
H A Dprivate_mem_conversions_test.c380 struct kvm_vcpu *vcpus[KVM_MAX_VCPUS]; in test_mem_conversions() local
393 vm = __vm_create_with_vcpus(shape, nr_vcpus, 0, guest_code, vcpus); in test_mem_conversions()
407 vcpu_args_set(vcpus[i], 1, gpa); in test_mem_conversions()
415 pthread_create(&threads[i], NULL, __test_mem_conversions, vcpus[i]); in test_mem_conversions()
/linux/tools/testing/selftests/kvm/
H A Dkvm_page_table_test.c56 struct kvm_vcpu *vcpus[KVM_MAX_VCPUS]; member
256 guest_code, test_args.vcpus); in pre_init_before_test()
316 int vcpus; in vcpus_complete_new_stage() local
319 for (vcpus = 0; vcpus < nr_vcpus; vcpus++) { in vcpus_complete_new_stage()
326 for (vcpus = 0; vcpus < nr_vcpus; vcpus++) { in vcpus_complete_new_stage()
331 vcpus + 1, test_stage_string[stage]); in vcpus_complete_new_stage()
357 test_args.vcpus[i]); in run_test()
H A Dmmu_stress_test.c205 static pthread_t *spawn_workers(struct kvm_vm *vm, struct kvm_vcpu **vcpus, in spawn_workers() argument
224 info[i].vcpu = vcpus[i]; in spawn_workers()
288 struct kvm_vcpu **vcpus; in main() local
329 vcpus = malloc(nr_vcpus * sizeof(*vcpus)); in main()
330 TEST_ASSERT(vcpus, "Failed to allocate vCPU array"); in main()
338 guest_code, vcpus); in main()
372 threads = spawn_workers(vm, vcpus, start_gpa, gpa); in main()
374 free(vcpus); in main()
375 vcpus = NULL; in main()
H A Dkvm_binary_stats_test.c188 struct kvm_vcpu **vcpus; in main() local
216 vcpus = malloc(sizeof(struct kvm_vcpu *) * max_vm * max_vcpu); in main()
217 TEST_ASSERT(vcpus, "Allocate memory for storing vCPU pointers"); in main()
229 vcpus[i * max_vcpu + j] = __vm_vcpu_add(vms[i], j); in main()
248 vcpu_stats_fds[j] = vcpu_get_stats_fd(vcpus[i * max_vcpu + j]); in main()
250 stats_test(vcpu_get_stats_fd(vcpus[i * max_vcpu + j])); in main()
269 free(vcpus); in main()
H A Dsteal_time.c507 struct kvm_vcpu *vcpus[NR_VCPUS]; in main() local
528 vm = vm_create_with_vcpus(NR_VCPUS, guest_code, vcpus); in main()
534 TEST_REQUIRE(is_steal_time_supported(vcpus[0])); in main()
541 steal_time_init(vcpus[i], i); in main()
543 vcpu_args_set(vcpus[i], 1, i); in main()
546 run_vcpu(vcpus[i]); in main()
549 run_vcpu(vcpus[i]); in main()
570 run_vcpu(vcpus[i]); in main()
H A Darch_timer.c40 struct kvm_vcpu *vcpus[KVM_MAX_VCPUS]; variable
51 struct kvm_vcpu *vcpu = vcpus[vcpu_idx]; in test_vcpu_run()
/linux/tools/testing/selftests/kvm/arm64/
H A Dvgic_init.c76 struct kvm_vcpu *vcpus[]) in vm_gic_create_with_vcpus() argument
81 v.vm = vm_create_with_vcpus(nr_vcpus, guest_code, vcpus); in vm_gic_create_with_vcpus()
337 struct kvm_vcpu *vcpus[NR_VCPUS]; in test_vgic_then_vcpus() local
341 v = vm_gic_create_with_vcpus(gic_dev_type, 1, vcpus); in test_vgic_then_vcpus()
347 vcpus[i] = vm_vcpu_add(v.vm, i, guest_code); in test_vgic_then_vcpus()
349 ret = run_vcpu(vcpus[3]); in test_vgic_then_vcpus()
358 struct kvm_vcpu *vcpus[NR_VCPUS]; in test_vcpus_then_vgic() local
362 v = vm_gic_create_with_vcpus(gic_dev_type, NR_VCPUS, vcpus); in test_vcpus_then_vgic()
366 ret = run_vcpu(vcpus[3]); in test_vcpus_then_vgic()
408 struct kvm_vcpu *vcpus[NR_VCPUS]; in test_v3_new_redist_regions() local
[all …]
H A Dvgic_v5.c101 struct kvm_vcpu *vcpus[NR_VCPUS]; in test_vgic_v5_ppis() local
113 vcpus[i] = vm_vcpu_add(v.vm, i, guest_code); in test_vgic_v5_ppis()
119 vcpu_init_descriptor_tables(vcpus[i]); in test_vgic_v5_ppis()
133 ret = run_vcpu(vcpus[0]); in test_vgic_v5_ppis()
135 switch (get_ucall(vcpus[0], &uc)) { in test_vgic_v5_ppis()
178 struct kvm_vcpu *vcpus[NR_VCPUS]; in test_kvm_device() local
182 v.vm = vm_create_with_vcpus(NR_VCPUS, guest_code, vcpus); in test_kvm_device()
H A Dvgic_lpi_stress.c29 static struct kvm_vcpu **vcpus; variable
314 pthread_create(&vcpu_threads[i], NULL, vcpu_worker_thread, vcpus[i]); in run_test()
339 vcpus = malloc(test_data.nr_cpus * sizeof(struct kvm_vcpu *)); in setup_vm()
340 TEST_ASSERT(vcpus, "Failed to allocate vCPU array"); in setup_vm()
342 vm = vm_create_with_vcpus(test_data.nr_cpus, guest_code, vcpus); in setup_vm()
346 vcpu_init_descriptor_tables(vcpus[i]); in setup_vm()
361 free(vcpus); in destroy_vm()
H A Darch_timer.c168 ptimer_irq = vcpu_get_ptimer_irq(vcpus[0]); in test_init_timer_irq()
169 vtimer_irq = vcpu_get_vtimer_irq(vcpus[0]); in test_init_timer_irq()
185 vm = vm_create_with_vcpus(nr_vcpus, guest_code, vcpus); in test_vm_create()
202 vcpu_init_descriptor_tables(vcpus[i]); in test_vm_create()
H A Dvgic_irq.c987 struct kvm_vcpu *vcpus[2]; in test_vgic_two_cpus() local
993 vm = vm_create_with_vcpus(2, gcode, vcpus); in test_vgic_two_cpus()
996 vcpu_init_descriptor_tables(vcpus[0]); in test_vgic_two_cpus()
997 vcpu_init_descriptor_tables(vcpus[1]); in test_vgic_two_cpus()
1002 vcpu_args_set(vcpus[0], 2, args_gva, 0); in test_vgic_two_cpus()
1003 vcpu_args_set(vcpus[1], 2, args_gva, 1); in test_vgic_two_cpus()
1007 ret = pthread_create(&thr[0], NULL, test_vcpu_run, vcpus[0]); in test_vgic_two_cpus()
1010 ret = pthread_create(&thr[1], NULL, test_vcpu_run, vcpus[1]); in test_vgic_two_cpus()
/linux/tools/testing/selftests/kvm/lib/
H A Dmemstress.c41 static struct kvm_vcpu *vcpus[KVM_MAX_VCPUS]; variable
89 struct kvm_vcpu *vcpus[], in memstress_setup_vcpus() argument
100 vcpu_args->vcpu = vcpus[i]; in memstress_setup_vcpus()
116 vcpu_args_set(vcpus[i], 1, i); in memstress_setup_vcpus()
172 memstress_guest_code, vcpus); in memstress_create_vm()
216 memstress_setup_vcpus(vm, nr_vcpus, vcpus, vcpu_memory_bytes, in memstress_create_vm()
221 memstress_setup_nested(vm, nr_vcpus, vcpus); in memstress_create_vm()
252 void __weak memstress_setup_nested(struct kvm_vm *vm, int nr_vcpus, struct kvm_vcpu **vcpus) in memstress_setup_nested() argument
H A Dkvm_util.c286 INIT_LIST_HEAD(&vm->vcpus); in ____vm_create()
551 void *guest_code, struct kvm_vcpu *vcpus[]) in __vm_create_with_vcpus() argument
556 TEST_ASSERT(!nr_vcpus || vcpus, "Must provide vCPU array"); in __vm_create_with_vcpus()
561 vcpus[i] = vm_vcpu_add(vm, i, guest_code); in __vm_create_with_vcpus()
572 struct kvm_vcpu *vcpus[1]; in __vm_create_shape_with_one_vcpu() local
575 vm = __vm_create_with_vcpus(shape, 1, extra_mem_pages, guest_code, vcpus); in __vm_create_shape_with_one_vcpu()
577 *vcpu = vcpus[0]; in __vm_create_shape_with_one_vcpu()
793 list_for_each_entry_safe(vcpu, tmp, &vmp->vcpus, list) in kvm_vm_release()
1323 list_for_each_entry(vcpu, &vm->vcpus, list) { in vcpu_exists()
1363 list_add(&vcpu->list, &vm->vcpus); in __vm_vcpu_add()
[all …]
/linux/tools/testing/selftests/kvm/riscv/
H A Darch_timer.c85 vm = vm_create_with_vcpus(nr_vcpus, guest_code, vcpus); in test_vm_create()
86 __TEST_REQUIRE(__vcpu_has_isa_ext(vcpus[0], KVM_RISCV_ISA_EXT_SSTC), in test_vm_create()
93 vcpu_init_vector_tables(vcpus[i]); in test_vm_create()
96 timer_freq = vcpu_get_reg(vcpus[0], RISCV_TIMER_REG(frequency)); in test_vm_create()
/linux/tools/testing/selftests/kvm/lib/x86/
H A Dmemstress.c104 void memstress_setup_nested(struct kvm_vm *vm, int nr_vcpus, struct kvm_vcpu *vcpus[]) in memstress_setup_nested() argument
124 vcpu_regs_get(vcpus[vcpu_id], &regs); in memstress_setup_nested()
126 vcpu_regs_set(vcpus[vcpu_id], &regs); in memstress_setup_nested()
127 vcpu_args_set(vcpus[vcpu_id], 2, nested_gva, vcpu_id); in memstress_setup_nested()
/linux/tools/testing/selftests/kvm/include/
H A Dmemstress.h67 void memstress_start_vcpu_threads(int vcpus, void (*vcpu_fn)(struct memstress_vcpu_args *));
68 void memstress_join_vcpu_threads(int vcpus);
72 void memstress_setup_nested(struct kvm_vm *vm, int nr_vcpus, struct kvm_vcpu *vcpus[]);
H A Dtimer_test.h39 extern struct kvm_vcpu *vcpus[];
/linux/drivers/xen/
H A Dprivcmd.c1157 unsigned int vcpus; member
1163 struct ioreq_port ports[] __counted_by(vcpus);
1228 for (i = kioreq->vcpus - 1; i >= 0; i--) in ioreq_free()
1246 size = struct_size(kioreq, ports, ioeventfd->vcpus); in alloc_ioreq()
1252 kioreq->vcpus = ioeventfd->vcpus; in alloc_ioreq()
1272 kioreq->vcpus, sizeof(*ports)); in alloc_ioreq()
1278 for (i = 0; i < kioreq->vcpus; i++) { in alloc_ioreq()
1322 kioreq->vcpus != ioeventfd->vcpus) { in get_ioreq()
1324 kioreq->dom, ioeventfd->dom, kioreq->vcpus, in get_ioreq()
1325 ioeventfd->vcpus); in get_ioreq()
[all …]
/linux/Documentation/arch/powerpc/
H A Dvcpudispatch_stats.rst8 static mapping of the LPAR processors (vcpus) to physical processor
9 chips (representing the "home" node) and tries to always dispatch vcpus
11 scenarios, vcpus may be dispatched on a different processor chip (away
/linux/arch/s390/hypfs/
H A Dhypfs_vm.h25 __u32 vcpus; member
/linux/Documentation/translations/zh_CN/virt/
H A Dguest-halt-polling.rst19 cpuidle_haltpoll驱动,与haltpoll管理器一起,允许客户机vcpus在停机前轮询
/linux/arch/arm64/kvm/hyp/nvhe/
H A Dpkvm.c270 hyp_vcpu = smp_load_acquire(&hyp_vm->vcpus[vcpu_idx]); in pkvm_load_hyp_vcpu()
872 if (hyp_vm->vcpus[idx]) in register_hyp_vcpu()
879 smp_store_release(&hyp_vm->vcpus[idx], hyp_vcpu); in register_hyp_vcpu()
1005 unpin_host_vcpus(hyp_vm->vcpus, hyp_vm->kvm.created_vcpus); in __pkvm_finalize_teardown_vm()
1009 struct pkvm_hyp_vcpu *hyp_vcpu = hyp_vm->vcpus[idx]; in __pkvm_finalize_teardown_vm()

12