On 07/27/2015 10:51 AM, Salva Peiró wrote: > 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ó <speir...@gmail.com> > --- > hw/scsi/megasas.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c > index 51ba9e0..a04369c 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, > Yep, that's the correct fix.
Acked-by: Hannes Reinecke <h...@suse.com> Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage h...@suse.de +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)