[Top][All Lists]
[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
- [Qemu-devel] [PATCH] esp: On qemu-system-sparc's esp, TC is not set properly,
Ryo ONODERA <=