{
S390PCIDMACount *cnt;
uint32_t avail;
- VFIOPCIDevice *vpdev = VFIO_PCI_BASE(pbdev->pdev);
+ VFIOPCIDevice *vpdev = VFIO_PCI_DEVICE(pbdev->pdev);
int id;
assert(vpdev);
{
struct vfio_info_cap_header *hdr;
struct vfio_device_info_cap_zpci_base *cap;
- VFIOPCIDevice *vpci = VFIO_PCI_BASE(pbdev->pdev);
+ VFIOPCIDevice *vpci = VFIO_PCI_DEVICE(pbdev->pdev);
uint64_t vfio_size;
hdr = vfio_get_device_info_cap(info, VFIO_DEVICE_INFO_CAP_ZPCI_BASE);
{
struct vfio_info_cap_header *hdr;
struct vfio_device_info_cap_zpci_base *cap;
- VFIOPCIDevice *vpci = VFIO_PCI_BASE(pbdev->pdev);
+ VFIOPCIDevice *vpci = VFIO_PCI_DEVICE(pbdev->pdev);
hdr = vfio_get_device_info_cap(info, VFIO_DEVICE_INFO_CAP_ZPCI_BASE);
struct vfio_device_info_cap_zpci_group *cap;
S390pciState *s = s390_get_phb();
ClpRspQueryPciGrp *resgrp;
- VFIOPCIDevice *vpci = VFIO_PCI_BASE(pbdev->pdev);
+ VFIOPCIDevice *vpci = VFIO_PCI_DEVICE(pbdev->pdev);
uint8_t start_gid = pbdev->zpci_fn.pfgid;
hdr = vfio_get_device_info_cap(info, VFIO_DEVICE_INFO_CAP_ZPCI_GROUP);
{
struct vfio_info_cap_header *hdr;
struct vfio_device_info_cap_zpci_util *cap;
- VFIOPCIDevice *vpci = VFIO_PCI_BASE(pbdev->pdev);
+ VFIOPCIDevice *vpci = VFIO_PCI_DEVICE(pbdev->pdev);
hdr = vfio_get_device_info_cap(info, VFIO_DEVICE_INFO_CAP_ZPCI_UTIL);
{
struct vfio_info_cap_header *hdr;
struct vfio_device_info_cap_zpci_pfip *cap;
- VFIOPCIDevice *vpci = VFIO_PCI_BASE(pbdev->pdev);
+ VFIOPCIDevice *vpci = VFIO_PCI_DEVICE(pbdev->pdev);
hdr = vfio_get_device_info_cap(info, VFIO_DEVICE_INFO_CAP_ZPCI_PFIP);
static struct vfio_device_info *get_device_info(S390PCIBusDevice *pbdev)
{
- VFIOPCIDevice *vfio_pci = VFIO_PCI_BASE(pbdev->pdev);
+ VFIOPCIDevice *vfio_pci = VFIO_PCI_DEVICE(pbdev->pdev);
return vfio_get_device_info(vfio_pci->vbasedev.fd);
}
{
ERRP_GUARD();
VFIOUserPCIDevice *udev = VFIO_USER_PCI(pdev);
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
VFIODevice *vbasedev = &vdev->vbasedev;
const char *sock_name;
+
AddressSpace *as;
SocketAddress addr;
VFIOUserProxy *proxy;
static void vfio_user_instance_init(Object *obj)
{
PCIDevice *pci_dev = PCI_DEVICE(obj);
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(obj);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(obj);
VFIODevice *vbasedev = &vdev->vbasedev;
device_add_bootindex_property(obj, &vdev->bootindex,
static void vfio_user_instance_finalize(Object *obj)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(obj);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(obj);
VFIODevice *vbasedev = &vdev->vbasedev;
if (vdev->msix != NULL) {
static void vfio_user_pci_reset(DeviceState *dev)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(dev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(dev);
VFIODevice *vbasedev = &vdev->vbasedev;
vfio_pci_pre_reset(vdev);
VFIOUserPCIDevice *udev = VFIO_USER_PCI(obj);
bool success;
- if (VFIO_PCI_BASE(udev)->vbasedev.proxy) {
+ if (VFIO_PCI_DEVICE(udev)->vbasedev.proxy) {
error_setg(errp, "Proxy is connected");
return;
}
static const TypeInfo vfio_user_pci_dev_info = {
.name = TYPE_VFIO_USER_PCI,
- .parent = TYPE_VFIO_PCI_BASE,
+ .parent = TYPE_VFIO_PCI_DEVICE,
.instance_size = sizeof(VFIOUserPCIDevice),
.class_init = vfio_user_pci_dev_class_init,
.instance_init = vfio_user_instance_init,
VFIODevice *vfio_get_vfio_device(Object *obj)
{
if (object_dynamic_cast(obj, TYPE_VFIO_PCI)) {
- return &VFIO_PCI_BASE(obj)->vbasedev;
+ return &VFIO_PCI_DEVICE(obj)->vbasedev;
} else {
return NULL;
}
static void vfio_intx_routing_notifier(PCIDevice *pdev)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
PCIINTxRoute route;
if (vdev->interrupt != VFIO_INT_INTx) {
static int vfio_msix_vector_do_use(PCIDevice *pdev, unsigned int nr,
MSIMessage *msg, IOHandler *handler)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
VFIOMSIVector *vector;
int ret;
bool resizing = !!(vdev->nr_vectors < nr + 1);
static void vfio_msix_vector_release(PCIDevice *pdev, unsigned int nr)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
VFIOMSIVector *vector = &vdev->msi_vectors[nr];
trace_vfio_msix_vector_release(vdev->vbasedev.name, nr);
*/
static void vfio_sub_page_bar_update_mapping(PCIDevice *pdev, int bar)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
VFIORegion *region = &vdev->bars[bar].region;
MemoryRegion *mmap_mr, *region_mr, *base_mr;
PCIIORegion *r;
*/
uint32_t vfio_pci_read_config(PCIDevice *pdev, uint32_t addr, int len)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
VFIODevice *vbasedev = &vdev->vbasedev;
uint32_t emu_bits = 0, emu_val = 0, phys_val = 0, val;
void vfio_pci_write_config(PCIDevice *pdev,
uint32_t addr, uint32_t val, int len)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
VFIODevice *vbasedev = &vdev->vbasedev;
uint32_t val_le = cpu_to_le32(val);
int ret;
static void vfio_pci_realize(PCIDevice *pdev, Error **errp)
{
ERRP_GUARD();
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
VFIODevice *vbasedev = &vdev->vbasedev;
int i;
char uuid[UUID_STR_LEN];
static void vfio_pci_finalize(Object *obj)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(obj);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(obj);
vfio_pci_put_device(vdev);
}
static void vfio_exitfn(PCIDevice *pdev)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(pdev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(pdev);
VFIODevice *vbasedev = &vdev->vbasedev;
vfio_unregister_req_notifier(vdev);
static void vfio_pci_reset(DeviceState *dev)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(dev);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(dev);
/* Do not reset the device during qemu_system_reset prior to cpr load */
if (cpr_is_incoming()) {
static void vfio_pci_init(Object *obj)
{
PCIDevice *pci_dev = PCI_DEVICE(obj);
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(obj);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(obj);
VFIODevice *vbasedev = &vdev->vbasedev;
device_add_bootindex_property(obj, &vdev->bootindex,
}
static const TypeInfo vfio_pci_base_dev_info = {
- .name = TYPE_VFIO_PCI_BASE,
+ .name = TYPE_VFIO_PCI_DEVICE,
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(VFIOPCIDevice),
.abstract = true,
#ifdef CONFIG_IOMMUFD
static void vfio_pci_set_fd(Object *obj, const char *str, Error **errp)
{
- VFIOPCIDevice *vdev = VFIO_PCI_BASE(obj);
+ VFIOPCIDevice *vdev = VFIO_PCI_DEVICE(obj);
vfio_device_set_fd(&vdev->vbasedev, str, errp);
}
#endif
static const TypeInfo vfio_pci_info = {
.name = TYPE_VFIO_PCI,
- .parent = TYPE_VFIO_PCI_BASE,
+ .parent = TYPE_VFIO_PCI_DEVICE,
.class_init = vfio_pci_class_init,
.instance_init = vfio_pci_init,
.instance_finalize = vfio_pci_finalize,
MemoryRegion *pba_region;
} VFIOMSIXInfo;
-OBJECT_DECLARE_SIMPLE_TYPE(VFIOPCIDevice, VFIO_PCI_BASE)
+OBJECT_DECLARE_SIMPLE_TYPE(VFIOPCIDevice, VFIO_PCI_DEVICE)
struct VFIOPCIDevice {
PCIDevice parent_obj;
#define HW_VFIO_VFIO_TYPES_H
/*
- * TYPE_VFIO_PCI_BASE is an abstract type used to share code
+ * TYPE_VFIO_PCI_DEVICE is an abstract type used to share code
* between VFIO implementations that use a kernel driver
* with those that use user sockets.
*/
-#define TYPE_VFIO_PCI_BASE "vfio-pci-base"
+#define TYPE_VFIO_PCI_DEVICE "vfio-pci-device"
#define TYPE_VFIO_PCI "vfio-pci"
/* TYPE_VFIO_PCI shares struct VFIOPCIDevice. */