summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dev/virtio/base.cc2
-rw-r--r--src/dev/virtio/pci.cc4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/dev/virtio/base.cc b/src/dev/virtio/base.cc
index 06c6e3452..a65fe7fa4 100644
--- a/src/dev/virtio/base.cc
+++ b/src/dev/virtio/base.cc
@@ -426,6 +426,7 @@ VirtIODeviceBase::readConfigBlob(PacketPtr pkt, Addr cfgOffset, const uint8_t *c
if (cfgOffset + size > configSize)
panic("Config read out of bounds.\n");
+ pkt->makeResponse();
pkt->setData(const_cast<uint8_t *>(cfg) + cfgOffset);
}
@@ -437,6 +438,7 @@ VirtIODeviceBase::writeConfigBlob(PacketPtr pkt, Addr cfgOffset, uint8_t *cfg)
if (cfgOffset + size > configSize)
panic("Config write out of bounds.\n");
+ pkt->makeResponse();
pkt->writeData((uint8_t *)cfg + cfgOffset);
}
diff --git a/src/dev/virtio/pci.cc b/src/dev/virtio/pci.cc
index c77b61934..a051a8f51 100644
--- a/src/dev/virtio/pci.cc
+++ b/src/dev/virtio/pci.cc
@@ -75,6 +75,8 @@ PciVirtIO::read(PacketPtr pkt)
return 0;
}
+ pkt->makeResponse();
+
switch(offset) {
case OFF_DEVICE_FEATURES:
DPRINTF(VIOPci, " DEVICE_FEATURES request\n");
@@ -151,6 +153,8 @@ PciVirtIO::write(PacketPtr pkt)
return 0;
}
+ pkt->makeResponse();
+
switch(offset) {
case OFF_DEVICE_FEATURES:
warn("Guest tried to write device features.");