search for: old_lo

Displaying 2 results from an estimated 2 matches for "old_lo".

Did you mean: old_bo
2008 Apr 21
1
[PATCH] x86-64: emulation support for cmpxchg16b
...08-04-01 11:10:21.000000000 +0200 +++ 2008-04-15/tools/tests/test_x86_emulator.c 2008-04-15 08:48:15.000000000 +0200 @@ -74,7 +74,7 @@ static int cmpxchg( return X86EMUL_OKAY; } -static int cmpxchg8b( +static int cmpxchg2( unsigned int seg, unsigned long offset, unsigned long old_lo, @@ -94,7 +94,7 @@ static struct x86_emulate_ops emulops = .insn_fetch = read, .write = write, .cmpxchg = cmpxchg, - .cmpxchg8b = cmpxchg8b + .cmpxchg2 = cmpxchg2 }; int main(int argc, char **argv) Index: 2008-04-15/tools/tests/x86_emulate.c ====================...
2009 Aug 06
2
[PATCH] hvm emul: fix cmpxchg emulation to use an atomic operation
..._, bytes); + prev = ~old; + } + + if ( prev != old ) + rc = X86EMUL_CMPXCHG_FAILED; + + emulate_unmap_dest(v, addr, bytes, vaddr); + + return rc; +} + +#ifdef __i386__ +static int hvm_x86_emulate_cmpxchg8b( + struct vcpu *v, + unsigned long vaddr, + unsigned long old_lo, + unsigned long old_hi, + unsigned long new_lo, + unsigned long new_hi) +{ + void *addr; + u64 old, new, prev; + int rc = X86EMUL_OKAY; + + addr = emulate_map_dest(v, vaddr, 8); + if ( emulate_map_dest_failed(addr) ) + return (long)addr; + + old = (((u64) old_hi)...