linux-mips
[Top] [All Lists]

Re: boot requirements

To: David Kesselring <dkesselr@mmc.atmel.com>
Subject: Re: boot requirements
From: Jun Sun <jsun@mvista.com>
Date: Thu, 24 Jul 2003 10:15:35 -0700
Cc: linux-mips@linux-mips.org, jsun@mvista.com
In-reply-to: <Pine.GSO.4.44.0307241019450.23101-100000@ares.mmc.atmel.com>; from dkesselr@mmc.atmel.com on Thu, Jul 24, 2003 at 10:27:16AM -0400
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <Pine.GSO.4.44.0307241019450.23101-100000@ares.mmc.atmel.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.2.5i
On Thu, Jul 24, 2003 at 10:27:16AM -0400, David Kesselring wrote:
> I am trying to determine what has to be included in our boot code to start
> linux. I didn't think I needed to port yamon. What does yamon or pmon
> provide for starting or debugging(gdb) linux? Does the processor need to
> be in a specific state or context before jumping from the boot code to the
> linux downloaded image? If someone can point me to a simple example, I
> would greatly appreciate it.
>

This is a good question.  I am listing what I can think of on top of my
head.  Some items might be missing:

. cold initialize board
. RAM should be ready
. kernel binary is in place
. cache is consistent.
. any kernel command line args are set up (set prom_init() for the 
  "protocol")
. Normally you would enable cache, and jump to the KSEG0 kernel_entry.
  (I have seen exceptions, in which case you need to modified a little
   in kernel)
. Obviously CPU is setup in kernel mode and a few configs are setup correctly
  (such as data path width, timing, etc).  Interrupt should be
  turned off.
 
All the rest bootloader work are negotiable between the linux kernel
and bootloader.  For example, if bootloader assigns PCI resources,
then kenel can skip pci_auto.  In other words, beyond the above
minimum requirement, other bootloader work _can_ be done in Linux board
setup routine.

Jun

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