summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalva Peiró <speirofr@gmail.com>2015-07-27 10:51:52 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2015-07-27 23:05:49 +0200
commit55875fc4ca45a35e36134663ade946d86fe7bfcd (patch)
treeb07804a7439fb148b90a130a189d28cddd59c81e
parent019c2ab8623daee210df8b1085a33b1e83c9ee11 (diff)
downloadqemu-55875fc4ca45a35e36134663ade946d86fe7bfcd.tar.gz
megasas: Add write function to handle write access to PCI BAR 3
This patch fixes a QEMU SEGFAULT when a write operation is performed on the memory region of the PCI BAR 3 (base address space). When a writeb(0xe0000000) is performed the .write function is invoked to handle the write access, however, since the .write is not initialised, the call to 0, causes QEMU to SEGFAULT. Signed-off-by: Salva Peiró <speirofr@gmail.com> Acked-by: Hannes Reinecke <hare@suse.com> Message-Id: <1437987112-24744-1-git-send-email-speirofr@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--hw/scsi/megasas.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index 51ba9e0e6e..a04369c5ad 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -2202,8 +2202,15 @@ static uint64_t megasas_queue_read(void *opaque, hwaddr addr,
return 0;
}
+static void megasas_queue_write(void *opaque, hwaddr addr,
+ uint64_t val, unsigned size)
+{
+ return;
+}
+
static const MemoryRegionOps megasas_queue_ops = {
.read = megasas_queue_read,
+ .write = megasas_queue_write,
.endianness = DEVICE_LITTLE_ENDIAN,
.impl = {
.min_access_size = 8,