Skip to contentSkip to conversation

Add push es instruction test in test harness

PATCH New Mohammed Gamal 1 participant 1 message Aug 16, 2009 KVM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add push es instruction test in test harness

---
 kvm/user/test/x86/realmode.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
kvm/user/test/x86/realmode.c +17 -0
index 755b5d1..041f0a5 100644
@@ -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();
Signature · 1 line
1.6.0.4