The Count to zero flag (STAT_TC) must not be cleared after an Interrupt Status register read.
Signed-off-by: Olivier Danet <[email protected]> --- hw/esp.c 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/esp.c b/hw/esp.c index fa9d2a2..90bfdc6 100644 --- a/hw/esp.c +++ b/hw/esp.c @@ -525,9 +525,9 @@ static uint32_t esp_mem_readb(void *opaque, target_phys_addr_t addr) except TC */ old_val = s->rregs[ESP_RINTR]; s->rregs[ESP_RINTR] = 0; - s->rregs[ESP_RSTAT] &= ~STAT_TC; s->rregs[ESP_RSEQ] = SEQ_CD; esp_lower_irq(s); + s->rregs[ESP_RSTAT] &= STAT_TC STAT_MI; return old_val; default: -- 1.6.2.4
