Displaying 9 results from an estimated 9 matches for "_regs".
Did you mean:
regs
2008 Apr 21
1
[PATCH] x86-64: emulation support for cmpxchg16b
...!= 1, EXC_UD, -1);
generate_exception_if(ea.type != OP_MEM, EXC_UD, -1);
- if ( (rc = ops->read(ea.mem.seg, ea.mem.off+0, &old_lo, 4, ctxt)) ||
- (rc = ops->read(ea.mem.seg, ea.mem.off+4, &old_hi, 4, ctxt)) )
- goto done;
- if ( (old_lo != _regs.eax) || (old_hi != _regs.edx) )
- {
- _regs.eax = old_lo;
- _regs.edx = old_hi;
- _regs.eflags &= ~EFLG_ZF;
- }
- else if ( ops->cmpxchg8b == NULL )
- {
- rc = X86EMUL_UNHANDLEABLE;
- goto done;
- }
-...
2011 Nov 30
0
[PATCH 4/4] x86/emulator: cleanup
...\
unsigned long max_reps = 1; \
- if ( rep_prefix ) \
+ if ( rep_prefix() ) \
max_reps = __get_rep_prefix(&_regs, ctxt->regs, ad_bytes); \
if ( max_reps == 0 ) \
goto done; \
@@ -765,7 +769,7 @@ static void __put_rep_prefix(
}
#define put_rep_prefix(reps_completed) ({...
2011 Nov 30
0
[PATCH 3/4] x86/emulator: properly handle lzcnt and tzcnt
...- int zf;
+ case 0xbc: /* bsf or tzcnt */ {
+ bool_t zf;
asm ( "bsf %2,%0; setz %b1"
: "=r" (dst.val), "=q" (zf)
- : "r" (src.val), "1" (0) );
+ : "r" (src.val) );
_regs.eflags &= ~EFLG_ZF;
- if ( zf )
+ if ( (rep_prefix == REPE_PREFIX) && vcpu_has_bmi1() )
+ {
+ _regs.eflags &= ~EFLG_CF;
+ if ( zf )
+ {
+ _regs.eflags |= EFLG_CF;
+ dst.val = op_bytes * 8;
+...
2007 Dec 19
3
x86_emulate(): forgot to generate_exception_if() for 0xff?
...():
1716 case 0xfe: /* Grp4 */
1717 generate_exception_if((m odrm_reg & 7) >= 2, EXC_UD);
1718 case 0xff: /* Grp5 */
1719 switch ( modrm_reg & 7 )
1720 {
1721 case 0: /* inc */
1722 emulate_1op("inc", dst, _regs.eflags);
1723 break;
1724 case 1: /* dec */
1725 emulate_1op("dec", dst, _regs.eflags);
1726 break;
Here we only check 0xfe for "reg >= 2"? I think we should also check
0xff -- we should swap line 1717 and 1718?
Thanks...
2013 Nov 19
1
[PATCH] x86: fix emulation of indirect far calls and jumps
...nthony Perard <anthony.perard@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Anthony Perard <anthony.perard@citrix.com>
--- a/xen/arch/x86/x86_emulate/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) */ {
unsig...
2001 Jul 11
1
Porting MS Structured Exception Handling to Linux.
...emmed out args reflect my attempt to make
this work with both POSIX.1 and POSIX.4
void on_accvio(int signo/*, siginfo_t *info, void *ignored*/)
{
printf ("[%d] - on_accvio() : entered %d\n", pthread_self(), i++);
void **_p = (void **)&signo;
throw true;
struct sigcontext_struct *_regs = (struct sigcontext_struct *)++_p;
register unsigned long _ebp = _regs->ebp;
register unsigned long _eip = _regs->eip;
asm volatile ("mov %0, (%%ebp); mov %1, 4(%%ebp)" : : "r"(_ebp),
"r"(_eip));
//These are remmed out because I was testing stuff.
// registe...
2007 Feb 15
0
[PATCH] x86 emulation: suppress rep prefix handling on non-repeatable instructions
...100
@@ -1579,7 +1579,9 @@ x86_emulate(
if ( twobyte )
goto twobyte_special_insn;
- if ( rep_prefix )
+ if ( rep_prefix &&
+ (((b & ~0xf) == 0xa0 && ((0xfcf0 >> (b & 0xf)) & 1)) ||
+ (b & ~3) == 0x6c) )
{
if ( _regs.ecx == 0 )
{
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2006 Aug 23
18
Some issues in recent ChangeSet.
We saw these issues in recent ChangeSet:
1. Reboot fail in Guest OS: Reboot in guest will close current qemu
windows but does not create a new qemu window to restart
32bit HV/xen0:
2. 4 LTP math cases(float_bessel, float_exp_log, float_power and
float_trigo) sometime fail. (775)
3. Kernel build in VMX may meet kernel panic. It complains like: "<0>
Kernel panic - not syncing:
2013 Sep 23
57
[PATCH RFC v13 00/20] Introduce PVH domU support
This patch series is a reworking of a series developed by Mukesh
Rathor at Oracle. The entirety of the design and development was done
by him; I have only reworked, reorganized, and simplified things in a
way that I think makes more sense. The vast majority of the credit
for this effort therefore goes to him. This version is labelled v13
because it is based on his most recent series, v11.