PCI_DIRECT looks incomplete. (2.2.10)

From: Ronald G. Minnich (rminnich@lanl.gov)
Date: Mon Mar 27 2000 - 16:02:58 EST


There look to me to be basic things missing from PCI_DIRECT (i.e. PCI
configuration without a BIOS), but before I go any further I want to check
with this list.

First, memory base address configuration doesn't look right. Registers
with IO addressing do in fact get done right. But registers that are
memory don't seem to get done at all: the kernel seems to go with whatever
is there. At the very least I expect to see the kernel:

1) see if a base address register can point to a memory-addressable place
   (found this in bios32.c, see has_mem, but ...)
2) write to each base address register in turn with a (-1), then read the
   size back (don't see this anywhere ...)
3) put a base address in the register after allocating part of the
   PCI address space (don't see this anywhere ...)

In running the LinuxBIOS I don't see base address registers getting set
correctly.

Second, IRQs: they seem to be not getting set at all. This causes trouble:
the aic7xxx driver assumes that if IRQ is 0, then the BIOS disabled the
device. In my case, the BIOS isn't there, so this assumption does not
hold.

Is there anyone out there who can fill me in? Am I missing something or is
PCI_DIRECT only partially done? Absent a response I guess I'll start
trying to fixup the PCI_DIRECT code ...

ron

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:20 EST