Le 29/10/2018 à 14:39, Mark Cave-Ayland a écrit :
From: Laurent Vivier <laur...@vivier.eu>
Co-developed-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Laurent Vivier <laur...@vivier.eu>
---
hw/scsi/esp.c | 292 +++++++++++++++++++++++++++++++++++++++++++++-----
include/hw/scsi/esp.h | 7 ++
2 files changed, 270 insertions(+), 29 deletions(-)
[...]
@@ -409,6 +564,7 @@ uint64_t esp_reg_read(ESPState *s, uint32_t saddr)
s->ti_size--;
s->rregs[ESP_FIFO] = s->ti_buf[s->ti_rptr++];
}
+ esp_raise_irq(s);
if (s->ti_rptr == s->ti_wptr) {
s->ti_rptr = 0;
s->ti_wptr = 0;
You're now raising irq (not drq) when reading registers. In my opinion, this
deserves its own patch with an explanation.
Hervé