From: Jan Kiszka Date: Tue, 4 May 2010 12:21:02 +0000 (+0200) Subject: lsi: Adjust some register reset values X-Git-Tag: v0.13.0-rc0~573 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12aa6dd61cb29bc2f1dc38d26bc61bdd7b6e9163;p=thirdparty%2Fqemu.git 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 --- diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c index 61de23ea7e0..f088d068dac 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;