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

Pavel Machek
2008-03-24T16:03:46Z

Hi!
> > > 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.

Hmmm. I guess we should turn off acpi mode, kexec, turn on acpi mode
with new dsdt.

Turning off acpi is not exactly easy, but specs describe how to do
it...

So yes, this is hard but doable.

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html