[lkml]   [2008]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [2.6.25-rc5-mm1] BUG: spinlock bad magic early during boot
    Dave Hansen wrote:
    > 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.
    I see a problem here.
    This could work. And if it is successful, the "kexec reboot around
    busted hw"-trick
    is used for other stuff as well.

    So your broken machine reboots with some fix, then it reboots with the
    custom DSDT. Is the previous fix preserved? Then a third problem is hit,
    another kexec reboot. Is the first fix _and_ the custom DSDT
    preserved on this reboot? Or do we get an infinite sequence of reboots,
    alternating between a couple of completely unrelated fixes for bad

    Once there is more than one fix utilizing this trick, some "protocol" for
    managing a string of kexec fixes might become necessary.

    Helge Hafting

     \ /
      Last update: 2008-03-27 10:23    [W:0.027 / U:0.436 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site