[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/emul: Fix sarx emulation test
>>> Andrew Cooper <andrew.cooper3@xxxxxxxxxx> 02/24/17 7:14 PM >>> >The emulation tests run `sarx %edx,(%ecx),%ebx` with 0xfedcba98 pointed at by >%ecx, and 0xff13 in %rdx. > >As the instruction uses a 32bit operand size, the expected result is >0x00000000ffffffdb in %rbx (rather than 0xffffffffffffffdb), due to normal >usual zeroing of the upper half of the 64bit register. > >The test harness was incorrectly sign extending from 32 bits to 64 bits rather >than zero extending when checking the result of emulation, causing a false >negative failure. > >Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> >--- a/tools/tests/x86_emulator/test_x86_emulator.c >+++ b/tools/tests/x86_emulator/test_x86_emulator.c >@@ -1155,7 +1155,7 @@ int main(int argc, char **argv) >regs.eflags = 0xa43; >rc = x86_emulate(&ctxt, &emulops); >if ( (rc != X86EMUL_OKAY) || >- regs.ebx != ((signed)*res >> (regs.edx & 0x1f)) || >+ regs.ebx != (unsigned)(((signed)*res >> (regs.edx & 0x1f))) || If "ebx" was what its name says, there wouldn't have been a problem. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |