[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181127102237.42d8e178@x1.home>
Date: Tue, 27 Nov 2018 10:22:37 -0700
From: Alex Williamson <alex.williamson@...hat.com>
To: Pierre Morel <pmorel@...ux.ibm.com>
Cc: borntraeger@...ibm.com, cohuck@...hat.com,
linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org,
kvm@...r.kernel.org, frankja@...ux.ibm.com, akrowiak@...ux.ibm.com,
pasic@...ux.ibm.com, david@...hat.com, schwidefsky@...ibm.com,
heiko.carstens@...ibm.com, freude@...ux.ibm.com, mimu@...ux.ibm.com
Subject: Re: [PATCH v2 2/3] vfio: ap: ioctl definitions for AP Queue
Interrupt Control
On Thu, 22 Nov 2018 18:11:14 +0100
Pierre Morel <pmorel@...ux.ibm.com> wrote:
> We define two VFIO ioctl command to setup and clear
> the AP Queues interrupt.
>
> Arguments passed by the guest are:
> - the apqn, AP queue number
> - the Notification by address
> - the identifier of the previously associated adapter
We have an extensible VFIO_DEVICE_SET_IRQS ioctl already, why does AP
need its own?
> Signed-off-by: Pierre Morel <pmorel@...ux.ibm.com>
> ---
> include/uapi/linux/vfio.h | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h
> index 8131028..9a1b350 100644
> --- a/include/uapi/linux/vfio.h
> +++ b/include/uapi/linux/vfio.h
> @@ -866,6 +866,31 @@ struct vfio_iommu_spapr_tce_remove {
> };
> #define VFIO_IOMMU_SPAPR_TCE_REMOVE _IO(VFIO_TYPE, VFIO_BASE + 20)
>
> +/**
> + * VFIO_AP_SET_IRQ - _IOWR(VFIO_TYPE, VFIO_BASE + 21, struct vfio_ap_aqic)
> + *
> + * Setup IRQ for an AP Queue
> + * @cmd contains the AP queue number (apqn)
> + * @status receives the resulting status of the command
> + * @nib is the Notification Indicator byte address
> + * @adapter_id allows to retrieve the associated adapter
> + */
> +struct vfio_ap_aqic {
> + __u32 argsz;
> + __u32 flags;
> + /* out */
> + __u32 status;
> + /* in */
> + __u32 adapter_id;
> + __u64 nib;
> + __u16 apqn;
> + __u8 isc;
> + __u8 reserved[5];
> +};
> +#define VFIO_AP_SET_IRQ _IO(VFIO_TYPE, VFIO_BASE + 21)
> +#define VFIO_AP_CLEAR_IRQ _IO(VFIO_TYPE, VFIO_BASE + 22)
> +
> /* ***************************************************************** */
>
> +
> #endif /* _UAPIVFIO_H */
Powered by blists - more mailing lists