All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Akihiko Odaki <akihiko.odaki@daynix.com>
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Cédric Le Goater" <clg@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Sriram Yagnaraman" <sriram.yagnaraman@ericsson.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Keith Busch" <kbusch@kernel.org>,
	"Klaus Jensen" <its@irrelevant.dk>,
	qemu-devel@nongnu.org, qemu-block@nongnu.org
Subject: Re: [PATCH for-9.2 v11 10/11] hw/pci: Use -1 as the default value for rombar
Date: Fri, 02 Aug 2024 12:54:29 +0200	[thread overview]
Message-ID: <875xsj42l6.fsf@pond.sub.org> (raw)
In-Reply-To: <20240802-reuse-v11-10-fb83bb8c19fb@daynix.com> (Akihiko Odaki's message of "Fri, 02 Aug 2024 14:18:00 +0900")

Akihiko Odaki <akihiko.odaki@daynix.com> writes:

> vfio_pci_size_rom() distinguishes whether rombar is explicitly set to 1
> by checking dev->opts, bypassing the QOM property infrastructure.
>
> Use -1 as the default value for rombar to tell if the user explicitly
> set it to 1. The property is also converted from unsigned to signed.
> -1 is signed so it is safe to give it a new meaning. The values in
> [2 ^ 31, 2 ^ 32) will be invalid, but nobody should have typed these
> values by chance.

s/will be/become invalid/

Should we document the change somewhere?  I'm not sure.  Opinions?

> Suggested-by: Markus Armbruster <armbru@redhat.com>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>  include/hw/pci/pci_device.h | 2 +-
>  hw/pci/pci.c                | 2 +-
>  hw/vfio/pci.c               | 5 ++---
>  3 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/include/hw/pci/pci_device.h b/include/hw/pci/pci_device.h
> index 1ff3ce94e25b..8fa845beee5e 100644
> --- a/include/hw/pci/pci_device.h
> +++ b/include/hw/pci/pci_device.h
> @@ -148,7 +148,7 @@ struct PCIDevice {
>      uint32_t romsize;
>      bool has_rom;
>      MemoryRegion rom;
> -    uint32_t rom_bar;
> +    int32_t rom_bar;
>  
>      /* INTx routing notifier */
>      PCIINTxRoutingNotifier intx_routing_notifier;
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index 4c7be5295110..d2eaf0c51dde 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -71,7 +71,7 @@ static Property pci_props[] = {
>      DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1),
>      DEFINE_PROP_STRING("romfile", PCIDevice, romfile),
>      DEFINE_PROP_UINT32("romsize", PCIDevice, romsize, UINT32_MAX),
> -    DEFINE_PROP_UINT32("rombar",  PCIDevice, rom_bar, 1),
> +    DEFINE_PROP_INT32("rombar",  PCIDevice, rom_bar, -1),
>      DEFINE_PROP_BIT("multifunction", PCIDevice, cap_present,
>                      QEMU_PCI_CAP_MULTIFUNCTION_BITNR, false),
>      DEFINE_PROP_BIT("x-pcie-lnksta-dllla", PCIDevice, cap_present,
> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
> index 2407720c3530..dc53837eac73 100644
> --- a/hw/vfio/pci.c
> +++ b/hw/vfio/pci.c
> @@ -1012,7 +1012,6 @@ static void vfio_pci_size_rom(VFIOPCIDevice *vdev)
>  {
>      uint32_t orig, size = cpu_to_le32((uint32_t)PCI_ROM_ADDRESS_MASK);
>      off_t offset = vdev->config_offset + PCI_ROM_ADDRESS;
> -    DeviceState *dev = DEVICE(vdev);
>      char *name;
>      int fd = vdev->vbasedev.fd;
>  
> @@ -1046,12 +1045,12 @@ static void vfio_pci_size_rom(VFIOPCIDevice *vdev)
>      }
>  
>      if (vfio_opt_rom_in_denylist(vdev)) {
> -        if (dev->opts && qdict_haskey(dev->opts, "rombar")) {
> +        if (vdev->pdev.rom_bar > 0) {
>              warn_report("Device at %s is known to cause system instability"
>                          " issues during option rom execution",
>                          vdev->vbasedev.name);
>              error_printf("Proceeding anyway since user specified"
> -                         " non zero value for rombar\n");
> +                         " positive value for rombar\n");
>          } else {
>              warn_report("Rom loading for device at %s has been disabled"
>                          " due to system instability issues",

Preferably with the commit message tweak:

Reviewed-by: Markus Armbruster <armbru@redhat.com>



  reply	other threads:[~2024-08-02 10:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-02  5:17 [PATCH for-9.2 v11 00/11] hw/pci: SR-IOV related fixes and improvements Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 01/11] hw/pci: Rename has_power to enabled Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 02/11] hw/ppc/spapr_pci: Do not create DT for disabled PCI device Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 03/11] hw/ppc/spapr_pci: Do not reject VFs created after a PF Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 04/11] pcie_sriov: Do not manually unrealize Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 05/11] pcie_sriov: Ensure VF function number does not overflow Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 06/11] pcie_sriov: Reuse SR-IOV VF device instances Akihiko Odaki
2024-08-02 16:54   ` Michael S. Tsirkin
2024-08-04  6:55     ` Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 07/11] pcie_sriov: Release VFs failed to realize Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 08/11] pcie_sriov: Remove num_vfs from PCIESriovPF Akihiko Odaki
2024-08-02 12:58   ` Michael S. Tsirkin
2024-08-02 15:38     ` Akihiko Odaki
2024-08-02 16:52       ` Michael S. Tsirkin
2024-08-04  9:11         ` Akihiko Odaki
2024-08-02  5:17 ` [PATCH for-9.2 v11 09/11] pcie_sriov: Register VFs after migration Akihiko Odaki
2024-08-02  5:18 ` [PATCH for-9.2 v11 10/11] hw/pci: Use -1 as the default value for rombar Akihiko Odaki
2024-08-02 10:54   ` Markus Armbruster [this message]
2024-08-04  6:27     ` Akihiko Odaki
2024-08-02  5:18 ` [PATCH for-9.2 v11 11/11] hw/qdev: Remove opts member Akihiko Odaki

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=875xsj42l6.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=akihiko.odaki@daynix.com \
    --cc=alex.williamson@redhat.com \
    --cc=berrange@redhat.com \
    --cc=clg@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=its@irrelevant.dk \
    --cc=jasowang@redhat.com \
    --cc=kbusch@kernel.org \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sriram.yagnaraman@ericsson.com \
    /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.