lkml.org 
[lkml]   [2019]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v4 3/4] vfio: zpci: defining the VFIO headers
    From
    Date
    On 9/19/19 11:20 AM, Cornelia Huck wrote:
    > On Fri, 6 Sep 2019 20:13:50 -0400
    > Matthew Rosato <mjrosato@linux.ibm.com> wrote:
    >
    >> From: Pierre Morel <pmorel@linux.ibm.com>
    >>
    >> We define a new device region in vfio.h to be able to
    >> get the ZPCI CLP information by reading this region from
    >> userland.
    >>
    >> We create a new file, vfio_zdev.h to define the structure
    >> of the new region we defined in vfio.h
    >>
    >> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
    >> Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
    >> ---
    >> include/uapi/linux/vfio.h | 1 +
    >> include/uapi/linux/vfio_zdev.h | 35 +++++++++++++++++++++++++++++++++++
    >> 2 files changed, 36 insertions(+)
    >> create mode 100644 include/uapi/linux/vfio_zdev.h
    >>
    >> diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h
    >> index 8f10748..8328c87 100644
    >> --- a/include/uapi/linux/vfio.h
    >> +++ b/include/uapi/linux/vfio.h
    >> @@ -371,6 +371,7 @@ struct vfio_region_gfx_edid {
    >> * to do TLB invalidation on a GPU.
    >> */
    >> #define VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD (1)
    >> +#define VFIO_REGION_SUBTYPE_ZDEV_CLP (2)
    >
    > Using a subtype is fine, but maybe add a comment what this is for?
    >

    Fair point. Maybe something like "IBM ZDEV CLP is used to pass zPCI
    device features to guest"

    >>
    >> /*
    >> * The MSIX mappable capability informs that MSIX data of a BAR can be mmapped
    >> diff --git a/include/uapi/linux/vfio_zdev.h b/include/uapi/linux/vfio_zdev.h
    >> new file mode 100644
    >> index 0000000..55e0d6d
    >> --- /dev/null
    >> +++ b/include/uapi/linux/vfio_zdev.h
    >> @@ -0,0 +1,35 @@
    >> +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
    >> +/*
    >> + * Region definition for ZPCI devices
    >> + *
    >> + * Copyright IBM Corp. 2019
    >> + *
    >> + * Author(s): Pierre Morel <pmorel@linux.ibm.com>
    >> + */
    >> +
    >> +#ifndef _VFIO_ZDEV_H_
    >> +#define _VFIO_ZDEV_H_
    >> +
    >> +#include <linux/types.h>
    >> +
    >> +/**
    >> + * struct vfio_region_zpci_info - ZPCI information.
    >
    > Hm... probably should also get some more explanation. E.g. is that
    > derived from a hardware structure?
    >

    The structure itself is not mapped 1:1 to a hardware structure, but it
    does serve as a collection of information that was derived from other
    hardware structures.

    "Used for passing hardware feature information about a zpci device
    between the host and guest" ?

    >> + *
    >> + */
    >> +struct vfio_region_zpci_info {
    >> + __u64 dasm;
    >> + __u64 start_dma;
    >> + __u64 end_dma;
    >> + __u64 msi_addr;
    >> + __u64 flags;
    >> + __u16 pchid;
    >> + __u16 mui;
    >> + __u16 noi;
    >> + __u16 maxstbl;
    >> + __u8 version;
    >> + __u8 gid;
    >> +#define VFIO_PCI_ZDEV_FLAGS_REFRESH 1
    >> + __u8 util_str[];
    >> +} __packed;
    >> +
    >> +#endif
    >
    >

    \
     
     \ /
      Last update: 2019-09-19 22:57    [W:3.275 / U:0.492 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site