From: Mohammed Gamal <m.gamal005@gmail.com>
To: kvm@vger.kernel.org
Cc: avi@qumranet.com, riel@surriel.com
Subject: [PATCH][RESEND] kvm: testsuite: Consolidate mov r, imm testing in one function
Date: Wed, 27 Aug 2008 17:57:36 +0300 [thread overview]
Message-ID: <20080827145736.GA7140@mohd-laptop> (raw)
Consolidate mov r, imm testing in one function
Signed-off-by: Mohammed Gamal <m.gamal005@gmail.com>
---
user/test/x86/realmode.c | 51 +++++++++++++++++++++++++--------------------
1 files changed, 28 insertions(+), 23 deletions(-)
diff --git a/user/test/x86/realmode.c b/user/test/x86/realmode.c
index 6002909..c2f88c8 100644
--- a/user/test/x86/realmode.c
+++ b/user/test/x86/realmode.c
@@ -129,49 +129,54 @@ int regs_equal(const struct regs *r1, const struct regs *r2, int ignore)
); \
extern u8 insn_##name[], insn_##name##_end[]
-MK_INSN(mov_r32_imm_1, "mov $1234567890, %eax");
-MK_INSN(mov_r16_imm_1, "mov $1234, %ax");
-MK_INSN(mov_r8_imm_1, "mov $0x12, %ah");
-MK_INSN(mov_r8_imm_2, "mov $0x34, %al");
-MK_INSN(mov_r8_imm_3, "mov $0x12, %ah\n\t" "mov $0x34, %al\n\t");
-
-void start(void)
+void test_mov_imm(const struct regs *inregs, struct regs *outregs)
{
- struct regs inregs = { 0 }, outregs;
+ MK_INSN(mov_r32_imm_1, "mov $1234567890, %eax");
+ MK_INSN(mov_r16_imm_1, "mov $1234, %ax");
+ MK_INSN(mov_r8_imm_1, "mov $0x12, %ah");
+ MK_INSN(mov_r8_imm_2, "mov $0x34, %al");
+ MK_INSN(mov_r8_imm_3, "mov $0x12, %ah\n\t" "mov $0x34, %al\n\t");
- print_serial("abc\n");
- exec_in_big_real_mode(&inregs, &outregs, 0, 0);
- if (!regs_equal(&inregs, &outregs, 0))
- print_serial("null test: FAIL\n");
- exec_in_big_real_mode(&inregs, &outregs,
+ exec_in_big_real_mode(inregs, outregs,
insn_mov_r16_imm_1,
insn_mov_r16_imm_1_end - insn_mov_r16_imm_1);
- if (!regs_equal(&inregs, &outregs, R_AX) || outregs.eax != 1234)
+ if (!regs_equal(inregs, outregs, R_AX) || outregs->eax != 1234)
print_serial("mov test 1: FAIL\n");
/* test mov $imm, %eax */
- exec_in_big_real_mode(&inregs, &outregs,
+ exec_in_big_real_mode(inregs, outregs,
insn_mov_r32_imm_1,
insn_mov_r32_imm_1_end - insn_mov_r32_imm_1);
- if(!regs_equal(&inregs, &outregs, R_AX) || outregs.eax != 1234567890)
+ if(!regs_equal(inregs, outregs, R_AX) || outregs->eax != 1234567890)
print_serial("mov test 2: FAIL\n");
/* test mov $imm, %al/%ah */
- exec_in_big_real_mode(&inregs, &outregs,
+ exec_in_big_real_mode(inregs, outregs,
insn_mov_r8_imm_1,
insn_mov_r8_imm_1_end - insn_mov_r8_imm_1);
- if(!regs_equal(&inregs, &outregs, R_AX) || outregs.eax != 0x1200)
+ if(!regs_equal(inregs, outregs, R_AX) || outregs->eax != 0x1200)
print_serial("mov test 3: FAIL\n");
- exec_in_big_real_mode(&inregs, &outregs,
+ exec_in_big_real_mode(inregs, outregs,
insn_mov_r8_imm_2,
insn_mov_r8_imm_2_end - insn_mov_r8_imm_2);
- if(!regs_equal(&inregs, &outregs, R_AX) || outregs.eax != 0x34)
+ if(!regs_equal(inregs, outregs, R_AX) || outregs->eax != 0x34)
print_serial("mov test 4: FAIL\n");
- exec_in_big_real_mode(&inregs, &outregs,
+ exec_in_big_real_mode(inregs, outregs,
insn_mov_r8_imm_3,
insn_mov_r8_imm_3_end - insn_mov_r8_imm_3);
- if(!regs_equal(&inregs, &outregs, R_AX) || outregs.eax != 0x1234)
- print_serial("mov test 5: FAIL\n");
+ if(!regs_equal(inregs, outregs, R_AX) || outregs->eax != 0x1234)
+ print_serial("mov test 5: FAIL\n");
+}
+
+void start(void)
+{
+ struct regs inregs = { 0 }, outregs;
+
+ print_serial("abc\n");
+ exec_in_big_real_mode(&inregs, &outregs, 0, 0);
+ if (!regs_equal(&inregs, &outregs, 0))
+ print_serial("null test: FAIL\n");
+ test_mov_imm(&inregs, &outregs);
exit(0);
}
--
1.5.4.3
next reply other threads:[~2008-08-27 14:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-27 14:57 Mohammed Gamal [this message]
2008-08-28 16:05 ` [PATCH][RESEND] kvm: testsuite: Consolidate mov r, imm testing in one function Avi Kivity
2008-08-28 16:40 ` Mohammed Gamal
2008-08-28 17:02 ` Mohammed Gamal
2008-08-29 11:33 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080827145736.GA7140@mohd-laptop \
--to=m.gamal005@gmail.com \
--cc=avi@qumranet.com \
--cc=kvm@vger.kernel.org \
--cc=riel@surriel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox