1) single-byte opcode 0x87 (xchg): What is this strange conditional if ( ((*(opcode+1)) & 0xc7) == 5 ) supposed to address? xchg has absolutely symmetric operands. 2) two-byte opcode 0xB7 (movzx): What is this dependency on rex bit 3 doing here? Apparently this was based on Intel''s (broken) documentation - the source operand is always 16 bits. Unless someone can explain these, I''ll send a patch to remove them. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
>1) single-byte opcode 0x87 (xchg): What is this strange conditional > > if ( ((*(opcode+1)) & 0xc7) == 5 ) > >supposed to address? xchg has absolutely symmetric operands. > >2) two-byte opcode 0xB7 (movzx): What is this dependency on rex >bit 3 doing here? Apparently this was based on Intel''s (broken) >documentation - the source operand is always 16 bits. > >Unless someone can explain these, I''ll send a patch to remove them.I agree that hvm_decode needs a careful review. -Xin _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 24/11/06 14:03, "Jan Beulich" <jbeulich@novell.com> wrote:> 1) single-byte opcode 0x87 (xchg): What is this strange conditional > > if ( ((*(opcode+1)) & 0xc7) == 5 ) > > supposed to address? xchg has absolutely symmetric operands. > > 2) two-byte opcode 0xB7 (movzx): What is this dependency on rex > bit 3 doing here? Apparently this was based on Intel''s (broken) > documentation - the source operand is always 16 bits. > > Unless someone can explain these, I''ll send a patch to remove them.Yes, these can both be removed. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel