Hi Raphael
There is a series of functions defined in pci.h associated with probing and configuring the card - One structure in particular will return with all the memory and IO base address pointers. These are normally programmed at the time of manufacture and often declare more memory than is actually on board (graphics cards are the best example here). An upgrade path is allowed for without having to resort to reprogramming the registers.
The problem I have is these daughter modules plug into one of the memory blocks without modifying the PCI configuration registers - There could be several of these modules plugged in to any one PCI card. The only way of determining which modules (if any) are installed is to do a read for an ID string every 0x80 bytes or so.
Going to have to see what happens with a 2Mb video card that claims to map 32Mb (data from /proc/pciregions).
Regards, Paul.
On Thursday 23 May 2002 20:21, Raphael Mankin wrote:
I'm no expert on PCI, but there is a PCI 'registration' area where you can find what which cards are there. Unlike ISA, you do not have to probe.