Message ID | 20090816005455.GB19989@mohd-laptop (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 08/16/2009 03:54 AM, Mohammed Gamal wrote: > Signed-off-by: Mohammed Gamal<m.gamal005@gmail.com> > --- > kvm/user/test/x86/realmode.c | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > > diff --git a/kvm/user/test/x86/realmode.c b/kvm/user/test/x86/realmode.c > index 755b5d1..8db2c7a 100644 > --- a/kvm/user/test/x86/realmode.c > +++ b/kvm/user/test/x86/realmode.c > @@ -468,6 +468,21 @@ 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 $0x1234, %ax\n\t" > + "mov %ax, %es\n\t" > + "push %es\n\t" > + "movw (%esp), %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|R_SP) || outregs.eax != 0x1234) > You need to check bx here, otherwise the test will always succeed. > + print_serial("Push ES Test: FAIL\n"); > +} > + > 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/kvm/user/test/x86/realmode.c b/kvm/user/test/x86/realmode.c index 755b5d1..8db2c7a 100644 --- a/kvm/user/test/x86/realmode.c +++ b/kvm/user/test/x86/realmode.c @@ -468,6 +468,21 @@ 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 $0x1234, %ax\n\t" + "mov %ax, %es\n\t" + "push %es\n\t" + "movw (%esp), %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|R_SP) || outregs.eax != 0x1234) + print_serial("Push ES Test: FAIL\n"); +} + void test_null(void) { struct regs inregs = { 0 }, outregs; @@ -492,6 +507,7 @@ void start(void) test_call(); /* long jmp test uses call near so test it after testing call */ test_long_jmp(); + test_push_es(); exit(0); }
Signed-off-by: Mohammed Gamal <m.gamal005@gmail.com> --- kvm/user/test/x86/realmode.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)