Lines Matching refs:scratch

123 	asm volatile ("mov %%cr3, %0" : "=r"(test->scratch) : : "memory");  in test_cr3_intercept()
133 return null_check(test) && test->scratch == read_cr3(); in check_cr3_nointercept()
141 while (!__sync_bool_compare_and_swap(&test->scratch, 1, 2)) in corrupt_cr3_intercept_bypass()
160 test->scratch = 1; in test_cr3_intercept_bypass()
161 while (test->scratch != 2) in test_cr3_intercept_bypass()
166 test->scratch = a; in test_cr3_intercept_bypass()
185 asm volatile ("mov %%dr0, %0" : "=r"(test->scratch) : : "memory"); in test_dr_intercept()
188 asm volatile ("mov %%dr1, %0" : "=r"(test->scratch) : : "memory"); in test_dr_intercept()
191 asm volatile ("mov %%dr2, %0" : "=r"(test->scratch) : : "memory"); in test_dr_intercept()
194 asm volatile ("mov %%dr3, %0" : "=r"(test->scratch) : : "memory"); in test_dr_intercept()
197 asm volatile ("mov %%dr4, %0" : "=r"(test->scratch) : : "memory"); in test_dr_intercept()
200 asm volatile ("mov %%dr5, %0" : "=r"(test->scratch) : : "memory"); in test_dr_intercept()
203 asm volatile ("mov %%dr6, %0" : "=r"(test->scratch) : : "memory"); in test_dr_intercept()
206 asm volatile ("mov %%dr7, %0" : "=r"(test->scratch) : : "memory"); in test_dr_intercept()
210 if (test->scratch != i) { in test_dr_intercept()
221 asm volatile ("mov %0, %%dr0" : : "r"(test->scratch) : "memory"); in test_dr_intercept()
224 asm volatile ("mov %0, %%dr1" : : "r"(test->scratch) : "memory"); in test_dr_intercept()
227 asm volatile ("mov %0, %%dr2" : : "r"(test->scratch) : "memory"); in test_dr_intercept()
230 asm volatile ("mov %0, %%dr3" : : "r"(test->scratch) : "memory"); in test_dr_intercept()
233 asm volatile ("mov %0, %%dr4" : : "r"(test->scratch) : "memory"); in test_dr_intercept()
236 asm volatile ("mov %0, %%dr5" : : "r"(test->scratch) : "memory"); in test_dr_intercept()
239 asm volatile ("mov %0, %%dr6" : : "r"(test->scratch) : "memory"); in test_dr_intercept()
242 asm volatile ("mov %0, %%dr7" : : "r"(test->scratch) : "memory"); in test_dr_intercept()
246 if (test->scratch != i) { in test_dr_intercept()
252 test->scratch = failcnt; in test_dr_intercept()
270 test->scratch = (n % 16); in dr_intercept_finished()
280 return !test->scratch; in check_dr_intercept()
377 test->scratch = msr; in __test_msr_intercept()
380 test->scratch = -1; in __test_msr_intercept()
386 else if (test->scratch != msr) in __test_msr_intercept()
388 msr, test->scratch); in __test_msr_intercept()
390 test->scratch = BIT_ULL(32) | msr; in __test_msr_intercept()
399 test->scratch = -1; in __test_msr_intercept()
405 else if (test->scratch != arb_val) in __test_msr_intercept()
407 msr, test->scratch, arb_val); in __test_msr_intercept()
409 test->scratch = BIT_ULL(33) | msr; in __test_msr_intercept()
420 exp = test->scratch; in __test_msr_intercept()
427 test->scratch = -1; in __test_msr_intercept()
429 if (test->scratch != -1) in __test_msr_intercept()
431 msr, test->scratch); in __test_msr_intercept()
441 test->scratch = BIT_ULL(34) | msr; in __test_msr_intercept()
444 test->scratch = -1; in __test_msr_intercept()
446 if (test->scratch != -1) in __test_msr_intercept()
448 msr, test->scratch); in __test_msr_intercept()
450 test->scratch = BIT_ULL(35) | msr; in __test_msr_intercept()
459 test->scratch = -2; in test_msr_intercept()
464 test->scratch = -3; in test_msr_intercept()
482 u32 msr = test->scratch & -1u; in msr_intercept_finished()
486 if (test->scratch == -3) in msr_intercept_finished()
489 if (test->scratch == -2) { in msr_intercept_finished()
499 switch (test->scratch >> 32) { in msr_intercept_finished()
510 (void)rdmsr_safe(msr, &test->scratch); in msr_intercept_finished()
549 test->scratch = ((get_regs().rdx << 32) | (vmcb->save.rax & 0xffffffff)); in msr_intercept_finished()
551 test->scratch = get_regs().rcx; in msr_intercept_finished()
558 return (test->scratch == -3); in check_msr_intercept()
567 test->scratch = 0; in prepare_mode_switch()
641 switch (test->scratch) { in mode_switch_finished()
659 test->scratch += 1; in mode_switch_finished()
661 return test->scratch == 2; in mode_switch_finished()
666 return test->scratch == 2; in check_mode_switch()
674 test->scratch = 0; in prepare_ioio()
747 test->scratch = -1; in test_ioio()
762 test->scratch += 1; in ioio_finished()
778 return test->scratch != -1; in check_ioio()