Lines Matching refs:data

73 	struct test_data *data = (struct test_data *)test_data;  in worker_guest_code()  local
75 void *exp_page = (void *)data->test_pages + PAGE_SIZE * NTEST_PAGES; in worker_guest_code()
94 val = READ_ONCE(*(u64 *)data->test_pages); in worker_guest_code()
159 static inline void prepare_to_test(struct test_data *data) in prepare_to_test() argument
162 memset((void *)data->hcall_gva, 0, PAGE_SIZE); in prepare_to_test()
165 set_expected_val((void *)data->test_pages, 0x0, WORKER_VCPU_ID_1); in prepare_to_test()
166 set_expected_val((void *)data->test_pages, 0x0, WORKER_VCPU_ID_2); in prepare_to_test()
175 swap_two_test_pages(data->test_pages_pte[0], data->test_pages_pte[1]); in prepare_to_test()
182 static inline void post_test(struct test_data *data, u64 exp1, u64 exp2) in post_test() argument
188 set_expected_val((void *)data->test_pages, exp1, WORKER_VCPU_ID_1); in post_test()
189 set_expected_val((void *)data->test_pages, exp2, WORKER_VCPU_ID_2); in post_test()
201 struct test_data *data = (struct test_data *)test_data; in sender_guest_code() local
202 struct hv_tlb_flush *flush = (struct hv_tlb_flush *)data->hcall_gva; in sender_guest_code()
203 struct hv_tlb_flush_ex *flush_ex = (struct hv_tlb_flush_ex *)data->hcall_gva; in sender_guest_code()
204 vm_paddr_t hcall_gpa = data->hcall_gpa; in sender_guest_code()
208 wrmsr(HV_X64_MSR_HYPERCALL, data->hcall_gpa); in sender_guest_code()
216 prepare_to_test(data); in sender_guest_code()
221 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, 0x0); in sender_guest_code()
228 prepare_to_test(data); in sender_guest_code()
231 flush->gva_list[0] = (u64)data->test_pages; in sender_guest_code()
235 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, 0x0); in sender_guest_code()
242 prepare_to_test(data); in sender_guest_code()
248 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, i % 2 ? TESTVAL1 : TESTVAL2); in sender_guest_code()
255 prepare_to_test(data); in sender_guest_code()
258 flush->gva_list[0] = (u64)data->test_pages; in sender_guest_code()
262 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
270 prepare_to_test(data); in sender_guest_code()
278 post_test(data, 0x0, i % 2 ? TESTVAL1 : TESTVAL2); in sender_guest_code()
285 prepare_to_test(data); in sender_guest_code()
291 flush_ex->gva_list[1] = (u64)data->test_pages; in sender_guest_code()
296 post_test(data, 0x0, i % 2 ? TESTVAL1 : TESTVAL2); in sender_guest_code()
303 prepare_to_test(data); in sender_guest_code()
313 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
321 prepare_to_test(data); in sender_guest_code()
329 flush_ex->gva_list[2] = (u64)data->test_pages; in sender_guest_code()
334 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
342 prepare_to_test(data); in sender_guest_code()
347 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
355 prepare_to_test(data); in sender_guest_code()
358 flush_ex->gva_list[0] = (u64)data->test_pages; in sender_guest_code()
362 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
372 prepare_to_test(data); in sender_guest_code()
378 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, 0x0); in sender_guest_code()
385 prepare_to_test(data); in sender_guest_code()
387 flush->gva_list[0] = (u64)data->test_pages; in sender_guest_code()
393 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, 0x0); in sender_guest_code()
400 prepare_to_test(data); in sender_guest_code()
406 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
414 prepare_to_test(data); in sender_guest_code()
415 flush->gva_list[0] = (u64)data->test_pages; in sender_guest_code()
422 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
430 prepare_to_test(data); in sender_guest_code()
439 post_test(data, 0x0, i % 2 ? TESTVAL1 : TESTVAL2); in sender_guest_code()
446 prepare_to_test(data); in sender_guest_code()
451 flush_ex->gva_list[1] = (u64)data->test_pages; in sender_guest_code()
458 post_test(data, 0x0, i % 2 ? TESTVAL1 : TESTVAL2); in sender_guest_code()
465 prepare_to_test(data); in sender_guest_code()
476 post_test(data, i % 2 ? TESTVAL1 : in sender_guest_code()
484 prepare_to_test(data); in sender_guest_code()
491 flush_ex->gva_list[2] = (u64)data->test_pages; in sender_guest_code()
498 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
506 prepare_to_test(data); in sender_guest_code()
513 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
521 prepare_to_test(data); in sender_guest_code()
524 flush_ex->gva_list[0] = (u64)data->test_pages; in sender_guest_code()
530 post_test(data, i % 2 ? TESTVAL1 : TESTVAL2, in sender_guest_code()
587 struct test_data *data; in main() local
597 data = (struct test_data *)addr_gva2hva(vm, test_data_page); in main()
600 data->hcall_gva = vm_vaddr_alloc_pages(vm, 2); in main()
601 data->hcall_gpa = addr_gva2gpa(vm, data->hcall_gva); in main()
602 memset(addr_gva2hva(vm, data->hcall_gva), 0x0, 2 * PAGE_SIZE); in main()
609 data->test_pages = vm_vaddr_alloc_pages(vm, NTEST_PAGES + 1); in main()
611 memset(addr_gva2hva(vm, data->test_pages + PAGE_SIZE * i), in main()
613 set_expected_val(addr_gva2hva(vm, data->test_pages), 0x0, WORKER_VCPU_ID_1); in main()
614 set_expected_val(addr_gva2hva(vm, data->test_pages), 0x0, WORKER_VCPU_ID_2); in main()
622 pte = vm_get_page_table_entry(vm, data->test_pages + i * PAGE_SIZE); in main()
625 data->test_pages_pte[i] = gva + (gpa & ~PAGE_MASK); in main()