Hi all (I'm finally back from holidays:)
>>>>> "Steph" == Steph Hannon <hannon@Crissy.Stanford.EDU> writes:
Steph> Hi, I am trying to determine the exact sequence of events that
Steph> occurs when Linux is booted on a MIPS machine. I am working on
Warner already answered this but I want to add some precisions.
Milo for the ARC compliant boxes figure out various hardware
parameters of the box and pass them to the kernel. As the last
versions of Milo/kernel, this is done by putting this infos at the top
of memory (we call them 'tags'). The kernel functions responsible for
snarfing this infos are in arch/mips/kernel/setup.c, they are called
bi_TagFind() and bi_EarlySnarf() and are for now called in
head.S:kernel_entry(), and setup.c:setup_arch().
For non-ARC compliant box the kernel itself should do this hardware
poking, create the tags at the end of memory. As an example, for DECs
- Paul is working on that - it should be done in
decstation.S:dec_entry() before jumping to head.S:kernel_entry() from
where tags decoding/use can begin.
In Milo, tags creation take place the functions you can find in bitags.c
Hopefully all this would be a little bit more commented in the future
Milo 0.27 which is a kind of rewritre of the current Milo.