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

Re: [Xen-devel] [PATCH v6 1/3] Remove identical relationship between ioreq type and rangeset type.



> -----Original Message-----
> From: Yu Zhang [mailto:yu.c.zhang@xxxxxxxxxxxxxxx]
> Sent: 19 August 2015 02:16
> To: xen-devel@xxxxxxxxxxxxx; Paul Durrant; Ian Jackson; Stefano Stabellini; 
> Ian
> Campbell; Wei Liu; Keir (Xen.org); jbeulich@xxxxxxxx; Andrew Cooper
> Cc: Kevin Tian; zhiyuan.lv@xxxxxxxxx
> Subject: [PATCH v6 1/3] Remove identical relationship between ioreq type
> and rangeset type.
> 
> This patch uses HVMOP_IO_RANGE_XXX values rather than the raw ioreq
> type to select the ioreq server, therefore the identical relationship
> between ioreq type and rangeset type is no longer necessary.
> 
> Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx>

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

...with a fix for small style issue...

> ---
>  xen/arch/x86/hvm/hvm.c | 16 +++++++---------
>  1 file changed, 7 insertions(+), 9 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index c957610..bc36b9d 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -2545,7 +2545,7 @@ struct hvm_ioreq_server
> *hvm_select_ioreq_server(struct domain *d,
>                                PCI_SLOT(CF8_BDF(cf8)),
>                                PCI_FUNC(CF8_BDF(cf8)));
> 
> -        type = IOREQ_TYPE_PCI_CONFIG;
> +        type = HVMOP_IO_RANGE_PCI;
>          addr = ((uint64_t)sbdf << 32) |
>                 CF8_ADDR_LO(cf8) |
>                 (p->addr & 3);
> @@ -2563,7 +2563,8 @@ struct hvm_ioreq_server
> *hvm_select_ioreq_server(struct domain *d,
>      }
>      else
>      {
> -        type = p->type;
> +        type = (p->type == IOREQ_TYPE_PIO) ?
> +             HVMOP_IO_RANGE_PORT: HVMOP_IO_RANGE_MEMORY;

...here. (You need a space before the ':')

>          addr = p->addr;
>      }
> 
> @@ -2579,31 +2580,28 @@ struct hvm_ioreq_server
> *hvm_select_ioreq_server(struct domain *d,
>          if ( !s->enabled )
>              continue;
> 
> -        BUILD_BUG_ON(IOREQ_TYPE_PIO != HVMOP_IO_RANGE_PORT);
> -        BUILD_BUG_ON(IOREQ_TYPE_COPY != HVMOP_IO_RANGE_MEMORY);
> -        BUILD_BUG_ON(IOREQ_TYPE_PCI_CONFIG !=
> HVMOP_IO_RANGE_PCI);
>          r = s->range[type];
> 
>          switch ( type )
>          {
>              unsigned long end;
> 
> -        case IOREQ_TYPE_PIO:
> +        case HVMOP_IO_RANGE_PORT:
>              end = addr + p->size - 1;
>              if ( rangeset_contains_range(r, addr, end) )
>                  return s;
> 
>              break;
> -        case IOREQ_TYPE_COPY:
> +        case HVMOP_IO_RANGE_MEMORY:
>              end = addr + (p->size * p->count) - 1;
>              if ( rangeset_contains_range(r, addr, end) )
>                  return s;
> 
>              break;
> -        case IOREQ_TYPE_PCI_CONFIG:
> +        case HVMOP_IO_RANGE_PCI:
>              if ( rangeset_contains_singleton(r, addr >> 32) )
>              {
> -                p->type = type;
> +                p->type = IOREQ_TYPE_PCI_CONFIG;
>                  p->addr = addr;
>                  return s;
>              }
> --
> 1.9.1


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


 


Rackspace

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