Re: [PATCH] kvm: testsuite: Add cld/std, cli/sti, and clc instructions.

2008-09-01 Thread Avi Kivity

Mohammed Gamal wrote:

Adds cld/std, cli/sti, and clc instructions to the test harness.
  


Applied, thanks.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] kvm: testsuite: Add cld/std, cli/sti, and clc instructions.

2008-08-31 Thread Mohammed Gamal
Adds cld/std, cli/sti, and clc instructions to the test harness.

Signed-off-by: Mohammed Gamal <[EMAIL PROTECTED]>
---
 user/test/x86/realmode.c |   40 
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/user/test/x86/realmode.c b/user/test/x86/realmode.c
index 906be09..904ef21 100644
--- a/user/test/x86/realmode.c
+++ b/user/test/x86/realmode.c
@@ -172,6 +172,45 @@ void test_mov_imm(const struct regs *inregs, struct regs 
*outregs)
print_serial("mov test 5: FAIL\n");
 }
 
+void test_eflags_insn(struct regs *inregs, struct regs *outregs)
+{
+   MK_INSN(clc, "clc");
+   MK_INSN(cli, "cli");
+   MK_INSN(sti, "sti");
+   MK_INSN(cld, "cld");
+   MK_INSN(std, "std");
+
+   exec_in_big_real_mode(inregs, outregs,
+ insn_clc,
+ insn_clc_end - insn_clc);
+   if(outregs->eflags & 1)
+   print_serial("clc test: FAIL\n");
+   
+   exec_in_big_real_mode(inregs, outregs,
+ insn_cli,
+ insn_cli_end - insn_cli);
+   if(outregs->eflags & (1 << 9))
+   print_serial("cli test: FAIL\n");
+
+   exec_in_big_real_mode(inregs, outregs,
+ insn_sti,
+ insn_sti_end - insn_sti);
+   if(!(outregs->eflags & (1 << 9)))
+   print_serial("sti test: FAIL\n");
+
+   exec_in_big_real_mode(inregs, outregs,
+ insn_cld,
+ insn_cld_end - insn_cld);
+   if(outregs->eflags & (1 << 10))
+   print_serial("cld test: FAIL\n");
+
+   exec_in_big_real_mode(inregs, outregs,
+ insn_std,
+ insn_std_end - insn_std);
+   if(!(outregs->eflags & (1 << 10)))
+   print_serial("std test: FAIL\n");
+}
+
 void start(void)
 {
struct regs inregs = { 0 }, outregs;
@@ -181,6 +220,7 @@ void start(void)
if (!regs_equal(&inregs, &outregs, 0))
print_serial("null test: FAIL\n");
test_mov_imm(&inregs, &outregs);
+   test_eflags_insn(&inregs, &outregs);
exit(0);
 }
 
-- 
1.5.4.3


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html