On 18/01/17 17:19, Jan Beulich wrote: >>>> On 18.01.17 at 17:54, <andrew.coop...@citrix.com> wrote: >> On 18/01/17 15:26, Jan Beulich wrote: >>> --- a/xen/arch/x86/mm.c >>> +++ b/xen/arch/x86/mm.c >>> @@ -5340,11 +5340,19 @@ static int ptwr_emulated_cmpxchg( >>> container_of(ctxt, struct ptwr_emulate_ctxt, ctxt)); >>> } >>> >>> +static int pv_emul_is_mem_write(const struct x86_emulate_state *state, >>> + struct x86_emulate_ctxt *ctxt) >>> +{ >>> + return x86_insn_is_mem_write(state, ctxt) ? X86EMUL_OKAY >>> + : X86EMUL_UNHANDLEABLE; >>> +} >>> + >>> static const struct x86_emulate_ops ptwr_emulate_ops = { >>> .read = ptwr_emulated_read, >>> .insn_fetch = ptwr_emulated_read, >>> .write = ptwr_emulated_write, >>> .cmpxchg = ptwr_emulated_cmpxchg, >>> + .validate = pv_emul_is_mem_write, >> .validate = x86_insn_is_mem_write, ? > Nope, types don't match (and I also don't want to make them > match).
Oh, right. Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel