Re: SMP no boot in 2.1.110

Richard Gooch (Richard.Gooch@atnf.CSIRO.AU)
Sat, 25 Jul 1998 16:25:31 +1000

Linus Torvalds writes:
> On Fri, 24 Jul 1998, Matthew G. Marsh wrote:
> >
> > If anyone would like me to test anything - or could point out how I can
> > reverse the boot sequence to test this hypothesis - I would be happy to
> > try. Thanks!
> You could test it by just swapping the order of "smp_init" and
> "check_bugs()" in init/main.c.
> However, to do that I suspect you need to disable the MTRR code, which had
> some code in check_bugs (strange place).

Ahem! It's in that strange place because mtrr_init() needs to be
called after smp_init(). I originally had it in start_kernel() but you
didn't like it because the MTRR stuff is i386 specific. check_bugs()
seems to be the only architecture-dependent code called after
smp_init() and before the init thread is started. Note that
mtrr_init() can't be put inside smp_init() because smp_init() is
conditionally compiled depending on __SMP__.

If you move check_bugs() to before smp_init() then the MTRR code may
well cause problems.

I would be more than happy for you to introduce an
architecture-specific function that gets called just before the init
thread is started. I could then move mtrr_init() into that function
for the i386 and not "pollute" the generic kernel code or make use of
the check_bugs() hack.



To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at