[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 25/25] x86/shadow: fold sh_x86_emulate_{write, cmpxchg}() into their only callers
On 07/12/17 14:19, Jan Beulich wrote: > @@ -298,14 +332,43 @@ hvm_emulate_cmpxchg(enum x86_segment seg > if ( rc ) > return rc; > > + /* Unaligned writes are only acceptable on HVM */ > + if ( (addr & (bytes - 1)) && !is_hvm_vcpu(v) ) > + return X86EMUL_UNHANDLEABLE; > + > + ptr = sh_emulate_map_dest(v, addr, bytes, sh_ctxt); > + if ( IS_ERR(ptr) ) > + return ~PTR_ERR(ptr); > + > old = new = 0; > memcpy(&old, p_old, bytes); > memcpy(&new, p_new, bytes); > > - rc = v->arch.paging.mode->shadow.x86_emulate_cmpxchg( > - v, addr, &old, new, bytes, sh_ctxt); > + paging_lock(v->domain); > + switch ( bytes ) > + { > + case 1: prev = cmpxchg((uint8_t *)ptr, old, new); break; > + case 2: prev = cmpxchg((uint16_t *)ptr, old, new); break; > + case 4: prev = cmpxchg((uint32_t *)ptr, old, new); break; > + case 8: prev = cmpxchg((uint64_t *)ptr, old, new); break; > + default: > + SHADOW_PRINTK("cmpxchg size %u is not supported\n", bytes); Given the earlier patches in the series, is it worth introducing case 16 here? Irrespective, this doesn't interfere with the purpose of the patch, so Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |