Lines Matching refs:test_data
32 static struct test_data { struct
46 } test_data = { argument
66 u32 nr_events = test_data.nr_event_ids; in guest_setup_its_mappings()
67 u32 nr_devices = test_data.nr_devices; in guest_setup_its_mappings()
68 u32 nr_cpus = test_data.nr_cpus; in guest_setup_its_mappings()
71 its_send_mapc_cmd(test_data.cmdq_base_va, coll_id, coll_id, true); in guest_setup_its_mappings()
76 vm_paddr_t itt_base = test_data.itt_tables + (device_id * SZ_64K); in guest_setup_its_mappings()
78 its_send_mapd_cmd(test_data.cmdq_base_va, device_id, in guest_setup_its_mappings()
82 its_send_mapti_cmd(test_data.cmdq_base_va, device_id, in guest_setup_its_mappings()
85 coll_id = (coll_id + 1) % test_data.nr_cpus; in guest_setup_its_mappings()
94 for (i = 0; i < test_data.nr_cpus; i++) in guest_invalidate_all_rdists()
95 its_send_invall_cmd(test_data.cmdq_base_va, i); in guest_invalidate_all_rdists()
103 gic_init(GIC_V3, test_data.nr_cpus); in guest_setup_gic()
104 gic_rdist_enable_lpis(test_data.lpi_prop_table, SZ_64K, in guest_setup_gic()
105 test_data.lpi_pend_tables + (cpuid * SZ_64K)); in guest_setup_gic()
112 while (atomic_load(&nr_cpus_ready) < test_data.nr_cpus) in guest_setup_gic()
115 its_init(test_data.collection_table, SZ_64K, in guest_setup_gic()
116 test_data.device_table, SZ_64K, in guest_setup_gic()
117 test_data.cmdq_base, SZ_64K); in guest_setup_gic()
133 while (!READ_ONCE(test_data.request_vcpus_stop)) in guest_code()
151 sz = (3 + test_data.nr_devices) * SZ_64K; in setup_memslot()
158 sz += (1 + test_data.nr_cpus) * SZ_64K; in setup_memslot()
170 size_t nr_lpis = test_data.nr_devices * test_data.nr_event_ids; in configure_lpis()
171 u8 *tbl = addr_gpa2hva(vm, test_data.lpi_prop_table); in configure_lpis()
184 u32 nr_devices = test_data.nr_devices; in setup_test_data()
185 u32 nr_cpus = test_data.nr_cpus; in setup_test_data()
188 test_data.device_table = vm_phy_pages_alloc(vm, pages_per_64k, in setup_test_data()
192 test_data.collection_table = vm_phy_pages_alloc(vm, pages_per_64k, in setup_test_data()
199 test_data.cmdq_base = cmdq_base; in setup_test_data()
200 test_data.cmdq_base_va = (void *)cmdq_base; in setup_test_data()
202 test_data.itt_tables = vm_phy_pages_alloc(vm, pages_per_64k * nr_devices, in setup_test_data()
205 test_data.lpi_prop_table = vm_phy_pages_alloc(vm, pages_per_64k, in setup_test_data()
209 test_data.lpi_pend_tables = vm_phy_pages_alloc(vm, pages_per_64k * nr_cpus, in setup_test_data()
212 sync_global_to_guest(vm, test_data); in setup_test_data()
217 gic_fd = vgic_v3_setup(vm, test_data.nr_cpus, 64); in setup_gic()
254 for (event_id = 0; event_id < test_data.nr_event_ids; event_id++) in lpi_worker_thread()
290 nr_lpis = test_data.nr_devices * test_data.nr_event_ids * nr_iterations; in report_stats()
300 u32 nr_devices = test_data.nr_devices; in run_test()
301 u32 nr_vcpus = test_data.nr_cpus; in run_test()
325 write_guest_global(vm, test_data.request_vcpus_stop, true); in run_test()
337 vcpus = malloc(test_data.nr_cpus * sizeof(struct kvm_vcpu)); in setup_vm()
340 vm = vm_create_with_vcpus(test_data.nr_cpus, guest_code, vcpus); in setup_vm()
343 for (i = 0; i < test_data.nr_cpus; i++) in setup_vm()
366 pr_info(" -v:\tnumber of vCPUs (default: %u)\n", test_data.nr_cpus); in pr_usage()
367 pr_info(" -d:\tnumber of devices (default: %u)\n", test_data.nr_devices); in pr_usage()
368 pr_info(" -e:\tnumber of event IDs per device (default: %u)\n", test_data.nr_event_ids); in pr_usage()
380 test_data.nr_cpus = atoi(optarg); in main()
383 test_data.nr_devices = atoi(optarg); in main()
386 test_data.nr_event_ids = atoi(optarg); in main()
398 nr_threads = test_data.nr_cpus + test_data.nr_devices; in main()