[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86emul: correct LFS et al handling for 64-bit mode
On 12.12.2019 12:37, Andrew Cooper wrote: > On 12/12/2019 10:11, Jan Beulich wrote: >> On 11.12.2019 21:57, Andrew Cooper wrote: >>> On 11/12/2019 09:28, Jan Beulich wrote: >>>> AMD and friends explicitly specify that 64-bit operands aren't possible >>>> for these insns. Nevertheless REX.W isn't fully ignored: It still >>>> cancels a possible operand size override (0x66). Intel otoh explicitly >>>> provides for 64-bit operands on the respective insn page of the SDM. >>>> >>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >>> It is definitely more than just these. Near jumps have per-vendor >>> behaviour on how long the instruction is, whereas far jump/calls are in >>> the same category as these by the looks of things. >> But you don't expect me to fold all of these into one patch, do >> you? > > short jmp certainly not, but far jmp/call is just two extra case > statements in this new code block, no? Not exactly (the other change would need to be in x86_decode_onebyte() and depend on ModRM.reg), but yes, I can do this. Yet then it would feel odd to not also deal with the near counterparts at the same time. Which in turn would make is desirable to also deal with near RET as well. At which point we're about to also discuss CALL/JMP with displacement operands and Jcc. >> We have _some_ vendor dependent behavior already, and I'm >> slowly adding to it. Our far call/jmp support is rather >> incomplete in other ways anyway. > > There is different truncation behaviour for %rip which needs altering, > but that is a separate area of code. Anything else? protmode_load_seg() and MOVSXD already have vendor dependent code, if that was your question. For things needing doing see above plus LOOP, J[ER]CXZ, SYSENTER, and SYSEXIT as far as I'm currently aware. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |