[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/5] lsi: Adjust some register reset values
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 4/5] lsi: Adjust some register reset values |
Date: |
Tue, 4 May 2010 14:21:02 +0200 |
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 <address@hidden>
---
hw/lsi53c895a.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c
index 61de23e..f088d06 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;
--
1.6.0.2
- [Qemu-devel] [PATCH 0/5] scsi: More reset and hotplug fixes, Jan Kiszka, 2010/05/04
- [Qemu-devel] [PATCH 4/5] lsi: Adjust some register reset values,
Jan Kiszka <=
- [Qemu-devel] [PATCH 5/5] lsi: Handle removal of selected devices, Jan Kiszka, 2010/05/04
- [Qemu-devel] [PATCH 3/5] lsi: Purge message queue on reset, Jan Kiszka, 2010/05/04
- [Qemu-devel] [PATCH 1/5] SCSI: Add disk reset handler, Jan Kiszka, 2010/05/04
- [Qemu-devel] [PATCH 2/5] scsi-disk: Clear aiocb on read completion, Jan Kiszka, 2010/05/04
- [Qemu-devel] Re: [PATCH 0/5] scsi: More reset and hotplug fixes, Gerd Hoffmann, 2010/05/04