linux-mips
[Top] [All Lists]

Re: memory for exception vectors

To: Ladislav Michl <ladis@linux-mips.org>
Subject: Re: memory for exception vectors
From: Jun Sun <jsun@mvista.com>
Date: Tue, 13 May 2003 09:52:44 -0700
Cc: linux-mips@linux-mips.org, jsun@mvista.com
In-reply-to: <20030513105145.D22288@ftp.linux-mips.org>; from ladis@linux-mips.org on Tue, May 13, 2003 at 10:51:45AM +0100
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20030512115641.F17151@ftp.linux-mips.org> <20030512104408.C24045@mvista.com> <20030513105145.D22288@ftp.linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.2.5i
On Tue, May 13, 2003 at 10:51:45AM +0100, Ladislav Michl wrote:
> On Mon, May 12, 2003 at 10:44:08AM -0700, Jun Sun wrote:
> > On Mon, May 12, 2003 at 11:56:41AM +0100, Ladislav Michl wrote:
> > > Could anyone tell me where is space for exception vectors reserved? Many 
> > > boards
> > > (for example Alchemy Pb1000, Galileo EV96100 or Galileo EV64120A) simply
> > > registers all available RAM with add_memory_region call, but I didn't 
> > > find code
> > > which reserves first 0x200 (on most CPUs) for exceptions vectors 
> > > anywhere. I'd
> > > guess there is something obvious what I'm missing. Can you help me to see 
> > > it?
> > 
> > Kernel only uses memory after the end of kernel image.  In that sense, all
> > memory before LOADADDR (see arch/mips/Makefile) is reserved.
> 
> I'm afraid, I didn't find any code which does what you're describing here.
> But in arch/mips/mm/init.c is function setup_zero_pages which allocates
> first (or first eight if CPU has VCE) page(s). Does it do the trick?
>

Now you are really pushing me. :)

I figured that out a while back.  I think you can find answers in
arch/mips/kernel/setup.c, 

        start_pfn = PFN_UP(__pa(&_end));

I think zero pages are allocated so that all future read-only zero-filled
pages can be mapped to them.  They are allocated at the beginning of
start_pfn, which is also after kernel image.

Jun 

<Prev in Thread] Current Thread [Next in Thread>