ioremap returns NULL
Quoted 9 lines
Quoted 4 lines
[...]
For each card Iioremap()2 * 16 MB of PCI memory space. It succeeds for the 1st card but for the 2nd card I get NULL as result. This means I cannot use the 2nd card...I think you are screwed. The ioremap grabs from vmalloc area, which is something like 64MB on i386. The best option is to rewrite the driver to allocate less, and perhaps use fewer modules.
The size of the vmalloc area is 128 MB, 96 for highmem kernels. Either:
- compile a kernel without 4G support, then you have 128 MB
- increase PKMAP_BASE (include/asm-i386/highmem.h) to
0xff800000 (it's 0xfe000000 in 2.5.50)
Right now 32 MB virtual memory are reserved for kmap, but only 4 MB are used. Changing PKMAP_BASE gives you 24 MB additional vmalloc space for free.
- increase __VMALLOC_RESERVE.
--
Manfred