Re: [Xen-devel] [PATCH v3] SVM: use generic instruction decoding

2016-09-30 Thread Boris Ostrovsky
On 09/30/2016 10:56 AM, Jan Beulich wrote: On 30.09.16 at 16:54, wrote: >> On 09/30/2016 10:44 AM, Jan Beulich wrote: > +int > +x86_insn_modrm(const struct x86_emulate_state *state, > + unsigned int *rm, unsigned int *reg) > +{ > +check_state(state);

Re: [Xen-devel] [PATCH v3] SVM: use generic instruction decoding

2016-09-30 Thread Jan Beulich
>>> On 30.09.16 at 16:54, wrote: > On 09/30/2016 10:44 AM, Jan Beulich wrote: >> +int +x86_insn_modrm(const struct x86_emulate_state *state, + unsigned int *rm, unsigned int *reg) +{ +check_state(state); + +if ( !(state->desc & ModRM) )

Re: [Xen-devel] [PATCH v3] SVM: use generic instruction decoding

2016-09-30 Thread Boris Ostrovsky
On 09/30/2016 10:44 AM, Jan Beulich wrote: > >>> +int >>> +x86_insn_modrm(const struct x86_emulate_state *state, >>> + unsigned int *rm, unsigned int *reg) >>> +{ >>> +check_state(state); >>> + >>> +if ( !(state->desc & ModRM) ) >>> +return -EINVAL; >>> + >>> +if (

Re: [Xen-devel] [PATCH v3] SVM: use generic instruction decoding

2016-09-30 Thread Jan Beulich
>>> On 30.09.16 at 16:46, wrote: > On 30/09/16 15:44, Jan Beulich wrote: +int +x86_insn_modrm(const struct x86_emulate_state *state, + unsigned int *rm, unsigned int *reg) +{ +check_state(state); + +if ( !(state->desc & ModRM) ) +

Re: [Xen-devel] [PATCH v3] SVM: use generic instruction decoding

2016-09-30 Thread Andrew Cooper
On 30/09/16 15:44, Jan Beulich wrote: >>> +int >>> +x86_insn_modrm(const struct x86_emulate_state *state, >>> + unsigned int *rm, unsigned int *reg) >>> +{ >>> +check_state(state); >>> + >>> +if ( !(state->desc & ModRM) ) >>> +return -EINVAL; >>> + >>> +if ( rm ) >

Re: [Xen-devel] [PATCH v3] SVM: use generic instruction decoding

2016-09-30 Thread Jan Beulich
>>> On 30.09.16 at 16:37, wrote: > On 09/30/2016 05:38 AM, Jan Beulich wrote: >> +if ( opc_tab[instr].opcode == ctxt.ctxt.opcode ) >> { >> -if ( (inst_len + i) >= fetch_len ) >> -{ >> -if ( !fetch(vmcb, buf + fetch_len, fetch_addr + fetch_l

Re: [Xen-devel] [PATCH v3] SVM: use generic instruction decoding

2016-09-30 Thread Boris Ostrovsky
On 09/30/2016 05:38 AM, Jan Beulich wrote: > +if ( opc_tab[instr].opcode == ctxt.ctxt.opcode ) > { > -if ( (inst_len + i) >= fetch_len ) > -{ > -if ( !fetch(vmcb, buf + fetch_len, fetch_addr + fetch_len, > -max_le

[Xen-devel] [PATCH v3] SVM: use generic instruction decoding

2016-09-30 Thread Jan Beulich
... instead of custom handling. To facilitate this break out init code from _hvm_emulate_one() into the new hvm_emulate_init(), and make hvmemul_insn_fetch( globally available. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- v3: Add comment explaining debug/non-debug build differences.