| /openbmc/qemu/hw/vfio/ |
| H A D | pci.c | 55 static void vfio_disable_interrupts(VFIOPCIDevice *vdev); 56 static void vfio_mmap_set_enabled(VFIOPCIDevice *vdev, bool enabled); 57 static void vfio_msi_disable_common(VFIOPCIDevice *vdev); 60 static bool vfio_notifier_init(VFIOPCIDevice *vdev, EventNotifier *e, in vfio_notifier_init() argument 65 fd = vfio_cpr_load_vector_fd(vdev, name, nr); in vfio_notifier_init() 78 vfio_cpr_save_vector_fd(vdev, name, nr, fd); in vfio_notifier_init() 82 static void vfio_notifier_cleanup(VFIOPCIDevice *vdev, EventNotifier *e, in vfio_notifier_cleanup() argument 85 vfio_cpr_delete_vector_fd(vdev, name, nr); in vfio_notifier_cleanup() 106 VFIOPCIDevice *vdev = opaque; in vfio_intx_mmap_enable() local 108 if (vdev->intx.pending) { in vfio_intx_mmap_enable() [all …]
|
| H A D | igd.c | 63 static int igd_gen(VFIOPCIDevice *vdev) in igd_gen() argument 70 if ((vdev->device_id & 0xffe) == 0xa84) { in igd_gen() 74 switch (vdev->device_id & 0xff00) { in igd_gen() 153 static bool vfio_pci_igd_opregion_init(VFIOPCIDevice *vdev, in vfio_pci_igd_opregion_init() argument 159 vdev->igd_opregion = g_malloc0(info->size); in vfio_pci_igd_opregion_init() 160 ret = pread(vdev->vbasedev.fd, vdev->igd_opregion, in vfio_pci_igd_opregion_init() 164 g_free(vdev->igd_opregion); in vfio_pci_igd_opregion_init() 165 vdev->igd_opregion = NULL; in vfio_pci_igd_opregion_init() 183 vdev->igd_opregion, info->size); in vfio_pci_igd_opregion_init() 185 trace_vfio_pci_igd_opregion_enabled(vdev->vbasedev.name); in vfio_pci_igd_opregion_init() [all …]
|
| H A D | pci-quirks.c | 51 bool vfio_opt_rom_in_denylist(VFIOPCIDevice *vdev) in vfio_opt_rom_in_denylist() argument 56 if (vfio_pci_is(vdev, rom_denylist[i].vendor, rom_denylist[i].device)) { in vfio_opt_rom_in_denylist() 57 trace_vfio_quirk_rom_in_denylist(vdev->vbasedev.name, in vfio_opt_rom_in_denylist() 75 VFIOPCIDevice *vdev = window->vdev; in vfio_generic_window_quirk_address_read() local 77 return vfio_region_read(&vdev->bars[window->bar].region, in vfio_generic_window_quirk_address_read() 86 VFIOPCIDevice *vdev = window->vdev; in vfio_generic_window_quirk_address_write() local 91 vfio_region_write(&vdev->bars[window->bar].region, in vfio_generic_window_quirk_address_write() 98 trace_vfio_quirk_generic_window_address_write(vdev->vbasedev.name, in vfio_generic_window_quirk_address_write() 115 VFIOPCIDevice *vdev = window->vdev; in vfio_generic_window_quirk_data_read() local 119 data = vfio_region_read(&vdev->bars[window->bar].region, in vfio_generic_window_quirk_data_read() [all …]
|
| H A D | cpr.c | 32 #define STRDUP_VECTOR_FD_NAME(vdev, name) \ argument 33 g_strdup_printf("%s_%s", (vdev)->vbasedev.name, (name)) 35 void vfio_cpr_save_vector_fd(VFIOPCIDevice *vdev, const char *name, int nr, in vfio_cpr_save_vector_fd() argument 38 g_autofree char *fdname = STRDUP_VECTOR_FD_NAME(vdev, name); in vfio_cpr_save_vector_fd() 42 int vfio_cpr_load_vector_fd(VFIOPCIDevice *vdev, const char *name, int nr) in vfio_cpr_load_vector_fd() argument 44 g_autofree char *fdname = STRDUP_VECTOR_FD_NAME(vdev, name); in vfio_cpr_load_vector_fd() 48 void vfio_cpr_delete_vector_fd(VFIOPCIDevice *vdev, const char *name, int nr) in vfio_cpr_delete_vector_fd() argument 50 g_autofree char *fdname = STRDUP_VECTOR_FD_NAME(vdev, name); in vfio_cpr_delete_vector_fd() 54 static void vfio_cpr_claim_vectors(VFIOPCIDevice *vdev, int nr_vectors, in vfio_cpr_claim_vectors() argument 59 PCIDevice *pdev = &vdev->pdev; in vfio_cpr_claim_vectors() [all …]
|
| H A D | pci.h | 50 void (*reset)(struct VFIOPCIDevice *vdev, struct VFIOQuirk *quirk); 99 struct VFIOPCIDevice *vdev; /* back pointer to device */ member 195 static inline bool vfio_pci_is(VFIOPCIDevice *vdev, uint32_t vendor, uint32_t device) in vfio_pci_is() argument 197 return (vendor == PCI_ANY_ID || vendor == vdev->vendor_id) && in vfio_pci_is() 198 (device == PCI_ANY_ID || device == vdev->device_id); in vfio_pci_is() 201 static inline bool vfio_is_vga(VFIOPCIDevice *vdev) in vfio_is_vga() argument 203 return (vdev->class_code >> 8) == PCI_CLASS_DISPLAY_VGA; in vfio_is_vga() 207 void vfio_pci_vector_init(VFIOPCIDevice *vdev, int nr); 208 void vfio_pci_add_kvm_msi_virq(VFIOPCIDevice *vdev, VFIOMSIVector *vector, 210 void vfio_pci_prepare_kvm_msi_virq_batch(VFIOPCIDevice *vdev); [all …]
|
| H A D | platform.c | 62 VFIOPlatformDevice *vdev = in vfio_init_intp() local 64 SysBusDevice *sbdev = SYS_BUS_DEVICE(vdev); in vfio_init_intp() 68 intp->vdev = vdev; in vfio_init_intp() 100 QLIST_INSERT_HEAD(&vdev->intp_list, intp, next); in vfio_init_intp() 116 VFIODevice *vbasedev = &intp->vdev->vbasedev; in vfio_set_trigger_eventfd() 147 static void vfio_mmap_set_enabled(VFIOPlatformDevice *vdev, bool enabled) in vfio_mmap_set_enabled() argument 151 for (i = 0; i < vdev->vbasedev.num_initial_regions; i++) { in vfio_mmap_set_enabled() 152 vfio_region_mmaps_set_enabled(vdev->regions[i], enabled); in vfio_mmap_set_enabled() 169 VFIOPlatformDevice *vdev = (VFIOPlatformDevice *)opaque; in vfio_intp_mmap_enable() local 171 QEMU_LOCK_GUARD(&vdev->intp_mutex); in vfio_intp_mmap_enable() [all …]
|
| H A D | display.c | 42 VFIOPCIDevice *vdev = opaque; in vfio_display_edid_link_up() local 43 VFIODisplay *dpy = vdev->dpy; in vfio_display_edid_link_up() 44 int fd = vdev->vbasedev.fd; in vfio_display_edid_link_up() 57 static void vfio_display_edid_update(VFIOPCIDevice *vdev, bool enabled, in vfio_display_edid_update() argument 60 VFIODisplay *dpy = vdev->dpy; in vfio_display_edid_update() 61 int fd = vdev->vbasedev.fd; in vfio_display_edid_update() 65 .prefx = prefx ?: vdev->display_xres, in vfio_display_edid_update() 66 .prefy = prefy ?: vdev->display_yres, in vfio_display_edid_update() 112 VFIOPCIDevice *vdev = opaque; in vfio_display_edid_ui_info() local 113 VFIODisplay *dpy = vdev->dpy; in vfio_display_edid_ui_info() [all …]
|
| /openbmc/qemu/hw/virtio/ |
| H A D | virtio-config-io.c | 15 uint32_t virtio_config_readb(VirtIODevice *vdev, uint32_t addr) in virtio_config_readb() argument 17 VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev); in virtio_config_readb() 20 if (addr + sizeof(val) > vdev->config_len) { in virtio_config_readb() 24 k->get_config(vdev, vdev->config); in virtio_config_readb() 26 val = ldub_p(vdev->config + addr); in virtio_config_readb() 30 uint32_t virtio_config_readw(VirtIODevice *vdev, uint32_t addr) in virtio_config_readw() argument 32 VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev); in virtio_config_readw() 35 if (addr + sizeof(val) > vdev->config_len) { in virtio_config_readw() 39 k->get_config(vdev, vdev->config); in virtio_config_readw() 41 val = lduw_p(vdev->config + addr); in virtio_config_readw() [all …]
|
| H A D | virtio.c | 151 VirtIODevice *vdev; member 208 static void virtio_check_indirect_feature(VirtIODevice *vdev) in virtio_check_indirect_feature() argument 210 if (!virtio_vdev_has_feature(vdev, VIRTIO_RING_F_INDIRECT_DESC)) { in virtio_check_indirect_feature() 213 vdev->name); in virtio_check_indirect_feature() 238 void virtio_init_region_cache(VirtIODevice *vdev, int n) in virtio_init_region_cache() argument 240 VirtQueue *vq = &vdev->vq[n]; in virtio_init_region_cache() 253 size = virtio_queue_get_desc_size(vdev, n); in virtio_init_region_cache() 254 packed = virtio_vdev_has_feature(vq->vdev, VIRTIO_F_RING_PACKED) ? in virtio_init_region_cache() 256 len = address_space_cache_init(&new->desc, vdev->dma_as, in virtio_init_region_cache() 259 virtio_error(vdev, "Cannot map desc"); in virtio_init_region_cache() [all …]
|
| H A D | vhost-user-scmi.c | 34 static int vu_scmi_start(VirtIODevice *vdev) in vu_scmi_start() argument 36 VHostUserSCMI *scmi = VHOST_USER_SCMI(vdev); in vu_scmi_start() 37 BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev))); in vu_scmi_start() 47 ret = vhost_dev_enable_notifiers(vhost_dev, vdev); in vu_scmi_start() 59 vhost_ack_features(vhost_dev, feature_bits, vdev->guest_features); in vu_scmi_start() 61 ret = vhost_dev_start(vhost_dev, vdev, true); in vu_scmi_start() 74 vhost_virtqueue_mask(vhost_dev, vdev, i, false); in vu_scmi_start() 81 vhost_dev_disable_notifiers(vhost_dev, vdev); in vu_scmi_start() 86 static int vu_scmi_stop(VirtIODevice *vdev) in vu_scmi_stop() argument 88 VHostUserSCMI *scmi = VHOST_USER_SCMI(vdev); in vu_scmi_stop() [all …]
|
| H A D | virtio-bus.c | 43 void virtio_bus_device_plugged(VirtIODevice *vdev, Error **errp) in virtio_bus_device_plugged() argument 45 DeviceState *qdev = DEVICE(vdev); in virtio_bus_device_plugged() 49 VirtioDeviceClass *vdc = VIRTIO_DEVICE_GET_CLASS(vdev); in virtio_bus_device_plugged() 50 bool has_iommu = virtio_host_has_feature(vdev, VIRTIO_F_IOMMU_PLATFORM); in virtio_bus_device_plugged() 66 vdev->host_features = vdc->get_features(vdev, vdev->host_features, in virtio_bus_device_plugged() 81 vdev->dma_as = &address_space_memory; in virtio_bus_device_plugged() 83 vdev_has_iommu = virtio_host_has_feature(vdev, VIRTIO_F_IOMMU_PLATFORM); in virtio_bus_device_plugged() 89 virtio_add_feature(&vdev->host_features, VIRTIO_F_IOMMU_PLATFORM); in virtio_bus_device_plugged() 91 vdev->dma_as = klass->get_dma_as(qbus->parent); in virtio_bus_device_plugged() 92 if (!vdev_has_iommu && vdev->dma_as != &address_space_memory) { in virtio_bus_device_plugged() [all …]
|
| H A D | vhost-user-base.c | 20 static void vub_start(VirtIODevice *vdev) in vub_start() argument 22 BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev))); in vub_start() 24 VHostUserBase *vub = VHOST_USER_BASE(vdev); in vub_start() 32 ret = vhost_dev_enable_notifiers(&vub->vhost_dev, vdev); in vub_start() 44 vub->vhost_dev.acked_features = vdev->guest_features; in vub_start() 46 ret = vhost_dev_start(&vub->vhost_dev, vdev, true); in vub_start() 58 vhost_virtqueue_mask(&vub->vhost_dev, vdev, i, false); in vub_start() 66 vhost_dev_disable_notifiers(&vub->vhost_dev, vdev); in vub_start() 69 static int vub_stop(VirtIODevice *vdev) in vub_stop() argument 71 VHostUserBase *vub = VHOST_USER_BASE(vdev); in vub_stop() [all …]
|
| H A D | virtio-mmio.c | 87 VirtIODevice *vdev = virtio_bus_get_device(&proxy->bus); in virtio_mmio_read() local 91 if (!vdev) { in virtio_mmio_read() 121 return virtio_config_readb(vdev, offset); in virtio_mmio_read() 123 return virtio_config_readw(vdev, offset); in virtio_mmio_read() 125 return virtio_config_readl(vdev, offset); in virtio_mmio_read() 132 return virtio_config_modern_readb(vdev, offset); in virtio_mmio_read() 134 return virtio_config_modern_readw(vdev, offset); in virtio_mmio_read() 136 return virtio_config_modern_readl(vdev, offset); in virtio_mmio_read() 158 return vdev->device_id; in virtio_mmio_read() 166 return vdev->host_features; in virtio_mmio_read() [all …]
|
| H A D | vhost-user-fs.c | 41 static void vuf_get_config(VirtIODevice *vdev, uint8_t *config) in vuf_get_config() argument 43 VHostUserFS *fs = VHOST_USER_FS(vdev); in vuf_get_config() 49 virtio_stl_p(vdev, &fscfg.num_request_queues, fs->conf.num_request_queues); in vuf_get_config() 54 static void vuf_start(VirtIODevice *vdev) in vuf_start() argument 56 VHostUserFS *fs = VHOST_USER_FS(vdev); in vuf_start() 57 BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev))); in vuf_start() 67 ret = vhost_dev_enable_notifiers(&fs->vhost_dev, vdev); in vuf_start() 79 fs->vhost_dev.acked_features = vdev->guest_features; in vuf_start() 80 ret = vhost_dev_start(&fs->vhost_dev, vdev, true); in vuf_start() 92 vhost_virtqueue_mask(&fs->vhost_dev, vdev, i, false); in vuf_start() [all …]
|
| H A D | vhost-vsock-common.c | 29 uint64_t vhost_vsock_common_get_features(VirtIODevice *vdev, uint64_t features, in vhost_vsock_common_get_features() argument 32 VHostVSockCommon *vvc = VHOST_VSOCK_COMMON(vdev); in vhost_vsock_common_get_features() 48 int vhost_vsock_common_start(VirtIODevice *vdev) in vhost_vsock_common_start() argument 50 VHostVSockCommon *vvc = VHOST_VSOCK_COMMON(vdev); in vhost_vsock_common_start() 51 BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev))); in vhost_vsock_common_start() 61 ret = vhost_dev_enable_notifiers(&vvc->vhost_dev, vdev); in vhost_vsock_common_start() 73 vvc->vhost_dev.acked_features = vdev->guest_features; in vhost_vsock_common_start() 74 ret = vhost_dev_start(&vvc->vhost_dev, vdev, true); in vhost_vsock_common_start() 86 vhost_virtqueue_mask(&vvc->vhost_dev, vdev, i, false); in vhost_vsock_common_start() 94 vhost_dev_disable_notifiers(&vvc->vhost_dev, vdev); in vhost_vsock_common_start() [all …]
|
| H A D | vhost-vsock.c | 24 static void vhost_vsock_get_config(VirtIODevice *vdev, uint8_t *config) in vhost_vsock_get_config() argument 26 VHostVSock *vsock = VHOST_VSOCK(vdev); in vhost_vsock_get_config() 29 virtio_stq_p(vdev, &vsockcfg.guest_cid, vsock->conf.guest_cid); in vhost_vsock_get_config() 33 static int vhost_vsock_set_guest_cid(VirtIODevice *vdev) in vhost_vsock_set_guest_cid() argument 35 VHostVSockCommon *vvc = VHOST_VSOCK_COMMON(vdev); in vhost_vsock_set_guest_cid() 36 VHostVSock *vsock = VHOST_VSOCK(vdev); in vhost_vsock_set_guest_cid() 52 static int vhost_vsock_set_running(VirtIODevice *vdev, int start) in vhost_vsock_set_running() argument 54 VHostVSockCommon *vvc = VHOST_VSOCK_COMMON(vdev); in vhost_vsock_set_running() 70 static int vhost_vsock_set_status(VirtIODevice *vdev, uint8_t status) in vhost_vsock_set_status() argument 72 VHostVSockCommon *vvc = VHOST_VSOCK_COMMON(vdev); in vhost_vsock_set_status() [all …]
|
| /openbmc/qemu/pc-bios/s390-ccw/ |
| H A D | virtio-blkdev.c | 19 static int virtio_blk_read_many(VDev *vdev, unsigned long sector, void *load_addr, in virtio_blk_read_many() argument 24 VRing *vr = &vdev->vrings[vdev->cmd_vr_idx]; in virtio_blk_read_many() 54 VDev *vdev = virtio_get_device(); in virtio_read_many() local 56 switch (vdev->senseid.cu_model) { in virtio_read_many() 58 return virtio_blk_read_many(vdev, sector, load_addr, sec_num); in virtio_read_many() 60 return virtio_scsi_read_many(vdev, sector, load_addr, sec_num); in virtio_read_many() 120 VDev *vdev = virtio_get_device(); in virtio_assume_iso9660() local 122 switch (vdev->senseid.cu_model) { in virtio_assume_iso9660() 124 vdev->guessed_disk_nature = VIRTIO_GDN_SCSI; in virtio_assume_iso9660() 125 vdev->config.blk.blk_size = VIRTIO_ISO_BLOCK_SIZE; in virtio_assume_iso9660() [all …]
|
| H A D | virtio.c | 26 static VDev vdev = { variable 39 return &vdev; in virtio_get_device() 44 return vdev.senseid.cu_model; in virtio_get_device_type() 94 static int run_ccw(VDev *vdev, int cmd, void *ptr, int len, bool sli) in run_ccw() argument 106 return do_cio(vdev->schid, vdev->senseid.cu_type, ptr2u32(&ccw), CCW_FMT1); in run_ccw() 185 unsigned long target_second = get_time_seconds() + vdev.wait_reply_timeout; in vring_wait_reply() 191 for (i = 0; i < vdev.nr_vqs; i++) { in vring_wait_reply() 192 r += vr_poll(&vdev.vrings[i]); in vring_wait_reply() 198 } while (!vdev.wait_reply_timeout || (get_time_seconds() < target_second)); in vring_wait_reply() 203 int virtio_run(VDev *vdev, int vqid, VirtioCmd *cmd) in virtio_run() argument [all …]
|
| H A D | virtio-scsi.c | 65 static void prepare_request(VDev *vdev, const void *cdb, int cdb_size, in prepare_request() argument 68 const ScsiDevice *sdev = vdev->scsi_device; in prepare_request() 92 static int vs_run(const char *title, VirtioCmd *cmd, VDev *vdev, in vs_run() argument 96 prepare_request(vdev, cdb, cdb_size, data, data_size); in vs_run() 97 if (!vs_io_assert(virtio_run(vdev, VR_REQUEST, cmd) == 0, title)) { in vs_run() 107 static int scsi_inquiry(VDev *vdev, uint8_t evpd, uint8_t page, in scsi_inquiry() argument 123 vdev, &cdb, sizeof(cdb), data, data_size); in scsi_inquiry() 128 static int scsi_test_unit_ready(VDev *vdev) in scsi_test_unit_ready() argument 138 prepare_request(vdev, &cdb, sizeof(cdb), 0, 0); in scsi_test_unit_ready() 139 virtio_run(vdev, VR_REQUEST, test_unit_ready); /* ignore errors here */ in scsi_test_unit_ready() [all …]
|
| /openbmc/qemu/include/hw/virtio/ |
| H A D | virtio-access.h | 27 static inline bool virtio_access_is_big_endian(VirtIODevice *vdev) in virtio_access_is_big_endian() argument 30 return virtio_is_big_endian(vdev); in virtio_access_is_big_endian() 32 if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { in virtio_access_is_big_endian() 42 static inline uint16_t virtio_lduw_phys(VirtIODevice *vdev, hwaddr pa) in virtio_lduw_phys() argument 44 AddressSpace *dma_as = vdev->dma_as; in virtio_lduw_phys() 46 if (virtio_access_is_big_endian(vdev)) { in virtio_lduw_phys() 52 static inline uint32_t virtio_ldl_phys(VirtIODevice *vdev, hwaddr pa) in virtio_ldl_phys() argument 54 AddressSpace *dma_as = vdev->dma_as; in virtio_ldl_phys() 56 if (virtio_access_is_big_endian(vdev)) { in virtio_ldl_phys() 62 static inline uint64_t virtio_ldq_phys(VirtIODevice *vdev, hwaddr pa) in virtio_ldq_phys() argument [all …]
|
| H A D | virtio.h | 180 uint64_t (*get_features)(VirtIODevice *vdev, 183 uint64_t (*bad_features)(VirtIODevice *vdev); 184 void (*set_features)(VirtIODevice *vdev, uint64_t val); 185 int (*validate_features)(VirtIODevice *vdev); 186 void (*get_config)(VirtIODevice *vdev, uint8_t *config); 187 void (*set_config)(VirtIODevice *vdev, const uint8_t *config); 188 void (*reset)(VirtIODevice *vdev); 189 int (*set_status)(VirtIODevice *vdev, uint8_t val); 191 void (*queue_reset)(VirtIODevice *vdev, uint32_t queue_index); 193 void (*queue_enable)(VirtIODevice *vdev, uint32_t queue_index); [all …]
|
| /openbmc/u-boot/include/ |
| H A D | virtio.h | 103 int (*get_config)(struct udevice *vdev, unsigned int offset, 114 int (*set_config)(struct udevice *vdev, unsigned int offset, 123 int (*generation)(struct udevice *vdev, u32 *counter); 131 int (*get_status)(struct udevice *vdev, u8 *status); 139 int (*set_status)(struct udevice *vdev, u8 status); 146 int (*reset)(struct udevice *vdev); 154 int (*get_features)(struct udevice *vdev, u64 *features); 161 int (*set_features)(struct udevice *vdev); 170 int (*find_vqs)(struct udevice *vdev, unsigned int nvqs, 178 int (*del_vqs)(struct udevice *vdev); [all …]
|
| /openbmc/u-boot/drivers/virtio/ |
| H A D | virtio-uclass.c | 29 int virtio_get_config(struct udevice *vdev, unsigned int offset, in virtio_get_config() argument 34 ops = virtio_get_ops(vdev->parent); in virtio_get_config() 36 return ops->get_config(vdev->parent, offset, buf, len); in virtio_get_config() 39 int virtio_set_config(struct udevice *vdev, unsigned int offset, in virtio_set_config() argument 44 ops = virtio_get_ops(vdev->parent); in virtio_set_config() 46 return ops->set_config(vdev->parent, offset, buf, len); in virtio_set_config() 49 int virtio_generation(struct udevice *vdev, u32 *counter) in virtio_generation() argument 53 ops = virtio_get_ops(vdev->parent); in virtio_generation() 57 return ops->generation(vdev->parent, counter); in virtio_generation() 60 int virtio_get_status(struct udevice *vdev, u8 *status) in virtio_get_status() argument [all …]
|
| /openbmc/qemu/hw/vfio-user/ |
| H A D | pci.c | 38 VFIOPCIDevice *vdev = opaque; in vfio_user_pba_read() local 39 VFIORegion *region = &vdev->bars[vdev->msix->pba_bar].region; in vfio_user_pba_read() 43 data = vfio_region_read(region, addr + vdev->msix->pba_offset, size); in vfio_user_pba_read() 59 static void vfio_user_msix_setup(VFIOPCIDevice *vdev) in vfio_user_msix_setup() argument 64 vdev->msix->pba_region = pba_reg; in vfio_user_msix_setup() 66 vfio_reg = vdev->bars[vdev->msix->pba_bar].mr; in vfio_user_msix_setup() 67 msix_reg = &vdev->pdev.msix_pba_mmio; in vfio_user_msix_setup() 68 memory_region_init_io(pba_reg, OBJECT(vdev), &vfio_user_pba_ops, vdev, in vfio_user_msix_setup() 70 memory_region_add_subregion_overlap(vfio_reg, vdev->msix->pba_offset, in vfio_user_msix_setup() 74 static void vfio_user_msix_teardown(VFIOPCIDevice *vdev) in vfio_user_msix_teardown() argument [all …]
|
| /openbmc/qemu/hw/block/ |
| H A D | vhost-user-blk.c | 61 static void vhost_user_blk_update_config(VirtIODevice *vdev, uint8_t *config) in vhost_user_blk_update_config() argument 63 VHostUserBlk *s = VHOST_USER_BLK(vdev); in vhost_user_blk_update_config() 66 virtio_stw_p(vdev, &s->blkcfg.num_queues, s->num_queues); in vhost_user_blk_update_config() 68 memcpy(config, &s->blkcfg, vdev->config_len); in vhost_user_blk_update_config() 71 static void vhost_user_blk_set_config(VirtIODevice *vdev, const uint8_t *config) in vhost_user_blk_set_config() argument 73 VHostUserBlk *s = VHOST_USER_BLK(vdev); in vhost_user_blk_set_config() 96 VirtIODevice *vdev = VIRTIO_DEVICE(dev); in vhost_user_blk_sync_config() local 97 VHostUserBlk *s = VHOST_USER_BLK(vdev); in vhost_user_blk_sync_config() 100 vdev->config_len, errp); in vhost_user_blk_sync_config() 105 memcpy(vdev->config, &s->blkcfg, vdev->config_len); in vhost_user_blk_sync_config() [all …]
|