[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[qemu-xen staging-4.18] lsi53c895a: disable reentrancy detection for MMIO region, too



commit 0f0fb19d2bae3a5184fdbfcaa5de24f6ce759042
Author:     Thomas Huth <thuth@xxxxxxxxxx>
AuthorDate: Tue May 16 11:05:56 2023 +0200
Commit:     Michael Tokarev <mjt@xxxxxxxxxx>
CommitDate: Sun Sep 10 19:38:01 2023 +0300

    lsi53c895a: disable reentrancy detection for MMIO region, too
    
    While trying to use a SCSI disk on the LSI controller with an
    older version of Fedora (25), I'm getting:
    
     qemu: warning: Blocked re-entrant IO on MemoryRegion: lsi-mmio at addr: 
0x34
    
    and the SCSI controller is not usable. Seems like we have to
    disable the reentrancy checker for the MMIO region, too, to
    get this working again.
    
    The problem could be reproduced it like this:
    
    ./qemu-system-x86_64 -accel kvm -m 2G -machine q35 \
     -device lsi53c810,id=lsi1 -device scsi-hd,drive=d0 \
     -drive if=none,id=d0,file=.../somedisk.qcow2 \
     -cdrom Fedora-Everything-netinst-i386-25-1.3.iso
    
    Where somedisk.qcow2 is an image that contains already some partitions
    and file systems.
    
    In the boot menu of Fedora, go to
    "Troubleshooting" -> "Rescue a Fedora system" -> "3) Skip to shell"
    
    Then check "dmesg | grep -i 53c" for failure messages, and try to mount
    a partition from somedisk.qcow2.
    
    Message-Id: <20230516090556.553813-1-thuth@xxxxxxxxxx>
    Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx>
    (cherry picked from commit d139fe9ad8a27bcc50b4ead77d2f97d191a0e95e)
    Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
---
 hw/scsi/lsi53c895a.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
index 17af67935f..f7d45b0b20 100644
--- a/hw/scsi/lsi53c895a.c
+++ b/hw/scsi/lsi53c895a.c
@@ -2318,6 +2318,7 @@ static void lsi_scsi_realize(PCIDevice *dev, Error **errp)
      * re-entrancy guard.
      */
     s->ram_io.disable_reentrancy_guard = true;
+    s->mmio_io.disable_reentrancy_guard = true;
 
     address_space_init(&s->pci_io_as, pci_address_space_io(dev), "lsi-pci-io");
     qdev_init_gpio_out(d, &s->ext_irq, 1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#staging-4.18



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.