diff options
author | Nadav Amit <namit@vmware.com> | 2020-06-26 02:23:33 -0700 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-06-26 06:42:20 -0400 |
commit | d7903be60ba61792d7edb69126e82629ab43e60d (patch) | |
tree | 6adff3a48f3475841debc523d413893dafc0c569 | |
parent | 3b9b2d554aeed680ac44daaf13c04a6cdb19c6a8 (diff) | |
download | kvm-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.c | 4 |
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 && |