Help - Search - Members - Calendar
Full Version: Hyperthreading w/ native Apple Power Management
Project OS X Forums > Snow Leopard Guides & Tutorials > Tips and Tricks!
18seven
"8.4 Declaring Processors
Each processor in the system must be declared in the ACPI namespace in either the \_SB or \_PR scope but
not both. Declaration of processors in the \_PR scope is required for platforms desiring compatibility with
ACPI 1.0-based OSPM implementations."

The PRocessor declaration is only needed for legacy support. The System Bus declaration is needed for objects to be enabled under CPUs, at least this is my understanding.

Hyperthread fix on my little Atom with native Apple Power Management enabled (sans disabler.kext).

Scope (_SB)
{
Processor (CPU0, 0x01, 0x00000410, 0x06) {}
Processor (CPU1, 0x02, 0x00000410, 0x06) {}
}


snip....
...snap

Method (_Q81, 0, NotSerialized)
{
Store (0x81, SCIC)
Store (0x81, DBG8)
Store (One, CHET)
Or (One, PTHR, PTHR)
Notify (\_
SB.CPU0, 0x80)
Sleep (0x64)
Notify (\_
SB.CPU1, 0x80)
}

Method (_Q82, 0, NotSerialized)
{
Store (0x82, SCIC)
Store (0x82, DBG8)
Store (One, CHET)
And (0xFE, PTHR, PTHR)
Notify (\_
SB.CPU0, 0x80)
Sleep (0x64)
Notify (\_
SB.CPU1, 0x80)
}
tea
QUOTE (18seven @ Aug 15 2009, 05:11 PM) *
Hyperthread fix on my little Atom with native Apple Power Management enabled (sans disabler.kext).

Hi. Tell please, what problems were for you with HT. I try your trick with Atom N330 (2 cores + HT), but no result.
18seven
QUOTE (tea @ Aug 26 2009, 02:56 AM) *
Hi. Tell please, what problems were for you with HT. I try your trick with Atom N330 (2 cores + HT), but no result.


Hi tea,

The original issue, removing disabler for sleep functionality in 10.5.8 cut my max frequency in half. The information above is a bit misleading, however, I have managed a workaround to enable max frequency and native speedstep on my wind. I am currently away on holiday and will update the post on return and hopefully have an actual solution rather than a workaround.

It turns out the _SB scope is a little bit of a red herring. Enabling AppleIntelCPUPowerManagement with PDC/OSC active slices my max CPU in half. By changing the scope to SB and adding P states from your table dump under this scope in your DSDT you essentially disable the SSDT's and PDC/OSC with it, defaulting c state control to P_LVLx values in P_BLK and P_LVLx_LAT values in the FADT. However, this can also be achieved cleanly by adding DropSSDT=Yes to your plist. Additionally, AFAIK, adding c states to your DSDT without PDC/OSC active will not add functionality but will remove _CST errors. Also, for this workaround to enable speedstep you must have one of the mac models below injected from your smbios for compatability with ACPI_SMC_PlatformPlugin.kext (thanks for the tip trauma!). This workaround is a bit sloppy and I will be looking further into correctly patching PM. If you or anyone else reading this is the wiser please chime in, its a bit of a beast.

key>PLimitDict</key>
<dict>
<key>MacBook5,1</key>
<integer>0</integer>
<key>MacBook5,2</key>
<integer>0</integer>
<key>MacBookPro5,1</key>
<integer>0</integer>
<key>MacBookPro5,2</key>
<integer>0</integer>
<key>MacBookPro5,3</key>
<integer>0</integer>
<key>MacBookPro5,4</key>
<integer>0</integer>
<key>MacBookPro5,5</key>
<integer>0</integer>
<key>MacPro3,1</key>
<integer>0</integer>
<key>Macmini3,1</key>
<integer>0</integer>
<key>iMac9,1</key>
<integer>0</integer>
</dict>
tea
Hi 18seven. Thank for your replay.
All that you have told I know. My problem is a bit another. Since 10.5.7 i can't boot if HT enabled in BIOS.
Screen shot of error:

realityiswhere
QUOTE (tea @ Aug 28 2009, 09:52 AM) *
Hi 18seven. Thank for your replay.
All that you have told I know. My problem is a bit another. Since 10.5.7 i can't boot if HT enabled in BIOS.
Screen shot of error:


If you're using 10.5.7, then why is your kernel 10.0.0? That's the 10.6 kernel. Try using the 9.7.0 kernel like 10.5.7 would regularly use, then try again...
tea
QUOTE (realityiswhere @ Aug 28 2009, 10:00 PM) *
If you're using 10.5.7, then why is your kernel 10.0.0? That's the 10.6 kernel. Try using the 9.7.0 kernel like 10.5.7 would regularly use, then try again...

Hmm... I say starting from 10.5.7. 10.5.8 and 10.6 not boot with enabled HT with this error.
This screen shot from 10.6 dry.gif
Mikehunt79
I'm guessing this fix would work on the Acer Aspire One also as this also had the HT Atom CPU?

Out of interest, has anyone managed to run 10.6 on an Atom CPU?
tea
Yes, i install it to Samsung NC10 with Atom N270.

P.S. AppleIntelCPUPowerManagement.kext - not work, KP with error:
QUOTE
panic(cpu 0 caller 0x2f45e459):
"Unsupported CPU: family = 0x6, model = 0x1c, stepping = 0x2"
@/SourceCache/AppleIntelCPUPowerManagement/AppleIntelCPUPowerManagement-90/pmProcessor.c:210

Mikehunt79
QUOTE (tea @ Sep 4 2009, 07:59 AM) *
Yes, i install it to Samsung NC10 with Atom N270.

P.S. AppleIntelCPUPowerManagement.kext - not work, KP with error:

Thank you, I'll have to give SL a go on my Aspire One, hopefully I won't have any KP's. smile.gif
18seven
QUOTE (Mikehunt79 @ Sep 5 2009, 02:25 PM) *
Thank you, I'll have to give SL a go on my Aspire One, hopefully I won't have any KP's. smile.gif


HPET needs DSDT love. Check my handle out @ my home on the msi forum. I have a nice method that moved from 10.5 > 10.6 seamlessly, may be useful to other platforms. I'll post it here sometime soon, post testing.
18seven
QUOTE (tea @ Aug 28 2009, 08:52 AM) *
Hi 18seven. Thank for your replay.
All that you have told I know. My problem is a bit another. Since 10.5.7 i can't boot if HT enabled in BIOS.
Screen shot of error:


At the risk of assuming non-reductive, have you booted without HT enabled in bios w/ speedstep enabled in dsdt (10.5)? It sounds like your bios are crapping on the party.
realityiswhere
Moved thread from Leopard 'Tips and Tricks!' forum to Snow Leopard 'Tips and Tricks' forum, since this is apparently for 10.6 and not 10.5, which is the reason I assumed it was originally Leopard tea wink.gif
18seven
QUOTE (realityiswhere @ Sep 6 2009, 01:30 AM) *
Moved thread from Leopard 'Tips and Tricks!' forum to Snow Leopard 'Tips and Tricks' forum, since this is apparently for 10.6 and not 10.5, which is the reason I assumed it was originally Leopard tea wink.gif


Actually, it was for 10.5 and 10.6 broke it again, at least for me, but IMO it does not matter where it lives (+ will work 10.6 asap). No worries.
18seven
@ tea

I think I know what your issue is. Dump your DSDT with and without HT enabled. Look carefully at your CPU's. I'm curious what the diff is.

FWIW this issue is still unresolved in 10.6.

Same panic:
"Unsupported CPU: family = 0x6, model = 0x1c, stepping = 0x2"
@/SourceCache/AppleIntelCPUPowerManagement/AppleIntelCPUPowerManagement-90/pmProcessor.c:210

If I change my CPU from

Processor (CPU0, 0x01, 0x00000410, 0x06) {}
Processor (CPU1, 0x02, 0x00000410, 0x06) {}

To

Processor (CPU0, 0x00, 0x00000410, 0x06) {}
Processor (CPU1, 0x01, 0x00000410, 0x06) {}

CPU enables and I get the "Should have 2 cores.." panic like tea's original panic.

It may be useful to look at a ioreg dump from a Nehalem if anyones got it.
tea
Thank you, i'll try.
Mikehunt79
QUOTE (18seven @ Sep 6 2009, 12:48 AM) *
HPET needs DSDT love. Check my handle out @ my home on the msi forum. I have a nice method that moved from 10.5 > 10.6 seamlessly, may be useful to other platforms. I'll post it here sometime soon, post testing.

Cheers, I'm still getting Leo sorted properly before taking the plunge with SnowLeo.

I'll keep an eye out for your method of 10.5 > 10.6, sounds interesting. smile.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.