Calling the kernel from a mini-bootloader
David Gibson
david at gibson.dropbear.id.au
Fri Jul 18 13:47:27 EST 2008
On Thu, Jul 17, 2008 at 11:14:11AM -0500, Milton Miller wrote:
> On Thu Jul 17 at 23:22:28 EST in 2008, Guillaume Dargaud wrote:
[snip]
>> Maybe the main() of the kernel can receive argv/argc the usual way,
>> and I
>> just need to call "0x400000(argc, argv);" but I have no idea if that
>> works.
>
> Ahh ... you are still on ppc. Please note that we just merged
> the removal of arch/ppc, everyone needs to use powerpc now. The
> good news is: its easier to state the requirements, and its
> easier to share the code in vmlinux. The bad news is you have to
> follow the rules for passing data to the kernel. Its not hard.
> We have defined a data structure that is parsed to become a tree
> of data describing the machine, and based the contents on open
> firmware. We call this the flattened device tree.
Your firmware doesn't have to deal with this though, although it can.
It's perfectly acceptable - in fact I'd mildly recommend it over doing
this in the firmware - to instead have the kernel's zImage wrapper
supply the flattened device tree, folding information it needs to get
from the firmware into it.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
More information about the Linuxppc-dev
mailing list