[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/7] x86emul: don't special case fetching the immediate of PUSH
On 11/08/16 13:03, Jan Beulich wrote: > These immediates follow the standard patterns in all modes, so they're > better fetched by the generic source operand handling code. > > To facilitate testing, instead of adding yet another of these pretty > convoluted individual test cases, simply introduce another blowfish run > with -mno-accumulate-outgoing-args (the additional -Dstatic is to > keep the compiler from converting the calling convention to > "regparm(3)", which I did observe it does). > > To make this introduction of a new blowfish pass (and potential further > ones later one) have less impact on the readability of the final code, > abstract all such "binary blob" executions via a table to iterate > through. > > The resulting native code execution adjustment also uncovered a lack of > clobbers on the asm() in the 64-bit case, which is being fixed at once. > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> It would be helpful if the blob refactoring was in a separate patch to the emulator bugfix. > @@ -983,20 +993,27 @@ int main(int argc, char **argv) > (regs.eax != 2) || (regs.edx != 1) ) > goto fail; > printf("okay\n"); > - } > > - printf("%-40s", "Testing blowfish native execution..."); > - asm volatile ( > + if ( ctxt.addr_size != sizeof(void *) * CHAR_BIT ) > + continue; This wants to be at the top of the loop, or we will attempt to emulate 64bit code in a 32bit build of the test before hitting this condition. Otherwise, LGTM. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |