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"
> 

Reply via email to