On Thu, Jan 27, 2011 at 7:06 PM, Olivier DANET <[email protected]> wrote: > > The Count to zero flag (STAT_TC) must not be cleared after an Interrupt Status > register read.
This is not what the patch is supposed to do, STAT_TC is already not cleared. I think you are trying to save Phase bits (2 to 0). > > 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; This seems to miss something, like ~( | ). Why move the line?
