Re: [2.6.25-rc5-mm1] BUG: spinlock bad magic early during boot

From: Dave Hansen
Date: Sun Mar 23 2008 - 12:00:30 EST


On Fri, 2008-03-21 at 14:17 +0100, Pavel Machek wrote:
> > So what's the reason for pushing for this insanely-early workaround in the
> > first place, instead of letting user-space do something like
> >
> > cat my-dsdt-image > /proc/sys/acpi/DSDT
> >
> > or whatever at runtime?
>
> You have interpretted code runing (AML), and you want to replace it
> with different code?
>
> Akin to changing from one kernel to different during runtime?

Heh. That gave me an idea.

Can we use kexec for this? Let's say you get as far in boot as the
initrd and realize that you're running on one of these screwed up
systems. Can you stick the new DSDT somewhere known (and safe) in
memory, and kexec yourself back to the beginning of the kernel boot?

When you boot up the second time, you have the new, shiny DSDT there
which is, of course, used instead of the bogus BIOS one.

It costs you some bootup time, but we're talking about working around
really busted hardware here.

-- Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/