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>
Subject: Re: [PATCH-for-9.1?] hw/pci/pci-hmp-cmds: Avoid displaying bogus size in 'info pci'
Date: Thu, 1 Aug 2024 08:41:23 -0400 [thread overview]
Message-ID: <20240801084004-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <3b2c64bd-33b4-48bf-9afa-ac5b138b901a@linaro.org>
On Thu, Aug 01, 2024 at 02:36:11PM +0200, Philippe Mathieu-Daudé wrote:
> On 1/8/24 12:27, Michael S. Tsirkin wrote:
> > On Thu, Aug 01, 2024 at 12:07:42PM +0200, Philippe Mathieu-Daudé wrote:
> > > When BAR aren't configured, we get:
> > >
> > > (qemu) info pci
> > > Bus 0, device 0, function 0:
> > > Host bridge: PCI device dead:beef
> > > ...
> > > BAR4: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
> > > BAR5: I/O at 0xffffffffffffffff [0x0ffe].
> > >
> > > Improve logging to not display bogus sizes:
> > >
> > > BAR4: 32 bit memory (not configured)
> > > BAR5: I/O (not configured)
> > >
> > > Remove trailing dot which is not used in other commands format.
> > >
> > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> > > ---
> > > hw/pci/pci-hmp-cmds.c | 26 ++++++++++++++++++--------
> > > 1 file changed, 18 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/hw/pci/pci-hmp-cmds.c b/hw/pci/pci-hmp-cmds.c
> > > index b09fce9377..8421c3f74a 100644
> > > --- a/hw/pci/pci-hmp-cmds.c
> > > +++ b/hw/pci/pci-hmp-cmds.c
> > > @@ -83,15 +83,25 @@ static void hmp_info_pci_device(Monitor *mon, const PciDeviceInfo *dev)
> > > monitor_printf(mon, " BAR%" PRId64 ": ", region->value->bar);
> > > if (!strcmp(region->value->type, "io")) {
> > > - monitor_printf(mon, "I/O at 0x%04" PRIx64
> > > - " [0x%04" PRIx64 "].\n",
> > > - addr, addr + size - 1);
> > > + if (addr != UINT64_MAX) {
> > > + monitor_printf(mon, "I/O at 0x%04" PRIx64
> > > + " [0x%04" PRIx64 "]\n",
> > > + addr, addr + size - 1);
> > > + } else {
> > > + monitor_printf(mon, "I/O (not configured)\n");
> > > + }
> > > } else {
> > > - monitor_printf(mon, "%d bit%s memory at 0x%08" PRIx64
> > > - " [0x%08" PRIx64 "].\n",
> > > - region->value->mem_type_64 ? 64 : 32,
> > > - region->value->prefetch ? " prefetchable" : "",
> > > - addr, addr + size - 1);
> > > + if (addr != UINT64_MAX) {
> > > + monitor_printf(mon, "%d bit%s memory at 0x%08" PRIx64
> > > + " [0x%08" PRIx64 "]\n",
> > > + region->value->mem_type_64 ? 64 : 32,
> > > + region->value->prefetch ? " prefetchable" : "",
> > > + addr, addr + size - 1);
> > > + } else {
> > > + monitor_printf(mon, "%d bit%s memory (not configured)\n",
> > > + region->value->mem_type_64 ? 64 : 32,
> > > + region->value->prefetch ? " prefetchable" : "");
> > > + }
> > > }
> > > }
> >
> > what makes bar unconfigured is that memory space is disabled,
> > not that it has a special value.
>
> I tried to add a PciMemoryRegion::enabled field then realized
> unmapped regions are advertised using addr = PCI_BAR_UNMAPPED
> (which is UINT64_MAX):
>
> typedef struct PCIIORegion {
> pcibus_t addr; /* current PCI mapping address. -1 means not mapped */
> #define PCI_BAR_UNMAPPED (~(pcibus_t)0)
>
> OK if I respin this patch with s/UINT64_MAX/PCI_BAR_UNMAPPED/?
ok
prev parent reply other threads:[~2024-08-01 12:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-01 10:07 [PATCH-for-9.1?] hw/pci/pci-hmp-cmds: Avoid displaying bogus size in 'info pci' Philippe Mathieu-Daudé
2024-08-01 10:27 ` Michael S. Tsirkin
2024-08-01 12:36 ` Philippe Mathieu-Daudé
2024-08-01 12:38 ` Philippe Mathieu-Daudé
2024-08-01 12:41 ` Michael S. Tsirkin [this message]
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=20240801084004-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--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.