Port-ofppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

compat/native?



Frank Wille says;

I have cleared the native-mode bits in the PCI-interface register, but
the result is that the controller is dead, and no more drives will be found.

Let's summarize our unstandings first to talk further;

On compat mode the IDE HW uses legacy ISA address for register
control and emits legacy i8259 IRQs.  Some IDE HW can change
addresses and/or IRQs among predefined choices fiddling
proprietary knobs.

Native IDE HW can be "relocatable,"  which means multiple IDE cards
may be used in a single system.  To make possible IDE BARs must be
arranged as independent values by firmware (often mentioned as a
BIOS) at pre-booting stage.  A pair of pin-A and correctly chosen
line disignation makes sense only in this context if-and-only-if HW can
emit real PCI interrupt.

Now, some NetBSD ports have pci/pciide_machdep.c to divert the
compat case and the compat IDE HW is known working in legacy
mode, that is, with legacy register addresses and legacy i8259 IRQs,
14 for primary and 15 for secondary.

there is simple solution (or hack) to make it work perfectly: whenever
the native PCI interrupt handler for irq 14 is installed, I will additionally
install the same handler for irq 15. Tested. Works fine!

Is it really "native PCI interrupt handler" in irq (vague term ...) 15/14?
If s/native PCI/legacy/, then your story makes all sense.  The IDE HW
is working as designed.

Toru Nishimura/ALKYL Technology



Home | Main Index | Thread Index | Old Index