Yesterday i had achieved a great success, 2 cores under Leopard, Snow leopard, on battery or on AC, no matter, it works!
I don't know why this fix works, didn't analyzed yet, posting to share with you as soon as possible.
And don't even ask how I've managed to find this solution.
the fixed parts of code:
Added Darwin OSI case, looks like it make sleep possible, still need to confirm:
CODE
If (_OSI ("Darwin"))
{
Store (0x04, C014)
}
Added this to Sb._INI method:
CODE
Method (_SB._INI, 0, NotSerialized)
{
\C008 ()
C01B ()
//code added my XPbIM3 below:
_WAK (0x03)
Notify (C1B4, 0x81)
Notify (C1B3, 0x81)
Notify (C1B2, 0x81)
}
Removed these _PRS Recourses of LNKA, LNKB..commented the whole section so code looks like this:
CODE
/* Name (C10D._PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Name (C10E._PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Name (C10F._PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Name (C110._PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Name (C123._PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Name (C124._PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Name (C125._PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
}) */
Added come IRQs to HPET (just to be sure HPET does not interfere with EHCI, I am using external USB HDD to boot, so this is essential), dont forget to remove them from RTC and TMR
CODE
Name (C01F, ResourceTemplate ()
{
IRQNoFlags () //added by XPbIM3
{0}
IRQNoFlags ()
{8}
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y0E)
})
Changed mouse and keyboard IRQs to be with flags, looks like it change nothing, but 99% Laptops have this.
CODE
IRQ (Edge, ActiveHigh, Exclusive, )
{1}
and
CODE
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
and added the DTGP method and DTGP injection for GMA950. Thats all. Sleep working, 2 cores working. have some cooling issues and still sometimes "Failed to initialize CPU1", but it looks like this is temp/cooling issue too.
See DSDT's and IOregs in attach.
See screenshot with Cinebench working
Click to view attachmentClick to view attachmentClick to view attachment