It seems Mike Hoskins wrote:
> and I just installed a Promise Ultra66. Here's my relevant kernel config
> stuff (following LINT's example):
>
> pci0: unknown card DBZ4d38 (vendor=0x105a, dev=0x4d38) at 14.0 irq 9
Thats the promise controller, try the ata driver instead an use the
following patch, let me know if it works...
Index: ata-all.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v
retrieving revision 1.15
diff -u -r1.15 ata-all.c
--- ata-all.c 1999/06/25 09:02:56 1.15
+++ ata-all.c 1999/08/05 18:14:11
@@ -184,6 +184,8 @@
return "Intel PIIX4 IDE controller";
case 0x4d33105a:
return "Promise Ultra/33 IDE controller";
+ case 0x4d38105a:
+ return "Promise Ultra/66 IDE controller";
case 0x522910b9:
return "AcerLabs Aladdin IDE controller";
#if 0
@@ -241,7 +243,7 @@
#endif
/* if this is a Promise controller handle it specially */
- if (type == 0x4d33105a) {
+ if (type == 0x4d33105a || type == 0x4d38105a) {
iobase_1 = pci_read_config(dev, 0x10, 4) & 0xfffc;
altiobase_1 = pci_read_config(dev, 0x14, 4) & 0xfffc;
iobase_2 = pci_read_config(dev, 0x18, 4) & 0xfffc;
@@ -318,7 +320,7 @@
if (!irq)
printf("ata_pciattach: Unable to alloc interrupt\n");
- if (type == 0x4d33105a)
+ if (type == 0x4d33105a || type == 0x4d38105a)
bus_setup_intr(dev, irq, INTR_TYPE_BIO, promise_intr, scp, &ih);
else
bus_setup_intr(dev, irq, INTR_TYPE_BIO, ataintr, scp, &ih);
@@ -342,7 +344,7 @@
int rid = 0;
void *ih;
- if (type != 0x4d33105a) {
+ if (type != 0x4d33105a && type != 0x4d38105a) {
irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1,
RF_SHAREABLE | RF_ACTIVE);
if (!irq)
Index: ata-dma.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-dma.c,v
retrieving revision 1.8
diff -u -r1.8 ata-dma.c
--- ata-dma.c 1999/05/26 23:01:57 1.8
+++ ata-dma.c 1999/08/05 18:14:55
@@ -168,6 +168,7 @@
break;
case 0x4d33105a: /* Promise Ultra/33 / FastTrack controllers */
+ case 0x4d38105a: /* Promise Ultra/66 controllers */
devno = (scp->unit << 1) + (device ? 1 : 0);
if (udmamode >=2) {
printf("ata%d: %s: setting up UDMA2 mode on Promise chip ",
-Søren
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message