Re: [PATCH v3 2/3] xen/igd: don't register rom bar twice

Tomita Moeko <[email protected]>
Newsgroups org.xenproject.lists.xen-devel,org.nongnu.qemu-devel
Message-ID <[email protected]>
On 2026-07-10 02:35, Chuck Zmudzinski wrote:
> This also fixes a failed assertion in pci [1] for Qemu
> version 10 and higher when passing through an Intel
> IGD with an option ROM to the guest.
> 
> [1] f6fc01c ("hw/pci: Assert a bar is not registered multiple times")
> 
> Fixes: 881213f ("xen, gfx passthrough: retrieve VGA BIOS to work")

Please follow the QEMU standard way to reference a commit
`<at-least-12-digits-of-SHA-commit-id> (“Fixed commit subject”)`

https://www.qemu.org/docs/master/devel/submitting-a-patch.html#write-a-meaningful-commit-message

> Signed-off-by: Chuck Zmudzinski <[email protected]>
> ---
> Changes in v2:
>   - get 'pcibus_t romsize' instead of 'PCIIORegion region'
>   - move definition of romsize to the top of the function
>     and make it constant
>   - add stable to Cc list
> 
> Changes in v3:
>   - fix Cc address for qemu-stable
> 
>  hw/xen/xen_pt.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
> index 474606e..8b30b61 100644
> --- a/hw/xen/xen_pt.c
> +++ b/hw/xen/xen_pt.c
> @@ -459,6 +459,7 @@ static int xen_pt_register_regions(XenPCIPassthroughState *s, uint16_t *cmd)
>  {
>      int i = 0;
>      XenHostPCIDevice *d = &s->real_device;
> +    const pcibus_t romsize = s->dev.io_regions[PCI_ROM_SLOT].size;
>  
>      /* Register PIO/MMIO BARs */
>      for (i = 0; i < PCI_ROM_SLOT; i++) {
> @@ -495,7 +496,7 @@ static int xen_pt_register_regions(XenPCIPassthroughState *s, uint16_t *cmd)
>      }
>  
>      /* Register expansion ROM address */
> -    if (d->rom.base_addr && d->rom.size) {
> +    if (!romsize && d->rom.base_addr && d->rom.size) {
>          uint32_t bar_data = 0;
>  
>          /* Re-set BAR reported by OS, otherwise ROM can't be read. */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.