Subject: Re: Problems with Promise IDE controllers on NetBSD/alpha
To: Luke Mewburn <lukem@cs.rmit.edu.au>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-alpha
Date: 10/11/2000 20:29:09
On Wed, Oct 11, 2000 at 06:13:07PM +1100, Luke Mewburn wrote:
> I plugged a Promise UltraATA/100 card into my PC164 which has an NCR
> 53c810 SCSI controller & serial console (and has worked flawlessly for
> more than 12 months), and 1.5_ALPHA2 panics with:
>
> pciide0 at pci0 dev 6 function 0: Promise Ultra100/ATA Bus Master IDE
> Accelerator (rev. 0x02)
> pciide0: bus-master DMA support present
> pciide0: primary channel configured to native-PCI mode
> pciide0: using eb164 irq 0 for native-PCI interrupt
>
> unexpected machine check:
>
> mces = 0x1
> vector = 0x660
> param = 0xfffffc0000006060
> pc = 0xfffffc00004c79f8
> ra = 0xfffffc000031dd64
> curproc = 0xfffffc0000564830
> pid = 0, comm = swapper
>
> panic: machine check
> Stopped in swapper at cpu_Debugger+0x4: ret zero,(ra)
The problem is: the promise only supports I/O ranges from 0x0000 to 0x10000
(they just ignored the higther bits).
This is fine for a i386 but the PC164 SRM allocates I/O ranges over 0x10000
for PCI cards.
A patch has been posted to the list some time ago, which relocates the
I/O ports below 0x10000, but this is ugly: the patch doesn't check that
the I/O range is free.
--
Manuel Bouyer <bouyer@antioche.eu.org>
--