"alloc_area_pte: page already exists"
Xupei Liang
tliang at yahoo.com
Wed Jul 23 11:18:34 EST 2003
Hi, Matt,
Thank you.
I am not using any io_block_map() call in the code.
However, there are might be other similar causes.
I am still working on it.
If you have more ideas, please let me know.
Regards,
Terry L.
--- Matt Porter <mporter at kernel.crashing.org> wrote:
>
> On Mon, Jul 21, 2003 at 07:01:49PM -0700, Xupei
> Liang wrote:
> >
> > Matt,
> >
> > It is a custom board with 256MB of memory.
>
> Ahh, ok. So, what you've done is misconfigured a
> mapping in
> your custom board port. It's reporting that you
> already have
> a pte allocated in the vmalloc area which must be
> untouched
> so the VM can allocate memory at runtime.
>
> Usually, this is the result of an errant
> io_block_map entry
> which overlaps the vmalloc area. Examine the
> VMALLOC_START
> macro to see how the start of vmalloc space is
> calculated.
> In your case, (256MB of RAM) the start of vmalloc
> space will
> be at 0xd1000000 assuming a standard PAGE_OFFSET of
> 0xc0000000.
> If you've mapped something near that virtual address
> or somewhere
> close above that address then you need to move it.
> How much
> vmalloc space you need to reserve depends solely on
> your specific
> application.
>
> In most cases, it's smarter to never use
> io_block_map and to
> let ioremap() create mappings dynamically so this
> sort of thing
> doesn't happen. Most modern in-kernel ports try to
> not use
> io_block_map if at all possible.
>
> Regards,
> --
> Matt Porter
> mporter at kernel.crashing.org
>
>
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list