Patchwork esp: On qemu-system-sparc's esp, TC is not set properly

login
register
mail settings
Submitter Olivier DANET
Date Oct. 2, 2012, 8:46 p.m.
Message ID <20121002204651.222950@gmx.com>
Download mbox | patch
Permalink /patch/188690/
State New
Headers show

Comments

Olivier DANET - Oct. 2, 2012, 8:46 p.m.
Could you please try this patch. The TC (count to zero) flag is wrongly
cleared after reading the RINTR register. (contradicting the comment
just above the patch in the source file.)

Regards
Olivier

Patch

diff --rup a/hw/esp.c b/hw/esp.c
--- a/hw/esp.c  2012-10-01 22:06:39.000000000 +0200
+++ b/hw/esp.c  2012-10-02 22:22:53.000000000 +0200
@@ -417,9 +417,9 @@  uint64_t esp_reg_read(ESPState *s, uint3
            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: