I have further traced what is happening in the kernel when it does a memory probe.
"cs: memory probe 0x80000000-0xfcffffff" " excluding 0x80000000-0xfcffffff" As is steps through the memory between 0x80000000 and 0xfcffffff is does find several regions that it can successfully claim. Once it claims a region, it then attempts to validate the CIS (pccard_validate_cis()) using that memory region however it fails to do so. It simply cannot read the CIS. I don't completely understand how the memory mapping to the CIS is supposed to work. Is the card or socket controller supposed to be setup to allow this access? The socket controller is setup with memory windows of 0x80000000-0x803ff000 and 0xbf8ff000-0xbfcfe000. As the kernel probes memory, it finds that 0x80000000=0x803ff000 is not available. It finds that 0x80800000 (searches using a step size of 0x00800000) is available and attempts to access the CIS at the location. This outside of the socket controller's memory windows so is it supposed to be able to access the CIS in this memory range? This continues through the entire probed memory range. Whenever it hits a memory location that part of the allocated memory window or allocated to another PCI device, it finds that the resource is not available. When it hit a free memory range, it cannot access the CIS and fails to validate. What am I missing? David Clark Senior Software Engineer C&H Technologies, Inc Web: http:\\www.chtech.com Phone: 512-733-2621 Fax: 512-733-2629 Email: [EMAIL PROTECTED] _______________________________________________ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
