>But when reading the buffer isn't allocated
This is of course rubbish. I meant the buffer isn't initialized.
Some more details about what I'm doing:
I have a PCI board with 1M of RAM and a PLX9080 on it (and some more chips
which don't matter here). So far I have established normal communication with
the board (to program the PLX etc.). Now I want to write larger junks of data
to the RAM. So I startet to resolve the physical addresses of the user space
data to generate a chain list. Everything works fine for writing to the RAM.
The problem is reading. If I allocate a new buffer for reading back it isn't
of course not yet mapped to physical memory. The "quick and dirty"(tm) hack
was writing a zero to each buffer element to get it mapped. The better version
is to do this in steps of PAGE_SIZE. What I'm looking for is a kernel routine
to force the mapping of previous unmapped pages. Browsing through the source
in mm/ I found make_pages_present(). Could this be the solution? I hadn't the
time to try it out yet.
Christoph
-- ********************************************************** * Christoph Baumann * * Kirchhoff-Institut für Physik - Uni Heidelberg * * Mail: baumann@kip.uni-heidelberg.de * * Phone: ++49-6221-54-4329 * **********************************************************- 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/