Page MenuHomeFreeBSD

D55220.diff
No OneTemporary

D55220.diff

Index: sys/dev/virtio/pci/virtio_pci_legacy.c
===================================================================
--- sys/dev/virtio/pci/virtio_pci_legacy.c
+++ sys/dev/virtio/pci/virtio_pci_legacy.c
@@ -139,6 +139,13 @@
#define vtpci_legacy_write_header_4(sc, o, v) \
bus_write_4((sc)->vtpci_res, (o), (v))
+static bus_dma_tag_t
+vtpci_legacy_get_dma_tag(device_t bus, device_t child)
+{
+
+ return (bus_get_dma_tag(bus));
+}
+
static device_method_t vtpci_legacy_methods[] = {
/* Device interface. */
DEVMETHOD(device_probe, vtpci_legacy_probe),
@@ -154,6 +161,7 @@
DEVMETHOD(bus_child_pnpinfo, virtio_child_pnpinfo),
DEVMETHOD(bus_read_ivar, vtpci_legacy_read_ivar),
DEVMETHOD(bus_write_ivar, vtpci_legacy_write_ivar),
+ DEVMETHOD(bus_get_dma_tag, vtpci_legacy_get_dma_tag),
/* VirtIO PCI interface. */
DEVMETHOD(virtio_pci_read_isr, vtpci_legacy_read_isr),
Index: sys/dev/virtio/pci/virtio_pci_modern.c
===================================================================
--- sys/dev/virtio/pci/virtio_pci_modern.c
+++ sys/dev/virtio/pci/virtio_pci_modern.c
@@ -191,6 +191,13 @@
static int vtpci_modern_transitional = 0;
TUNABLE_INT("hw.virtio.pci.transitional", &vtpci_modern_transitional);
+static bus_dma_tag_t
+vtpci_modern_get_dma_tag(device_t bus, device_t child)
+{
+
+ return (bus_get_dma_tag(bus));
+}
+
static device_method_t vtpci_modern_methods[] = {
/* Device interface. */
DEVMETHOD(device_probe, vtpci_modern_probe),
@@ -206,6 +213,7 @@
DEVMETHOD(bus_child_pnpinfo, virtio_child_pnpinfo),
DEVMETHOD(bus_read_ivar, vtpci_modern_read_ivar),
DEVMETHOD(bus_write_ivar, vtpci_modern_write_ivar),
+ DEVMETHOD(bus_get_dma_tag, vtpci_modern_get_dma_tag),
/* VirtIO PCI interface. */
DEVMETHOD(virtio_pci_read_isr, vtpci_modern_read_isr),
@@ -435,6 +443,7 @@
* always add the V1 flag.
*/
child_features |= VIRTIO_F_VERSION_1;
+ child_features |= VIRTIO_F_IOMMU_PLATFORM;
features = vtpci_negotiate_features(&sc->vtpci_common,
child_features, host_features);
Index: sys/dev/virtio/virtio.c
===================================================================
--- sys/dev/virtio/virtio.c
+++ sys/dev/virtio/virtio.c
@@ -202,6 +202,7 @@
mask |= VIRTIO_RING_F_INDIRECT_DESC;
mask |= VIRTIO_RING_F_EVENT_IDX;
mask |= VIRTIO_F_VERSION_1;
+ mask |= VIRTIO_F_IOMMU_PLATFORM;
return (features & mask);
}

File Metadata

Mime Type
text/plain
Expires
Fri, Jun 19, 1:20 PM (10 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34081007
Default Alt Text
D55220.diff (2 KB)

Event Timeline