qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] esp: On qemu-system-sparc's esp, TC is not set prop


From: Ryo ONODERA
Subject: [Qemu-devel] [PATCH] esp: On qemu-system-sparc's esp, TC is not set properly
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 <address@hidden>
---
 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;
-- 
1.7.12






reply via email to

[Prev in Thread] Current Thread [Next in Thread]