aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2010-05-04 14:21:02 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2010-05-10 11:36:03 -0500
commit12aa6dd61cb29bc2f1dc38d26bc61bdd7b6e9163 (patch)
tree855916b4b21353d65eaa3fc94fba00d673043045
parentd43ba0af97646e36b6309292d30ee13b0948b1f8 (diff)
lsi: Adjust some register reset values
According to the LSI spec, the reset value of dcmd, dstat, and ctest2 were wrong, and sdid as well as ssid require zero initialization. There are surely more discrepancies, this is just another increment. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--hw/lsi53c895a.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c
index 61de23ea7..f088d068d 100644
--- a/hw/lsi53c895a.c
+++ b/hw/lsi53c895a.c
@@ -298,8 +298,8 @@ static void lsi_soft_reset(LSIState *s)
memset(s->scratch, 0, sizeof(s->scratch));
s->istat0 = 0;
s->istat1 = 0;
- s->dcmd = 0;
- s->dstat = 0;
+ s->dcmd = 0x40;
+ s->dstat = LSI_DSTAT_DFE;
s->dien = 0;
s->sist0 = 0;
s->sist1 = 0;
@@ -308,7 +308,7 @@ static void lsi_soft_reset(LSIState *s)
s->mbox0 = 0;
s->mbox1 = 0;
s->dfifo = 0;
- s->ctest2 = 0;
+ s->ctest2 = LSI_CTEST2_DACK;
s->ctest3 = 0;
s->ctest4 = 0;
s->ctest5 = 0;
@@ -327,6 +327,8 @@ static void lsi_soft_reset(LSIState *s)
s->scid = 7;
s->sxfer = 0;
s->socl = 0;
+ s->sdid = 0;
+ s->ssid = 0;
s->stest1 = 0;
s->stest2 = 0;
s->stest3 = 0;