Hi, From: Ryo ONODERA <ryo...@yk.rim.or.jp>, Date: Wed, 26 Sep 2012 02:44:35 +0900
> I does not understand hw/esp.c fully. > This patch supresses esp/TC related errors on NetBSD/sparc 5.1.2 or 6.0_RC2. > > Please review the patch. > > This is patch for https://bugs.launchpad.net/qemu/+bug/1055090 . > > Signed-off-by: Ryo ONODERA <ryo...@yk.rim.or.jp> > --- > hw/esp.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/hw/esp.c b/hw/esp.c > index 84a4e74..cd14ed1 100644 > --- a/hw/esp.c > +++ b/hw/esp.c > @@ -91,6 +91,10 @@ static uint32_t get_cmd(ESPState *s, uint8_t *buf) > dmalen |= s->rregs[ESP_TCMID] << 8; > dmalen |= s->rregs[ESP_TCHI] << 16; > s->dma_memory_read(s->dma_opaque, buf, dmalen); > + s->rregs[ESP_RSTAT] |= STAT_TC; > + s->rregs[ESP_TCLO] = 0; > + s->rregs[ESP_TCMID] = 0; > + s->rregs[ESP_TCHI] = 0; > } else { > dmalen = s->ti_size; > memcpy(buf, s->ti_buf, dmalen); > @@ -242,6 +246,10 @@ static void esp_do_dma(ESPState *s) > if (s->do_cmd) { > trace_esp_do_dma(s->cmdlen, len); > s->dma_memory_read(s->dma_opaque, &s->cmdbuf[s->cmdlen], len); > + s->rregs[ESP_RSTAT] |= STAT_TC; > + s->rregs[ESP_TCLO] = 0; > + s->rregs[ESP_TCMID] = 0; > + s->rregs[ESP_TCHI] = 0; > s->ti_size = 0; > s->cmdlen = 0; > s->do_cmd = 0; Sadly I have gotten same errors on NetBSD/sparc just after the report. esp0: !TC on DATA XFER [intr 10, stat 83, step 0] prevphase 2, resid 0 Could qemu experts investigate this problem? Thank you. -- Ryo ONODERA // ryo...@yk.rim.or.jp PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3