Hi, On 09/10/15 11:27, Michael S. Tsirkin wrote: > From: Laszlo Ersek <ler...@redhat.com> > > 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" <m...@redhat.com> > Cc: Don Koch <dk...@verizon.com> > Cc: qemu-triv...@nongnu.org > Fixes: 7828d75045 > Signed-off-by: Laszlo Ersek <ler...@redhat.com> > Reviewed-by: Michael S. Tsirkin <m...@redhat.com> > Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
can you please add Marcel's R-b too? From <http://thread.gmane.org/gmane.comp.emulators.qemu/358561/focus=358673>. Also, the patch has been picked up by Michael Tokarev for qemu-trivial, <http://thread.gmane.org/gmane.comp.emulators.qemu/358561/focus=358673>. I apologize for the confusion, but I really couldn't figure out myself if this should go "only" to trivial, or to PCI "only". I guess the patch could be dropped from exactly one of the two queues, but I also expect that whenever the chronologically second one is going to be merged, git will simply realize that the patch is already present. So, my point is that please add *both* R-b tags, regardless of which tree this is going to be pulled from first. Also: any guidance for the next time I have a trivial patch for PCI? Should I Cc qemu-trivial, or not? Thanks! Laszlo > --- > 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 eba7ca2..ccea628 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 0a82f0c..1684a95 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" >