problem: io_remap address exhaustion?

Josh Fryman (fryman@cc.gatech.edu)
Fri, 24 May 2002 13:33:45 -0400


hi,

this may be a dumb question, but we're encountering a bit of difficulty with
two PCI cards we have in a system here.

we've got a P4 with 512MB of RAM. this P4 has two PCI cards, which are
identical, each of which has 256MB of RAM. we're working on a driver to
talk to the devices and present their entire memory space to the user
via "io_remap()" but it seems to be exhausting the memory space...

eg, if we try to do the remap on the first card, it works fine. the second
card fails. if we drop the SDRAM size from 256M to 128M, we can map both
cards fine. however, we note the starting addresses look like so:

May 24 13:23:33 ilab2 kernel: ixp1200: I21555 CSRs: phys(0xfe4ff000) virt(0xe98ed000) size(4 KB)
May 24 13:23:33 ilab2 kernel: ixp1200: IXP1200 CSRs: phys(0xdff00000) virt(0xe992b000) size(1 MB)
May 24 13:23:33 ilab2 kernel: ixp1200: IXP1200 SDRAM: phys(0xc0000000) virt(0xe9a2c000) size(256 MB)
May 24 13:23:33 ilab2 kernel: ixp1200: Hooked & enabled master IRQ(20) handler
May 24 13:23:33 ilab2 kernel: ixp1200: ixp0: Probing/setting up IXP1200 ethernet interface!
May 24 13:23:33 ilab2 kernel: ixp1200: ixp_map_one: Failed to ioremap_nocache() IXP1200's SDRAM memory region!
May 24 13:23:33 ilab2 kernel: ixp1200: Found and initialized 1 IXP1200 board.

is there some place to lower the virtual memory address being used here? we're
clearly wrapping the address which is causing the failure, but i'm hesitant to
poke in the VM extensively trying to hack a horrible fix for this...

thanks for any pointers (to code or documentation),

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