Comment 27 for bug 463940

Revision history for this message
irwjager (jager49) wrote :

Ok, instead of altering the DSDT, I modifed ec.c and thermal.c and built a custom kernel.

I fixed the inappropriate MSI detection (by the way, this should be fixed for all as of 2.6.32.rc3). I also forced the critical temperature threshold to a fixed value (3702) which I gleaned from the DSDT, but only if there is no valid value returned by the BIOS (on the Envy 15, DV6T there isn't). Now the Thermal Zone init doesn't fail anymore.

Unfortunately, the MSI fix did nothing to get rid of the ACPI parse errors.
The critical temperature threshold fix brought the Thermal Zone on-line.

While looking at the DSDT some more, I noticed a flag called IOSS. I strongly suspect this flag is set if the (Linux based) Instant-On OS is booting. Indeed, looking at the ciritical temperature method, it returns a value if this flag is set, not bothering with any other OS detection.

            Method (_CRT, 0, Serialized)
            {

  If (LEqual (IOSS, One))
                {
                    Return (0x0E76)
                }

                If (LLess (OSYS, 0x07D6))
                {
                    If (LEqual (TJMX, 0x64))
                    {
                        If (LEqual (FSI1, One))
                        {
                            Return (0x0E30)
                        }
                        Else
                        {
                            Return (0x0E76)
                        }
                    }
                }
            }

Conclusion; HP/Insyde have made a special patch for the Linux-based IOS, but any other Linux distro is screwed!

Does anyone have any ideas on what could be causing the [\_PR_.CPU0._PPC] namespace lookup failure? What does it mean?