diff mbox series

[PULL,29/63] hw/pci: Do not add ROM BAR for SR-IOV VF

Message ID 54f3a29f08900bef796953971d2482d64ddf9969.1721607331.git.mst@redhat.com
State New
Headers show
Series [PULL,01/63] hw/virtio/virtio-crypto: Fix op_code assignment in virtio_crypto_create_asym_session | expand

Commit Message

Michael S. Tsirkin July 22, 2024, 12:17 a.m. UTC
From: Akihiko Odaki <akihiko.odaki@daynix.com>

A SR-IOV VF cannot have a ROM BAR.

Co-developed-by: Yui Washizu <yui.washidu@gmail.com>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240715-sriov-v5-1-3f5539093ffc@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/pci.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Akihiko Odaki July 22, 2024, 2:21 p.m. UTC | #1
On 2024/07/22 9:17, Michael S. Tsirkin wrote:
> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> 
> A SR-IOV VF cannot have a ROM BAR.
> 
> Co-developed-by: Yui Washizu <yui.washidu@gmail.com>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> Message-Id: <20240715-sriov-v5-1-3f5539093ffc@daynix.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>   hw/pci/pci.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index 4c7be52951..bd956637bc 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -2359,6 +2359,14 @@ static void pci_add_option_rom(PCIDevice *pdev, bool is_default_rom,
>           return;
>       }
>   
> +    if (pci_is_vf(pdev)) {
> +        if (pdev->rom_bar == ON_OFF_AUTO_ON) {

This requires:
https://lore.kernel.org/r/20240714-rombar-v2-0-af1504ef55de@daynix.com
("[PATCH v2 0/4] hw/pci: Convert rom_bar into OnOffAuto")

However it does not seem included in this pull request.

Regards,
Akihiko Odaki
Michael S. Tsirkin July 23, 2024, 12:15 a.m. UTC | #2
On Mon, Jul 22, 2024 at 11:21:13PM +0900, Akihiko Odaki wrote:
> On 2024/07/22 9:17, Michael S. Tsirkin wrote:
> > From: Akihiko Odaki <akihiko.odaki@daynix.com>
> > 
> > A SR-IOV VF cannot have a ROM BAR.
> > 
> > Co-developed-by: Yui Washizu <yui.washidu@gmail.com>
> > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> > Message-Id: <20240715-sriov-v5-1-3f5539093ffc@daynix.com>
> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > ---
> >   hw/pci/pci.c | 8 ++++++++
> >   1 file changed, 8 insertions(+)
> > 
> > diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> > index 4c7be52951..bd956637bc 100644
> > --- a/hw/pci/pci.c
> > +++ b/hw/pci/pci.c
> > @@ -2359,6 +2359,14 @@ static void pci_add_option_rom(PCIDevice *pdev, bool is_default_rom,
> >           return;
> >       }
> > +    if (pci_is_vf(pdev)) {
> > +        if (pdev->rom_bar == ON_OFF_AUTO_ON) {
> 
> This requires:
> https://lore.kernel.org/r/20240714-rombar-v2-0-af1504ef55de@daynix.com
> ("[PATCH v2 0/4] hw/pci: Convert rom_bar into OnOffAuto")
> 
> However it does not seem included in this pull request.
> 
> Regards,
> Akihiko Odaki


good point, dropped for now.
diff mbox series

Patch

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 4c7be52951..bd956637bc 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -2359,6 +2359,14 @@  static void pci_add_option_rom(PCIDevice *pdev, bool is_default_rom,
         return;
     }
 
+    if (pci_is_vf(pdev)) {
+        if (pdev->rom_bar == ON_OFF_AUTO_ON) {
+            error_setg(errp, "ROM BAR cannot be enabled for SR-IOV VF");
+        }
+
+        return;
+    }
+
     if (load_file || pdev->romsize == UINT32_MAX) {
         path = qemu_find_file(QEMU_FILE_TYPE_BIOS, pdev->romfile);
         if (path == NULL) {