On Wed, May 24, 2000 at 01:03:25PM -0400, Dan Malek wrote: > I will continue to point out that the Linux kernel is not a boot rom. > You first argue that head.S is too complicated, and then want to make > it initialize your processor??? I don't get it. This is not the place > for processor initialization beyond what is necessary for Linux to > operate. There is software in arch/ppc/mbxboot that does a little > more processor initialization for embedded systems, but that still isn't > a boot rom.
I think you got the attributions confused...Tom was trying use kernel/head.S to init the processor. > Further, writing processor initilization functions is very tedious. I > certainly don't want to be downloading a half megabyte or more of kernel > just to test a few processor initialization instructions. When the > kernel doesn't boot, where do you start? I think it's even more difficult for 7xx than on 8xx/82xx stuff since varying bridges and potentially an ISA bridge (shudder) make it a completely different game on every system. > For example, if you write some minimal boot rom to initialize an 8xx > or 82xx processor, verify that you can read/write memory, you can boot > a Linux kernel very quickly. If you have a boot rom, I can have a Linux > kernel running in a day or two by changing a couple of lines of code > in arch/ppc/mbxboot/embed_config.c. Set up an environment for Linux > to run, and it does so very easily. No argument. Obviously, having bootrom/monitor/firmware takes a _vast_ amount of the difficult work out of a port. > > >I think we need to separate the CPU from the machine.... > > > > It's being worked on as far as making a framework for non-chrp/pmac/prep > > 6xx/7xx/74xx ports. There just hasn't been a real pressing need until > > lately. > > The CPU and system/board are separate. Some boards imply a particular > CPU, or vice versa. You have to specify both for the configuration, > and depending upon which you ask first, you can reduce the selection > set for the latter. Updating the configuration choices is just part > of adding a new board or processor. So it seems on the surface, but I was referring to shortcuts made where ifndef 8XX conditionals are used to conditionally build things like the drivers/macintosh/ archive when that is not processor specific action. Similar things happen in the Makefiles to achieve a slimmer kernel. The point being that the approach taken by the gemini architecture boards is not a great one since it simply tacks it's objects onto the bloated chrp/pmac/prep kernel image. Not pretty and not a suitable approach when many 6xx/7xx boards need to boot directly from a 512KB flash. -- Matt Porter MontaVista Software, Inc. mporter at mvista.com ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
