[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs
From: |
Olaf Hering |
Subject: |
Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs |
Date: |
Mon, 26 Jun 2023 23:19:01 +0200 |
I need advice on how to debug this.
One thing that stands out is uhci_irq().
It reads a u16 from the USBSTS register.
On the qemu side, this read is served from bmdma_read. Since the read
size is 2, the result is ~0, and uhci_irq() turns the controller off.
In other words, memory_region_ops_read from addr=0xc102 is served from
"piix-bmdma"
If the pci_set_word calls in piix_ide_reset are skipped, the read is
served from uhci_port_write. This is the expected behavior.
In other words, memory_region_ops_read from addr=0xc102 is served from "uhci".
So far I was unable to decipher how the pci_set_word calls can
possibly affect the outcome and the owner of memory_region_ops_read.
Thanks,
Olaf
Wed, 10 May 2023 00:58:27 +0200 Olaf Hering <olaf@aepfle.de>:
> Resuming this old thread about an unfixed bug, which was introduced in
> qemu-4.2:
>
> qemu ends up in piix_ide_reset from pci_unplug_disks.
> This was not the case prior 4.2, the removed call to
> qemu_register_reset(piix3_reset, d) in
> ee358e919e385fdc79d59d0d47b4a81e349cd5c9 did apparently nothing.
>
> In my debugging (with v8.0.0) it turned out the three pci_set_word
> causes the domU to hang. In fact, it is just the last one:
>
> pci_set_byte(pci_conf + 0x20, 0x01); /* BMIBA: 20-23h */
>
> It changes the value from 0xc121 to 0x1.
>
> The question is: what does this do in practice?
>
> Starting with recent qemu (like 7.2), the domU sometimes proceeds with
> these messages:
>
> [ 1.631161] uhci_hcd 0000:00:01.2: host system error, PCI problems?
> [ 1.634965] uhci_hcd 0000:00:01.2: host controller process error,
> something bad happened!
> [ 1.634965] uhci_hcd 0000:00:01.2: host controller halted, very bad!
> [ 1.634965] uhci_hcd 0000:00:01.2: HC died; cleaning up
> Loading basic drivers...[ 2.398048] Disabling IRQ #23
pgpDssZWsvZvf.pgp
Description: Digitale Signatur von OpenPGP
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs,
Olaf Hering <=
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Paolo Bonzini, 2023/06/27
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Bernhard Beschow, 2023/06/27
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Olaf Hering, 2023/06/27
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Olaf Hering, 2023/06/27
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Bernhard Beschow, 2023/06/28
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Olaf Hering, 2023/06/30
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Bernhard Beschow, 2023/06/30
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Olaf Hering, 2023/06/30
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Bernhard Beschow, 2023/06/30
- Re: [PATCH v2] piix: fix regression during unplug in Xen HVM domUs, Paolo Bonzini, 2023/06/30