From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: qemu-devel@nongnu.org,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Jason Wang <jasowang@redhat.com>,
Gustavo Romero <gustavo.romero@linaro.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>
Subject: Re: [PATCH] hw/pci: Use correct bus aperture for device container size
Date: Wed, 4 Feb 2026 07:29:05 -0500 [thread overview]
Message-ID: <20260204071045-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20251124114754.79831-1-philmd@linaro.org>
On Mon, Nov 24, 2025 at 12:47:54PM +0100, Philippe Mathieu-Daudé wrote:
> Before commit 3716d5902d7 ("pci: introduce a bus master container")
> device view of the bus address space was correctly sized to the
> bus aperture, but then it always used a 64-bit aperture. Restore
> the previous behavior, so devices on 32-bit PCI only see 32-bit
> address space.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Wait I am confused. Is there a problem this is trying to fix?
> ---
> hw/pci/pci.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index b1eba348e06..64f33b9de04 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -1375,7 +1375,8 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> pstrcpy(pci_dev->name, sizeof(pci_dev->name), name);
>
> memory_region_init(&pci_dev->bus_master_container_region, OBJECT(pci_dev),
> - "bus master container", UINT64_MAX);
> + "bus master container",
> + memory_region_size(bus->address_space_mem));
as far as I can tell this does more than it says it does.
Look at raven.c:
h->bus = pci_register_root_bus(d, NULL, raven_set_irq, raven_map_irq,
s, &s->pci_memory, &s->pci_io, 0, 4,
TYPE_PCI_BUS);
The bus is created with &s->pci_memory (1G) as the address space.
But the actual bus master space (&s->bm at line 285) is 4 G.
Your patch limits DMA to 1G. No?
failures here (definitely the ppc one)
https://gitlab.com/mstredhat/qemu/-/jobs/12984084992
reverting fixed it:
https://gitlab.com/mstredhat/qemu/-/jobs/12984187692
> address_space_init(&pci_dev->bus_master_as,
> &pci_dev->bus_master_container_region, pci_dev->name);
> pci_dev->bus_master_as.max_bounce_buffer_size =
> --
> 2.51.0
next prev parent reply other threads:[~2026-02-04 12:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-24 11:47 [PATCH] hw/pci: Use correct bus aperture for device container size Philippe Mathieu-Daudé
2025-11-25 15:45 ` Yodel Eldar via
2025-12-23 13:52 ` Philippe Mathieu-Daudé
2025-12-23 21:52 ` Michael S. Tsirkin
2026-01-14 16:24 ` Philippe Mathieu-Daudé
2026-02-04 12:29 ` Michael S. Tsirkin [this message]
2026-02-04 22:26 ` Yodel Eldar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260204071045-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=gustavo.romero@linaro.org \
--cc=jasowang@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.