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

diff --git a/kvm/user/test/x86/realmode.c b/kvm/user/test/x86/realmode.c
index 755b5d1..041f0a5 100644
--- a/kvm/user/test/x86/realmode.c
+++ b/kvm/user/test/x86/realmode.c
@@ -468,6 +468,22 @@ void test_long_jmp()
                print_serial("Long JMP Test: FAIL\n");
 }
 
+void test_push_es()
+{
+       struct regs inregs = { 0 }, outregs;
+       
+       MK_INSN(push_es, "mov $0x231, %bx\n\t" //Just write a dummy value to 
see if it gets overwritten
+                        "mov %ax, %es\n\t"
+                        "push %es\n\t"
+                        "pop %bx \n\t"
+                        ); 
+       exec_in_big_real_mode(&inregs, &outregs,
+                             insn_push_es,
+                             insn_push_es_end - insn_push_es);
+       if(!regs_equal(&inregs, &outregs, R_AX|R_BX) ||  outregs.ebx != 
outregs.eax)
+               print_serial("Push ES Test: FAIL\n");
+}
+
 void test_null(void)
 {
        struct regs inregs = { 0 }, outregs;
@@ -481,6 +497,7 @@ void start(void)
        test_null();
 
        test_shld();
+       test_push_es();
        test_mov_imm();
        test_cmp_imm();
        test_add_imm();
-- 
1.6.0.4

--
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

Reply via email to