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

Re: [Xen-devel] [PATCH for 4.9 1/6] x86/hvm: Correct some address space terminology



> -----Original Message-----
> From: Andrew Cooper [mailto:andrew.cooper3@xxxxxxxxxx]
> Sent: 31 March 2017 20:51
> To: Xen-devel <xen-devel@xxxxxxxxxxxxx>
> Cc: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>; Jan Beulich
> <JBeulich@xxxxxxxx>; Tim (Xen.org) <tim@xxxxxxx>; Paul Durrant
> <Paul.Durrant@xxxxxxxxxx>; Julien Grall <julien.grall@xxxxxxx>
> Subject: [PATCH for 4.9 1/6] x86/hvm: Correct some address space
> terminology
> 
> The function hvm_translate_linear_addr() translates a virtual address to a
> linear address, not a linear address to a physical address.  Correct its name.
> 
> Both hvm_translate_virtual_addr() and hvmemul_virtual_to_linear() return
> a
> linear address, not a physical address.  Correct the parameters name.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx>

> ---
> CC: Jan Beulich <JBeulich@xxxxxxxx>
> CC: Tim Deegan <tim@xxxxxxx>
> CC: Paul Durrant <paul.durrant@xxxxxxxxxx>
> CC: Julien Grall <julien.grall@xxxxxxx>
> ---
>  xen/arch/x86/hvm/emulate.c      | 12 ++++++------
>  xen/arch/x86/mm/shadow/common.c | 16 ++++++++--------
>  2 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
> index 2d92957..4073715 100644
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -506,7 +506,7 @@ static int hvmemul_virtual_to_linear(
>      unsigned long *reps,
>      enum hvm_access_type access_type,
>      struct hvm_emulate_ctxt *hvmemul_ctxt,
> -    unsigned long *paddr)
> +    unsigned long *linear)
>  {
>      struct segment_register *reg;
>      int okay;
> @@ -514,7 +514,7 @@ static int hvmemul_virtual_to_linear(
> 
>      if ( seg == x86_seg_none )
>      {
> -        *paddr = offset;
> +        *linear = offset;
>          return X86EMUL_OKAY;
>      }
> 
> @@ -549,16 +549,16 @@ 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, paddr);
> -        *paddr += (*reps - 1) * bytes_per_rep;
> +            hvmemul_ctxt->ctxt.addr_size, linear);
> +        *linear += (*reps - 1) * bytes_per_rep;
>          if ( hvmemul_ctxt->ctxt.addr_size != 64 )
> -            *paddr = (uint32_t)*paddr;
> +            *linear = (uint32_t)*linear;
>      }
>      else
>      {
>          okay = hvm_virtual_to_linear_addr(
>              seg, reg, offset, *reps * bytes_per_rep, access_type,
> -            hvmemul_ctxt->ctxt.addr_size, paddr);
> +            hvmemul_ctxt->ctxt.addr_size, linear);
>      }
> 
>      if ( okay )
> diff --git a/xen/arch/x86/mm/shadow/common.c
> b/xen/arch/x86/mm/shadow/common.c
> index d93f2ab..03cb24d 100644
> --- a/xen/arch/x86/mm/shadow/common.c
> +++ b/xen/arch/x86/mm/shadow/common.c
> @@ -136,13 +136,13 @@ static struct segment_register *hvm_get_seg_reg(
>      return seg_reg;
>  }
> 
> -static int hvm_translate_linear_addr(
> +static int hvm_translate_virtual_addr(
>      enum x86_segment seg,
>      unsigned long offset,
>      unsigned int bytes,
>      enum hvm_access_type access_type,
>      struct sh_emulate_ctxt *sh_ctxt,
> -    unsigned long *paddr)
> +    unsigned long *linear)
>  {
>      const struct segment_register *reg;
>      int okay;
> @@ -152,7 +152,7 @@ static int hvm_translate_linear_addr(
>          return -PTR_ERR(reg);
> 
>      okay = hvm_virtual_to_linear_addr(
> -        seg, reg, offset, bytes, access_type, sh_ctxt->ctxt.addr_size, 
> paddr);
> +        seg, reg, offset, bytes, access_type, sh_ctxt->ctxt.addr_size, 
> linear);
> 
>      if ( !okay )
>      {
> @@ -183,7 +183,7 @@ hvm_read(enum x86_segment seg,
>      unsigned long addr;
>      int rc;
> 
> -    rc = hvm_translate_linear_addr(
> +    rc = hvm_translate_virtual_addr(
>          seg, offset, bytes, access_type, sh_ctxt, &addr);
>      if ( rc || !bytes )
>          return rc;
> @@ -265,7 +265,7 @@ hvm_emulate_write(enum x86_segment seg,
>      if ( seg == x86_seg_ss )
>          perfc_incr(shadow_fault_emulate_stack);
> 
> -    rc = hvm_translate_linear_addr(
> +    rc = hvm_translate_virtual_addr(
>          seg, offset, bytes, hvm_access_write, sh_ctxt, &addr);
>      if ( rc || !bytes )
>          return rc;
> @@ -291,7 +291,7 @@ hvm_emulate_cmpxchg(enum x86_segment seg,
>      if ( bytes > sizeof(long) )
>          return X86EMUL_UNHANDLEABLE;
> 
> -    rc = hvm_translate_linear_addr(
> +    rc = hvm_translate_virtual_addr(
>          seg, offset, bytes, hvm_access_write, sh_ctxt, &addr);
>      if ( rc )
>          return rc;
> @@ -345,7 +345,7 @@ const struct x86_emulate_ops
> *shadow_init_emulation(
>      /* Attempt to prefetch whole instruction. */
>      sh_ctxt->insn_buf_eip = regs->rip;
>      sh_ctxt->insn_buf_bytes =
> -        (!hvm_translate_linear_addr(
> +        (!hvm_translate_virtual_addr(
>              x86_seg_cs, regs->rip, sizeof(sh_ctxt->insn_buf),
>              hvm_access_insn_fetch, sh_ctxt, &addr) &&
>           !hvm_fetch_from_guest_linear(
> @@ -374,7 +374,7 @@ void shadow_continue_emulation(struct
> sh_emulate_ctxt *sh_ctxt,
>      {
>          /* Prefetch more bytes. */
>          sh_ctxt->insn_buf_bytes =
> -            (!hvm_translate_linear_addr(
> +            (!hvm_translate_virtual_addr(
>                  x86_seg_cs, regs->rip, sizeof(sh_ctxt->insn_buf),
>                  hvm_access_insn_fetch, sh_ctxt, &addr) &&
>               !hvm_fetch_from_guest_linear(
> --
> 2.1.4


_______________________________________________
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®.