RE: Reserving a fixed physical address page of RAM.

From: Jon Ringle
Date: Tue Nov 28 2006 - 14:37:51 EST


Jesper Juhl wrote:
> On 28/11/06, Fawad Lateef <fawadlateef@xxxxxxxxx> wrote:
> > On 11/28/06, Dave Airlie <airlied@xxxxxxxxx> wrote:
> > > On 11/28/06, Jon Ringle <jringle@xxxxxxxxxxxx> wrote:
> > <snip>
> > > > 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..
> > >
> >
> > Yes, this can be used if required physical-memory exists in
> the last
> > part of RAM as if you use mem=<xxxM> then kernel will only
> use memory
> > less than or equal-to <xxxM> and above can be used by
> drivers (or any
> > kernel module) might be through ioremap which takes
> physical-address.
> >
> > But if lets say we need only 1MB portion of specific
> physical-memory
> > region then AFAIK it must be done by hacking in kernel code during
> > memory-initialization (mem_init function) where it is
> marking/checking
> > pages as/are reserved; you can simply mark you required pages as
> > reserved too and set their count to some-value if you want to know
> > later which pages are reserved by you. (can do this reservation work
> > here: http://lxr.free-electrons.com/source/arch/i386/mm/init.c#605).
> > CMIIW
> >
>
> Can you not use the 'memmap=' kernel option to reserve the
> specific area you need?
> (See Documentation/kernel-parameters.txt for details)

This looks like what I want, but after searching for this, I found that
memmap= is implemented for i386 and ia64 only. My arch is arm (processor
is an IXP455).

I'll explore the mem= option to see if it will work out.

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