From: "Lyle Bainbridge" <lyle@zevion.com>
To: "'David Kesselring'" <dkesselr@mmc.atmel.com>,
<linux-mips@linux-mips.org>
Subject: RE: boot requirements
Date: Thu, 24 Jul 2003 11:32:28 -0500 [thread overview]
Message-ID: <000001c35201$2dbcd1e0$2a737b18@radium> (raw)
In-Reply-To: <Pine.GSO.4.44.0307241019450.23101-100000@ares.mmc.atmel.com>
Hi,
Creating a simple boot loader:
Well firstly, you'll need to at least implement some
initialization code specific to your processor. Typically
for MIPS this would involve initializing CP0, the cache
and TLB. Then perhaps some peripheral initialization such
as clocks, static memory and SDRAM controllers. Then the
stack pointer needs to be set to a suitable location
being carefull to word align.
Ok, well that's just the reset code for your processor.
What you need to fo for the Linux kernel depends on where it
is stored and whether it is compressed. Loading from a disk
requires a slightly less than trivial bootloader. For the
sake of discussion I'll assume the kernel is located in flash:
For compressed kernel in flash with ELF header:
a. Uncompress the kernel to RAM.
b. Read the ELF header to determine layout of sections
and kernel entry point.
c. Copy sections to memory as specified in ELF header.
d. Jump to kernel entry point.
e. Kernel does the rest :)
If the kernel is not compress then obviously this step can
be skipped. This is a pretty minimal boot loader and easy
to implement.
> 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.
>
> David Kesselring
> Atmel MMC
> dkesselr@mmc.atmel.com
> 919-462-6587
>
WARNING: multiple messages have this Message-ID (diff)
From: "Lyle Bainbridge" <lyle@zevion.com>
To: 'David Kesselring' <dkesselr@mmc.atmel.com>, linux-mips@linux-mips.org
Subject: RE: boot requirements
Date: Thu, 24 Jul 2003 11:32:28 -0500 [thread overview]
Message-ID: <000001c35201$2dbcd1e0$2a737b18@radium> (raw)
Message-ID: <20030724163228.ebAVtht0G0BAKJBCwruNqJtiP0eyzZ0UilMsCJMj0UY@z> (raw)
In-Reply-To: <Pine.GSO.4.44.0307241019450.23101-100000@ares.mmc.atmel.com>
Hi,
Creating a simple boot loader:
Well firstly, you'll need to at least implement some
initialization code specific to your processor. Typically
for MIPS this would involve initializing CP0, the cache
and TLB. Then perhaps some peripheral initialization such
as clocks, static memory and SDRAM controllers. Then the
stack pointer needs to be set to a suitable location
being carefull to word align.
Ok, well that's just the reset code for your processor.
What you need to fo for the Linux kernel depends on where it
is stored and whether it is compressed. Loading from a disk
requires a slightly less than trivial bootloader. For the
sake of discussion I'll assume the kernel is located in flash:
For compressed kernel in flash with ELF header:
a. Uncompress the kernel to RAM.
b. Read the ELF header to determine layout of sections
and kernel entry point.
c. Copy sections to memory as specified in ELF header.
d. Jump to kernel entry point.
e. Kernel does the rest :)
If the kernel is not compress then obviously this step can
be skipped. This is a pretty minimal boot loader and easy
to implement.
> 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.
>
> David Kesselring
> Atmel MMC
> dkesselr@mmc.atmel.com
> 919-462-6587
>
next prev parent reply other threads:[~2003-07-24 16:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-24 14:27 boot requirements David Kesselring
2003-07-24 15:50 ` Joe George
2003-07-24 16:02 ` Wolfgang Denk
2003-07-24 16:32 ` Lyle Bainbridge [this message]
2003-07-24 16:32 ` Lyle Bainbridge
2003-07-24 17:15 ` Jun Sun
-- strict thread matches above, loose matches on Subject: below --
2003-07-24 17:28 David Kesselring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000001c35201$2dbcd1e0$2a737b18@radium' \
--to=lyle@zevion.com \
--cc=dkesselr@mmc.atmel.com \
--cc=linux-mips@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox