Thread (2 messages) flat view 2 messages, 2 authors, 2001-10-19

Re: boot methods

From: Paul Mackerras <hidden>
Date: 2001-10-19 12:05:11

Michael Sokolov writes:
But currently the vmlinux boot interface is defined per platform: the generic
code passes the initial R3-R7 to platform_init(). It should be possible for a
board port maintainer to change this interface in his/her port without
affecting anyone else.
Yes, that is a very good point.
In arch/ppc/kernel/setup.c
change the division of labor between machine_init and parse_bootinfo. Move the
current logic for locating bi_recs in memory from parse_bootinfo to
machine_init, passing the pointer to bi_recs to parse_bootinfo() as an
argument. Then new board ports can be designed with a bi_recs interface instead
of the current traditional one by doing something like parse_bootinfo(r3) in
platform_init.
An excellent suggestion.  Thank you.  Is anyone using the bi_recs in
anger yet?

For CONFIG_ALL_PPC, we need to make a wrapper which can be booted
using existing installed versions of BootX/quik/yaboot, which will
accept the parameters as provided by those loaders and make up a set
of bi_recs.  Then we can require that pmac/prep/chrp _always_ use a
wrapper, and then start to move the Open Firmware calls into the
wrapper.

Other platform maintainers can use a wrapper or not as they choose.
For consistency and simplicity it would be nice if there was a
standard register assignment on entry, for example having the physical
address of the bi_recs in r3, but that is not essential.

We should all agree on a comment set of bi_rec tags and the format for
each type of entry.  And I like Ben's suggestion of keeping the bi_recs
around.

Reactions?  Thoughts?  Comments?

Paul.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help