[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.
From: |
Justin Chevrier |
Subject: |
Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5 |
Date: |
Tue, 4 Nov 2008 05:30:54 -0800 (PST) |
Hey again,
I realized that my patch was malformed (diffing the wrong way). Here it is
again, hopefully in a usable format. Sorry for the confusion.
--- lsi53c895a.c 2008-11-04 08:28:18.000000000 -0500
+++ lsi53c895a.c.final 2008-11-04 08:28:40.000000000 -0500
@@ -209,6 +209,7 @@
uint8_t mbox0;
uint8_t mbox1;
uint8_t dfifo;
+ uint8_t ctest2;
uint8_t ctest3;
uint8_t ctest4;
uint8_t ctest5;
@@ -280,6 +281,7 @@
s->mbox0 = 0;
s->mbox1 = 0;
s->dfifo = 0;
+ s->ctest2 = 0;
s->ctest3 = 0;
s->ctest4 = 0;
s->ctest5 = 0;
@@ -890,6 +892,7 @@
break;
case PHASE_DI:
s->waiting = 2;
+ s->current_dma_len = s->dbc;
lsi_do_dma(s, 0);
if (s->waiting)
s->waiting = 3;
@@ -1279,7 +1282,7 @@
case 0x19: /* CTEST1 */
return 0;
case 0x1a: /* CTEST2 */
- tmp = LSI_CTEST2_DACK | LSI_CTEST2_CM;
+ tmp = s->ctest2 | LSI_CTEST2_DACK | LSI_CTEST2_CM;
if (s->istat0 & LSI_ISTAT0_SIGP) {
s->istat0 &= ~LSI_ISTAT0_SIGP;
tmp |= LSI_CTEST2_SIGP;
@@ -1327,6 +1330,8 @@
s->sist1 = 0;
lsi_update_irq(s);
return tmp;
+ case 0x46: /* MACNTL */
+ return 0x0f;
case 0x47: /* GPCNTL0 */
return 0x0f;
case 0x48: /* STIME0 */
@@ -1440,6 +1445,9 @@
SCRIPTS register move instructions are. */
s->sfbr = val;
break;
+ case 0x0a: case 0x0b:
+ /* Openserver writes to these readonly registers on startup */
+ return;
case 0x0c: case 0x0d: case 0x0e: case 0x0f:
/* Linux writes to these readonly registers on startup. */
return;
@@ -1469,6 +1477,9 @@
case 0x17: /* MBOX1 */
s->mbox1 = val;
break;
+ case 0x1a: /* CTEST2 */
+ s->ctest2 = val & LSI_CTEST2_PCICIE;
+ break;
case 0x1b: /* CTEST3 */
s->ctest3 = val & 0x0f;
break;
@@ -1869,12 +1880,21 @@
return NULL;
}
+ /* PCI Vendor ID (word) */
s->pci_dev.config[0x00] = 0x00;
s->pci_dev.config[0x01] = 0x10;
+ /* PCI device ID (word) */
s->pci_dev.config[0x02] = 0x12;
s->pci_dev.config[0x03] = 0x00;
+ /* PCI base class code */
s->pci_dev.config[0x0b] = 0x01;
- s->pci_dev.config[0x3d] = 0x01; /* interrupt pin 1 */
+ /* PCI subsystem ID */
+ s->pci_dev.config[0x2e] = 0x00;
+ s->pci_dev.config[0x2f] = 0x10;
+ /* PCI latency timer = 255 */
+ s->pci_dev.config[0x0d] = 0xff;
+ /* Interrupt pin 1 */
+ s->pci_dev.config[0x3d] = 0x01;
s->mmio_io_addr = cpu_register_io_memory(0, lsi_mmio_readfn,
lsi_mmio_writefn, s);
- Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5, Justin Chevrier, 2008/11/03
- Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5, Justin Chevrier, 2008/11/04
- Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5,
Justin Chevrier <=
- Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5, Craig Ringer, 2008/11/06
- Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5, Justin Chevrier, 2008/11/06
- Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5, Craig Ringer, 2008/11/07
- Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5, Craig Ringer, 2008/11/07
- Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5, Justin Chevrier, 2008/11/10
Re: [Qemu-devel] LSI53C895A, IDE HDD detection under SCO OpenServer 5.0.5, Justin Chevrier, 2008/11/14