On 11/28/06, Jon Ringle <[EMAIL PROTECTED]> wrote:
Robert Hancock wrote: > Jon Ringle wrote: >> Hi, >> >> I need to reserve a page of memory at a specific area of RAM that will >> be used as a "shared memory" with another processor over PCI. How can I >> ensure that the this area of RAM gets reseved so that the Linux's memory >> management (kmalloc() and friends) don't use it? >> >> Some things that I've considered are iotable_init() and ioremap(). >> However, I've seen these used for memory mapped IO devices which are >> outside of the RAM memory. Can I use them for reseving RAM too? >> >> I appreciate any advice in this regard. > > Sounds to me like dma_alloc_coherent is what you want.. > It looks promising, however, I need to reserve a physical address area that is well known (so that the code running on the other processor knows where in PCI memory to write to). It appears that dma_alloc_coherent returns the address that it allocated. Instead I need something where I can tell it what physical address and range I want to use.
I've seen other projects just boot a 128M board with mem=120M and just use the 8MB at 120 to talk to the other processor.. Dave. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/