qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] lsi53c895a: disable reentrancy detection for MMIO region, too
@ 2023-05-16  9:05 Thomas Huth
  2023-05-16  9:27 ` Alexander Bulekov
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Huth @ 2023-05-16  9:05 UTC (permalink / raw)
  To: Paolo Bonzini, Alexander Bulekov
  Cc: Fam Zheng, qemu-devel, Fiona Ebner, Darren Kenny, Thomas Huth

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.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/scsi/lsi53c895a.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
index db27872963..048436352b 100644
--- a/hw/scsi/lsi53c895a.c
+++ b/hw/scsi/lsi53c895a.c
@@ -2307,6 +2307,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);
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] lsi53c895a: disable reentrancy detection for MMIO region, too
  2023-05-16  9:05 [PATCH] lsi53c895a: disable reentrancy detection for MMIO region, too Thomas Huth
@ 2023-05-16  9:27 ` Alexander Bulekov
  2023-05-16 10:07   ` Thomas Huth
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Bulekov @ 2023-05-16  9:27 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Paolo Bonzini, Fam Zheng, qemu-devel, Fiona Ebner, Darren Kenny

On 230516 1105, Thomas Huth wrote:
> 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

Do you have a gdb backtrace for this one or is there some easy way to
reproduce with just a LiveCD or something? Marking mmio_io re-entrancy
safe would bring back https://gitlab.com/qemu-project/qemu/-/issues/1563
Maybe there is some other workaround here?
-Alex

> 
> 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.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  hw/scsi/lsi53c895a.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
> index db27872963..048436352b 100644
> --- a/hw/scsi/lsi53c895a.c
> +++ b/hw/scsi/lsi53c895a.c
> @@ -2307,6 +2307,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);
> -- 
> 2.31.1
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] lsi53c895a: disable reentrancy detection for MMIO region,  too
  2023-05-16  9:27 ` Alexander Bulekov
@ 2023-05-16 10:07   ` Thomas Huth
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Huth @ 2023-05-16 10:07 UTC (permalink / raw)
  To: Alexander Bulekov
  Cc: Paolo Bonzini, Fam Zheng, qemu-devel, Fiona Ebner, Darren Kenny

On 16/05/2023 11.27, Alexander Bulekov wrote:
> On 230516 1105, Thomas Huth wrote:
>> 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
> 
> Do you have a gdb backtrace for this one or is there some easy way to
> reproduce with just a LiveCD or something?

I 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

> Marking mmio_io re-entrancy
> safe would bring back https://gitlab.com/qemu-project/qemu/-/issues/1563
> Maybe there is some other workaround here?

I think we manually have to disallow endless reentrancy in 
lsi_execute_script() ... I'm currently doing some experiments there...

  Thomas



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-05-16 10:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-16  9:05 [PATCH] lsi53c895a: disable reentrancy detection for MMIO region, too Thomas Huth
2023-05-16  9:27 ` Alexander Bulekov
2023-05-16 10:07   ` Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).