aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNadav Amit <namit@vmware.com>2020-06-26 02:23:33 -0700
committerPaolo Bonzini <pbonzini@redhat.com>2020-06-26 06:42:20 -0400
commitd7903be60ba61792d7edb69126e82629ab43e60d (patch)
tree6adff3a48f3475841debc523d413893dafc0c569
parent3b9b2d554aeed680ac44daaf13c04a6cdb19c6a8 (diff)
downloadkvm-unit-tests-d7903be60ba61792d7edb69126e82629ab43e60d.tar.gz
x86: realmode: fix lss test
Running lss with some random descriptor and then performing pop does not work so well. Use mov instructions instead of push/pop pair. Signed-off-by: Nadav Amit <namit@vmware.com> Message-Id: <20200626092333.2830-4-namit@vmware.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--x86/realmode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/x86/realmode.c b/x86/realmode.c
index 301b013..90ecd13 100644
--- a/x86/realmode.c
+++ b/x86/realmode.c
@@ -1378,10 +1378,10 @@ static void test_lds_lss(void)
outregs.eax == (unsigned long)desc.address &&
outregs.ebx == desc.sel);
- MK_INSN(lss, "pushl %ss\n\t"
+ MK_INSN(lss, "mov %ss, %dx\n\t"
"lss (%ebx), %eax\n\t"
"mov %ss, %ebx\n\t"
- "popl %ss\n\t");
+ "mov %dx, %ss\n\t");
exec_in_big_real_mode(&insn_lss);
report("lss", R_AX | R_BX,
outregs.eax == (unsigned long)desc.address &&