search for: op_non

Displaying 3 results from an estimated 3 matches for "op_non".

Did you mean: opinon
2011 Nov 30
0
[PATCH 3/4] x86/emulator: properly handle lzcnt and tzcnt
...) + { + _regs.eflags |= EFLG_CF; + dst.val = op_bytes * 8; + } + else if ( !dst.val ) + _regs.eflags |= EFLG_ZF; + } + else if ( zf ) { _regs.eflags |= EFLG_ZF; dst.type = OP_NONE; @@ -4371,13 +4385,28 @@ x86_emulate( break; } - case 0xbd: /* bsr */ { - int zf; + case 0xbd: /* bsr or lzcnt */ { + bool_t zf; asm ( "bsr %2,%0; setz %b1" : "=r" (dst.val), "=q" (zf) - : "...
2013 Nov 19
1
[PATCH] x86: fix emulation of indirect far calls and jumps
...ate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -3571,7 +3571,6 @@ x86_emulate( _regs.eip = src.val; src.val = dst.val; goto push; - break; case 4: /* jmp (near) */ _regs.eip = src.val; dst.type = OP_NONE; @@ -3580,9 +3579,9 @@ x86_emulate( case 5: /* jmp (far, absolute indirect) */ { unsigned long sel; - generate_exception_if(dst.type != OP_MEM, EXC_UD, -1); + generate_exception_if(src.type != OP_MEM, EXC_UD, -1); - if ( (rc = read_ulong(d...
2011 Nov 30
0
[PATCH 4/4] x86/emulator: cleanup
...rex | REX_PREFIX; \ } while (0) +#define rep_prefix() (vex.pfx >= vex_f3) +#define repe_prefix() (vex.pfx == vex_f3) +#define repne_prefix() (vex.pfx == vex_f2) + /* Type, address-of, and value of an instruction''s operand. */ struct operand { enum { OP_REG, OP_MEM, OP_IMM, OP_NONE } type; @@ -734,7 +738,7 @@ static unsigned long __get_rep_prefix( #define get_rep_prefix() ({ \ unsigned long max_reps = 1; \ - if ( rep_prefix ) \ +...