Skip to content

Commit

Permalink
vfio-pci/zdev: add function handle to clp base capability
Browse files Browse the repository at this point in the history
The function handle is a system-wide unique identifier for a zPCI
device.  With zPCI instruction interpretation, the host will no
longer be executing the zPCI instructions on behalf of the guest.
As a result, the guest needs to use the real function handle in
order for firmware to associate the instruction with the proper
PCI function.  Let's provide that handle to the guest.

Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Link: https://lore.kernel.org/r/20220606203325.110625-19-mjrosato@linux.ibm.com
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
  • Loading branch information
Matthew Rosato authored and Christian Borntraeger committed Jul 11, 2022
1 parent 8061d1c commit faf3bfc
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
5 changes: 3 additions & 2 deletions drivers/vfio/pci/vfio_pci_zdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@ static int zpci_base_cap(struct zpci_dev *zdev, struct vfio_info_cap *caps)
{
struct vfio_device_info_cap_zpci_base cap = {
.header.id = VFIO_DEVICE_INFO_CAP_ZPCI_BASE,
.header.version = 1,
.header.version = 2,
.start_dma = zdev->start_dma,
.end_dma = zdev->end_dma,
.pchid = zdev->pchid,
.vfn = zdev->vfn,
.fmb_length = zdev->fmb_length,
.pft = zdev->pft,
.gid = zdev->pfgid
.gid = zdev->pfgid,
.fh = zdev->fh
};

return vfio_info_add_capability(caps, &cap.header, sizeof(cap));
Expand Down
3 changes: 3 additions & 0 deletions include/uapi/linux/vfio_zdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ struct vfio_device_info_cap_zpci_base {
__u16 fmb_length; /* Measurement Block Length (in bytes) */
__u8 pft; /* PCI Function Type */
__u8 gid; /* PCI function group ID */
/* End of version 1 */
__u32 fh; /* PCI function handle */
/* End of version 2 */
};

/**
Expand Down

0 comments on commit faf3bfc

Please sign in to comment.