diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2010-05-04 14:21:02 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-05-10 11:36:03 -0500 |
commit | 12aa6dd61cb29bc2f1dc38d26bc61bdd7b6e9163 (patch) | |
tree | 855916b4b21353d65eaa3fc94fba00d673043045 | |
parent | d43ba0af97646e36b6309292d30ee13b0948b1f8 (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.c | 8 |
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; |