Re: [Xen-devel] [PATCH 09/17] SVM: use generic instruction decoding

2016-09-27 Thread Andrew Cooper
On 27/09/16 14:56, Jan Beulich wrote: On 27.09.16 at 15:42, wrote: >> On 15/09/16 07:55, Jan Beulich wrote: >> On 14.09.16 at 19:56, wrote: On 08/09/16 14:14, Jan Beulich wrote: > int __get_instruction_length_from_list(struct vcpu *v, > const enum instruction_index

Re: [Xen-devel] [PATCH 09/17] SVM: use generic instruction decoding

2016-09-27 Thread Jan Beulich
>>> On 27.09.16 at 15:42, wrote: > On 15/09/16 07:55, Jan Beulich wrote: > On 14.09.16 at 19:56, wrote: >>> On 08/09/16 14:14, Jan Beulich wrote: int __get_instruction_length_from_list(struct vcpu *v, const enum instruction_index *list, unsigned int list_count) { >>>

Re: [Xen-devel] [PATCH 09/17] SVM: use generic instruction decoding

2016-09-27 Thread Andrew Cooper
On 15/09/16 07:55, Jan Beulich wrote: On 14.09.16 at 19:56, wrote: >> On 08/09/16 14:14, Jan Beulich wrote: >>> int __get_instruction_length_from_list(struct vcpu *v, >>> const enum instruction_index *list, unsigned int list_count) >>> { >>> struct vmcb_struct *vmcb = v->arch.

Re: [Xen-devel] [PATCH 09/17] SVM: use generic instruction decoding

2016-09-14 Thread Jan Beulich
>>> On 14.09.16 at 19:56, wrote: > On 08/09/16 14:14, Jan Beulich wrote: >> int __get_instruction_length_from_list(struct vcpu *v, >> const enum instruction_index *list, unsigned int list_count) >> { >> struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb; >> -unsigned int i, j, ins

Re: [Xen-devel] [PATCH 09/17] SVM: use generic instruction decoding

2016-09-14 Thread Andrew Cooper
On 08/09/16 14:14, Jan Beulich wrote: > @@ -89,141 +54,96 @@ static unsigned long svm_nextrip_insn_le > return vmcb->nextrip - vmcb->rip; > } > > -/* First byte: Length. Following bytes: Opcode bytes. */ > -#define MAKE_INSTR(nm, ...) static const u8 OPCODE_##nm[] = { __VA_ARGS__ } > -MAKE_

[Xen-devel] [PATCH 09/17] SVM: use generic instruction decoding

2016-09-08 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 --- a/xen/arch/x86/hvm/emulate.c +++ b/xen/arch/x86/hvm/emulate.c @@ -835,7 +835,7 @@ static