diff options
author | Mark Cave-Ayland | 2021-03-04 23:10:28 +0100 |
---|---|---|
committer | Mark Cave-Ayland | 2021-03-07 11:39:05 +0100 |
commit | 960ebfd94e8f6ea879472e7efb84b1704f685d39 (patch) | |
tree | b9c50a729d5acc2759360688622c607458e5fa10 /hw/scsi | |
parent | esp: fix esp_reg_read() trace event (diff) | |
download | qemu-960ebfd94e8f6ea879472e7efb84b1704f685d39.tar.gz qemu-960ebfd94e8f6ea879472e7efb84b1704f685d39.tar.xz qemu-960ebfd94e8f6ea879472e7efb84b1704f685d39.zip |
esp: add PDMA trace events
This will become more useful later when trying to debug mixed FIFO and PDMA
requests.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210304221103.6369-8-mark.cave-ayland@ilande.co.uk>
Diffstat (limited to 'hw/scsi')
-rw-r--r-- | hw/scsi/esp.c | 6 | ||||
-rw-r--r-- | hw/scsi/trace-events | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index 16c1853577..e0676ae790 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -63,11 +63,13 @@ static void esp_lower_irq(ESPState *s) static void esp_raise_drq(ESPState *s) { qemu_irq_raise(s->irq_data); + trace_esp_raise_drq(); } static void esp_lower_drq(ESPState *s) { qemu_irq_lower(s->irq_data); + trace_esp_lower_drq(); } void esp_dma_enable(ESPState *s, int irq, int level) @@ -885,6 +887,8 @@ static void sysbus_esp_pdma_write(void *opaque, hwaddr addr, uint32_t dmalen; uint8_t *buf = get_pdma_buf(s); + trace_esp_pdma_write(size); + dmalen = s->rregs[ESP_TCLO]; dmalen |= s->rregs[ESP_TCMID] << 8; dmalen |= s->rregs[ESP_TCHI] << 16; @@ -922,6 +926,8 @@ static uint64_t sysbus_esp_pdma_read(void *opaque, hwaddr addr, uint8_t *buf = get_pdma_buf(s); uint64_t val = 0; + trace_esp_pdma_read(size); + if (s->pdma_len == 0) { return 0; } diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events index 6269547266..1c331fb189 100644 --- a/hw/scsi/trace-events +++ b/hw/scsi/trace-events @@ -159,8 +159,12 @@ esp_error_unhandled_command(uint32_t val) "unhandled command (0x%2.2x)" esp_error_invalid_write(uint32_t val, uint32_t addr) "invalid write of 0x%02x at [0x%x]" esp_raise_irq(void) "Raise IRQ" esp_lower_irq(void) "Lower IRQ" +esp_raise_drq(void) "Raise DREQ" +esp_lower_drq(void) "Lower DREQ" esp_dma_enable(void) "Raise enable" esp_dma_disable(void) "Lower enable" +esp_pdma_read(int size) "pDMA read %u bytes" +esp_pdma_write(int size) "pDMA write %u bytes" esp_get_cmd(uint32_t dmalen, int target) "len %d target %d" esp_do_busid_cmd(uint8_t busid) "busid 0x%x" esp_handle_satn_stop(uint32_t cmdlen) "cmdlen %d" |