On 10/14/2017 03:39 PM, Mark Cave-Ayland wrote: > This is surprisingly useful when trying to debug DMA issues. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > hw/dma/sparc32_dma.c | 8 ++++---- > hw/dma/trace-events | 8 ++++---- > 2 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c > index bb7d70a..fbb072a 100644 > --- a/hw/dma/sparc32_dma.c > +++ b/hw/dma/sparc32_dma.c > @@ -73,7 +73,7 @@ void ledma_memory_read(void *opaque, hwaddr addr, > int i; > > addr |= s->dmaregs[3]; > - trace_ledma_memory_read(addr); > + trace_ledma_memory_read(addr, len); > if (do_bswap) { > sparc_iommu_memory_read(s->iommu, addr, buf, len); > } else { > @@ -94,7 +94,7 @@ void ledma_memory_write(void *opaque, hwaddr addr, > uint16_t tmp_buf[32]; > > addr |= s->dmaregs[3]; > - trace_ledma_memory_write(addr); > + trace_ledma_memory_write(addr, len); > if (do_bswap) { > sparc_iommu_memory_write(s->iommu, addr, buf, len); > } else { > @@ -139,7 +139,7 @@ void espdma_memory_read(void *opaque, uint8_t *buf, int > len) > { > DMADeviceState *s = opaque; > > - trace_espdma_memory_read(s->dmaregs[1]); > + trace_espdma_memory_read(s->dmaregs[1], len); > sparc_iommu_memory_read(s->iommu, s->dmaregs[1], buf, len); > s->dmaregs[1] += len; > } > @@ -148,7 +148,7 @@ void espdma_memory_write(void *opaque, uint8_t *buf, int > len) > { > DMADeviceState *s = opaque; > > - trace_espdma_memory_write(s->dmaregs[1]); > + trace_espdma_memory_write(s->dmaregs[1], len); > sparc_iommu_memory_write(s->iommu, s->dmaregs[1], buf, len); > s->dmaregs[1] += len; > } > diff --git a/hw/dma/trace-events b/hw/dma/trace-events > index 428469a..6b367f0 100644 > --- a/hw/dma/trace-events > +++ b/hw/dma/trace-events > @@ -7,12 +7,12 @@ rc4030_read(uint64_t addr, uint32_t ret) "read > reg[0x%"PRIx64"] = 0x%x" > rc4030_write(uint64_t addr, uint32_t val) "write reg[0x%"PRIx64"] = 0x%x" > > # hw/dma/sparc32_dma.c > -ledma_memory_read(uint64_t addr) "DMA read addr 0x%"PRIx64 > -ledma_memory_write(uint64_t addr) "DMA write addr 0x%"PRIx64 > +ledma_memory_read(uint64_t addr, int len) "DMA read addr 0x%"PRIx64 " len %d" > +ledma_memory_write(uint64_t addr, int len) "DMA write addr 0x%"PRIx64 " len > %d" > sparc32_dma_set_irq_raise(void) "Raise IRQ" > sparc32_dma_set_irq_lower(void) "Lower IRQ" > -espdma_memory_read(uint32_t addr) "DMA read addr 0x%08x" > -espdma_memory_write(uint32_t addr) "DMA write addr 0x%08x" > +espdma_memory_read(uint32_t addr, int len) "DMA read addr 0x%08x len %d" > +espdma_memory_write(uint32_t addr, int len) "DMA write addr 0x%08x len %d" > sparc32_dma_mem_readl(uint64_t addr, uint32_t ret) "read dmareg 0x%"PRIx64": > 0x%08x" > sparc32_dma_mem_writel(uint64_t addr, uint32_t old, uint32_t val) "write > dmareg 0x%"PRIx64": 0x%08x -> 0x%08x" > sparc32_dma_enable_raise(void) "Raise DMA enable" >