From: Avi Kivity <[EMAIL PROTECTED]> Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>
diff --git a/user/test/x86/emulator.c b/user/test/x86/emulator.c index 54f7662..26c9aaa 100644 --- a/user/test/x86/emulator.c +++ b/user/test/x86/emulator.c @@ -128,6 +128,28 @@ void test_push(void *mem) report("push mem", stack_top[-3] == 0x123456789abcdeful); } +void test_smsw(void *mem) +{ + unsigned short msw, msw_orig, *pmsw; + unsigned long cr0; + int i, zero; + + asm("mov %%cr0, %0" : "=r"(cr0)); + msw_orig = cr0; + + asm("smsw %0" : "=r"(msw)); + report("smsw (1)", msw == msw_orig); + + memset(mem, 0, 16); + pmsw = mem; + asm("smsw %0" : "=m"(pmsw[4])); + zero = 1; + for (i = 0; i < 8; ++i) + if (i != 4 && pmsw[i]) + zero = 0; + report("smsw (2)", msw == pmsw[4] && zero); +} + int main() { void *mem; @@ -151,6 +173,8 @@ int main() test_cr8(); + test_smsw(mem); + printf("\nSUMMARY: %d tests, %d failures\n", tests, fails); return fails ? 1 : 0; } ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ kvm-commits mailing list kvm-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-commits