qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [trivial PATCH] hw/pci: fix pci_update_mappings() tra


From: Marcel Apfelbaum
Subject: Re: [Qemu-trivial] [trivial PATCH] hw/pci: fix pci_update_mappings() trace events
Date: Wed, 2 Sep 2015 11:40:27 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0

On 09/02/2015 12:33 AM, Laszlo Ersek wrote:
The current trace prototypes and (matching) trace calls lead to
"unorthodox" PCI BDF notation in at least the stderr trace backend. For
example, the four BARs of a QXL video card at 00:01.0 (bus 0, slot 1,
function 0) are traced like this (PID and timestamps removed):

   pci_update_mappings_add d=0x7f14a73bf890 00:00.1 0,0x84000000+0x4000000
   pci_update_mappings_add d=0x7f14a73bf890 00:00.1 1,0x80000000+0x4000000
   pci_update_mappings_add d=0x7f14a73bf890 00:00.1 2,0x88200000+0x2000
   pci_update_mappings_add d=0x7f14a73bf890 00:00.1 3,0xd060+0x20

The slot and function values are in reverse order.

Stick with the conventional BDF notation.

Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Don Koch <address@hidden>
Cc: address@hidden
Fixes: 7828d75045
Signed-off-by: Laszlo Ersek <address@hidden>
---
  hw/pci/pci.c | 4 ++--
  trace-events | 4 ++--
  2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 9f57aea..47f42ea 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -1154,16 +1154,16 @@ static void pci_update_mappings(PCIDevice *d)
          /* now do the real mapping */
          if (r->addr != PCI_BAR_UNMAPPED) {
              trace_pci_update_mappings_del(d, pci_bus_num(d->bus),
-                                          PCI_FUNC(d->devfn),
                                            PCI_SLOT(d->devfn),
+                                          PCI_FUNC(d->devfn),
                                            i, r->addr, r->size);
              memory_region_del_subregion(r->address_space, r->memory);
          }
          r->addr = new_addr;
          if (r->addr != PCI_BAR_UNMAPPED) {
              trace_pci_update_mappings_add(d, pci_bus_num(d->bus),
-                                          PCI_FUNC(d->devfn),
                                            PCI_SLOT(d->devfn),
+                                          PCI_FUNC(d->devfn),
                                            i, r->addr, r->size);
              memory_region_add_subregion_overlap(r->address_space,
                                                  r->addr, r->memory, 1);
diff --git a/trace-events b/trace-events
index 8f9614a..5e78f18 100644
--- a/trace-events
+++ b/trace-events
@@ -1303,8 +1303,8 @@ spapr_pci_lsi_set(const char *busname, int pin, uint32_t irq) 
"%s PIN%d IRQ %u"
  spapr_pci_msi_retry(unsigned config_addr, unsigned req_num, unsigned max_irqs) 
"Guest device at %x asked %u, have only %u"

  # hw/pci/pci.c
-pci_update_mappings_del(void *d, uint32_t bus, uint32_t func, uint32_t slot, int bar, uint64_t 
addr, uint64_t size) "d=%p %02x:%02x.%x %d,%#"PRIx64"+%#"PRIx64
-pci_update_mappings_add(void *d, uint32_t bus, uint32_t func, uint32_t slot, int bar, uint64_t 
addr, uint64_t size) "d=%p %02x:%02x.%x %d,%#"PRIx64"+%#"PRIx64
+pci_update_mappings_del(void *d, uint32_t bus, uint32_t slot, uint32_t func, int bar, uint64_t 
addr, uint64_t size) "d=%p %02x:%02x.%x %d,%#"PRIx64"+%#"PRIx64
+pci_update_mappings_add(void *d, uint32_t bus, uint32_t slot, uint32_t func, int bar, uint64_t 
addr, uint64_t size) "d=%p %02x:%02x.%x %d,%#"PRIx64"+%#"PRIx64

  # hw/net/pcnet.c
  pcnet_s_reset(void *s) "s=%p"



Reviewed-by: Marcel Apfelbaum <address@hidden>

Thanks,
Marcel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]