From 12aa6dd61cb29bc2f1dc38d26bc61bdd7b6e9163 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Tue, 4 May 2010 14:21:02 +0200 Subject: 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 Signed-off-by: Anthony Liguori --- hw/lsi53c895a.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'hw') diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c index 61de23ea7e..f088d068da 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; -- cgit v1.2.1