Lines Matching refs:v86
109 static bool do_test(struct vm86plus_struct *v86, unsigned long eip, in do_test() argument
116 v86->regs.eip = eip; in do_test()
117 ret = vm86(VM86_ENTER, v86); in do_test()
165 struct vm86plus_struct v86; in main() local
176 memset(&v86, 0, sizeof(v86)); in main()
178 v86.regs.cs = load_addr / 16; in main()
179 v86.regs.ss = load_addr / 16; in main()
180 v86.regs.ds = load_addr / 16; in main()
181 v86.regs.es = load_addr / 16; in main()
183 assert((v86.regs.cs & 3) == 0); /* Looks like RPL = 0 */ in main()
186 do_test(&v86, vmcode_bound - vmcode, VM86_INTx, 5, "#BR"); in main()
195 do_test(&v86, vmcode_sysenter - vmcode, -1, 0, "SYSENTER"); in main()
206 do_test(&v86, vmcode_syscall - vmcode, VM86_SIGNAL, 0, "SYSCALL"); in main()
210 v86.regs.eflags |= X86_EFLAGS_VIP; in main()
211 v86.regs.eflags &= ~X86_EFLAGS_IF; in main()
212 do_test(&v86, vmcode_sti - vmcode, VM86_STI, 0, "STI with VIP set"); in main()
215 do_test(&v86, vmcode_int3 - vmcode, VM86_TRAP, 3, "INT3"); in main()
218 v86.regs.eax = (unsigned int)-1; in main()
219 do_test(&v86, vmcode_int80 - vmcode, VM86_INTx, 0x80, "int80"); in main()
222 v86.regs.cs = 0; in main()
223 v86.regs.ss = 0; in main()
226 if (do_test(&v86, 0, VM86_SIGNAL, 0, "Execute null pointer") && in main()