[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 for-4.9 3/6] x86/hvm: Fix segmentation logic for system segments



>>> On 05.04.17 at 19:33, <andrew.cooper3@xxxxxxxxxx> wrote:
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -549,7 +549,7 @@ static int hvmemul_virtual_to_linear(
>          okay = hvm_virtual_to_linear_addr(
>              seg, reg, offset - (*reps - 1) * bytes_per_rep,
>              *reps * bytes_per_rep, access_type,
> -            hvmemul_ctxt->ctxt.addr_size, linear);
> +            hvmemul_get_seg_reg(x86_seg_cs, hvmemul_ctxt), linear);
>          *linear += (*reps - 1) * bytes_per_rep;
>          if ( hvmemul_ctxt->ctxt.addr_size != 64 )
>              *linear = (uint32_t)*linear;
> @@ -558,7 +558,7 @@ static int hvmemul_virtual_to_linear(
>      {
>          okay = hvm_virtual_to_linear_addr(
>              seg, reg, offset, *reps * bytes_per_rep, access_type,
> -            hvmemul_ctxt->ctxt.addr_size, linear);
> +            hvmemul_get_seg_reg(x86_seg_cs, hvmemul_ctxt), linear);

Is there a particular reason why you use the function call in the
above two cases, but ...

> @@ -2075,7 +2075,7 @@ void hvm_emulate_init_per_insn(
>                                          hvmemul_ctxt->insn_buf_eip,
>                                          sizeof(hvmemul_ctxt->insn_buf),
>                                          hvm_access_insn_fetch,
> -                                        hvmemul_ctxt->ctxt.addr_size,
> +                                        &hvmemul_ctxt->seg_reg[x86_seg_cs],

... the cheaper array reference here?

In any event

Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.