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

Re: [Xen-devel] [PATCH 2 of 4] xen: introduce PHYSDEVOP_get_nr_pirqs



Useful why? What if we'd like nr_pirqs to be per-domain dynamic in future?

 -- Keir

On 30/08/2010 12:25, "Stefano Stabellini" <Stefano.Stabellini@xxxxxxxxxxxxx>
wrote:

> Introduce a new physdevop called PHYSDEVOP_get_nr_pirqs that allows PV
> and PV on HVM guests to get the number of pirqs available.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> 
> diff -r f2dc396b92aa xen/arch/x86/hvm/hvm.c
> --- a/xen/arch/x86/hvm/hvm.c Wed Aug 18 14:14:23 2010 +0100
> +++ b/xen/arch/x86/hvm/hvm.c Fri Aug 20 14:49:52 2010 +0100
> @@ -2290,6 +2290,7 @@ static long hvm_physdev_op(int cmd, XEN_
>          case PHYSDEVOP_unmap_pirq:
>          case PHYSDEVOP_eoi:
>          case PHYSDEVOP_irq_status_query:
> +        case PHYSDEVOP_get_nr_pirqs:
>              return do_physdev_op(cmd, arg);
>          default:
>              return -ENOSYS;
> @@ -2393,6 +2394,8 @@ static long hvm_physdev_op_compat32(
>          case PHYSDEVOP_eoi:
>          case PHYSDEVOP_irq_status_query:
>              return compat_physdev_op(cmd, arg);
> +        case PHYSDEVOP_get_nr_pirqs:
> +            return do_physdev_op(cmd, arg);
>          break;
>      default:
>              return -ENOSYS;
> diff -r f2dc396b92aa xen/arch/x86/physdev.c
> --- a/xen/arch/x86/physdev.c Wed Aug 18 14:14:23 2010 +0100
> +++ b/xen/arch/x86/physdev.c Fri Aug 20 14:49:52 2010 +0100
> @@ -572,6 +572,12 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
>                                setup_gsi.polarity);
>          break; 
>      }
> +    case PHYSDEVOP_get_nr_pirqs: {
> +        struct physdev_nr_pirqs out;
> +        out.nr_pirqs = v->domain->nr_pirqs;
> +        ret = copy_to_guest(arg, &out, 1) ? -EFAULT : 0;
> +        break;
> +    }
>      default:
>          ret = -ENOSYS;
>          break;
> diff -r f2dc396b92aa xen/include/public/physdev.h
> --- a/xen/include/public/physdev.h Wed Aug 18 14:14:23 2010 +0100
> +++ b/xen/include/public/physdev.h Fri Aug 20 14:49:52 2010 +0100
> @@ -240,6 +240,15 @@ struct physdev_setup_gsi {
>  typedef struct physdev_setup_gsi physdev_setup_gsi_t;
>  DEFINE_XEN_GUEST_HANDLE(physdev_setup_gsi_t);
>  
> +#define PHYSDEVOP_get_nr_pirqs    22
> +struct physdev_nr_pirqs {
> +    /* OUT */
> +    uint32_t nr_pirqs;
> +};
> +
> +typedef struct physdev_nr_pirqs physdev_nr_pirqs_t;
> +DEFINE_XEN_GUEST_HANDLE(physdev_nr_pirqs_t);
> +
>  /*
>   * Notify that some PIRQ-bound event channels have been unmasked.
>   * ** This command is obsolete since interface version 0x00030202 and is **
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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