On Wed, Dec 23, 1998 at 08:26:16PM -0800, Anand Natarajasundaram wrote:
> I have a R5000 Compact PCI board. I intend to do a Linux port on it.
> I have downloaded Linux-2.1.36.
Please don't use that kernel. Below are instructions how to get current
sources (2.1.121) from CVS which will be a _much_ more satisfying experience.
> Most of the MIPS machine except DECstations use the ARC firmware. I
> have a firmware running on my board. I plan to use it to boot Linux.
> I have some queries :
> 1) How is the boot sequence from Power On to 'kernel_entry' happens on
> a DECstation or Indy Box ?
What the firmware does is about
- self test
- hardware initialization
- execute whatever boot default action is specified like for example
The general philosophy is to touch or rely on the firmware is little as
possible. While there are nice firmware implementations out there like
Algorithmics' PMON, some ARC implementations have been found to be very
buggy; also the different firmware implementations are very different
from each other.
> 2) It seems Linux uses the ARCS PROMBLOCK structure for ROM
> facilities. Is this the only info needed for interfacing the firmware
> with Linux ? What are the issues required to handle while interfacing
> Linux with a firware.
There is no fundamental necessity for Linux to somehow be interfaces with a
firmware. On an Indy we only use the firmware to detect the available
memory areas and the Ethernet hardware address. You can as well implement
this by quering a non-ARC firmware, the hardware or by hardware as appropriate
for your platform. As all this code is platform specific you can hide is
somewhere in arch/mips/<your-platform>/.
> 3) Is there a clear document describing these issues ?
The source is with you, Luke ...
4.2. Anonymous CVS servers.
For those who always want to stay on the bleeding edge and want to
avoid having to download patch files or full tarballs we also have an
anonymous CVS server. Using CVS you can checkout the Linux/MIPS
source tree with the following commands:
cvs -d :pserver:email@example.com:/cvs login
(Only needed the first time you use anonymous CVS, the password is "cvs")
cvs -d :pserver:firstname.lastname@example.org:/cvs co <repository>
where you insert linux, libc, or gdb for <repository>.