Jump to content

IvyBridge XCPM pstate table mismatch error (was: IvyBridge SSDT graphical glitches)


Hackmodford
 Share

59 posts in this topic

Recommended Posts

With the latest SSDT he generated with default BIOS settings he doesn't have those higher turbo states.

Name (APLF, Zero)
        Name (APSN, 0x07) //now it is 0x04
        Name (APSS, Package (0xNN) //now it is 0x17
        {
            /* High Frequency Modes (turbo) */
            Package (0x06) { 0x1004, 0x012CC8, 0x0A, 0x0A, 0x2900, 0x2900 }, //not present * (see note below)
            Package (0x06) { 0x0FA0, 0x012CC8, 0x0A, 0x0A, 0x2800, 0x2800 }, //not present
            Package (0x06) { 0x0F3C, 0x012CC8, 0x0A, 0x0A, 0x2700, 0x2700 }, //not present
            Package (0x06) { 0x0ED8, 0x012CC8, 0x0A, 0x0A, 0x2600, 0x2600 },
            Package (0x06) { 0x0E74, 0x012CC8, 0x0A, 0x0A, 0x2500, 0x2500 },
            Package (0x06) { 0x0E10, 0x012CC8, 0x0A, 0x0A, 0x2400, 0x2400 },
            Package (0x06) { 0x0DAC, 0x012CC8, 0x0A, 0x0A, 0x2300, 0x2300 }, * (see note below)
            /* High Frequency Modes (non-turbo) */
            Package (0x06) { 0x0D48, 0x012CC8, 0x0A, 0x0A, 0x2200, 0x2200 },
            Package (0x06) { 0x0CE4, 0x0120A0, 0x0A, 0x0A, 0x2100, 0x2100 },
            Package (0x06) { 0x0C80, 0x0114B0, 0x0A, 0x0A, 0x2000, 0x2000 },
            Package (0x06) { 0x0C1C, 0x0108F8, 0x0A, 0x0A, 0x1F00, 0x1F00 },
            Package (0x06) { 0x0BB8, 0x00FD77, 0x0A, 0x0A, 0x1E00, 0x1E00 },
            Package (0x06) { 0x0B54, 0x00F22D, 0x0A, 0x0A, 0x1D00, 0x1D00 },
            Package (0x06) { 0x0AF0, 0x00E719, 0x0A, 0x0A, 0x1C00, 0x1C00 },
            Package (0x06) { 0x0A8C, 0x00DC3B, 0x0A, 0x0A, 0x1B00, 0x1B00 },
            Package (0x06) { 0x0A28, 0x00D192, 0x0A, 0x0A, 0x1A00, 0x1A00 },
            Package (0x06) { 0x09C4, 0x00C71F, 0x0A, 0x0A, 0x1900, 0x1900 },
            Package (0x06) { 0x0960, 0x00BCDF, 0x0A, 0x0A, 0x1800, 0x1800 },
            Package (0x06) { 0x08FC, 0x00B2D4, 0x0A, 0x0A, 0x1700, 0x1700 },
            Package (0x06) { 0x0898, 0x00A8FC, 0x0A, 0x0A, 0x1600, 0x1600 },
            Package (0x06) { 0x0834, 0x009F58, 0x0A, 0x0A, 0x1500, 0x1500 },
            Package (0x06) { 0x07D0, 0x0095E6, 0x0A, 0x0A, 0x1400, 0x1400 },
            Package (0x06) { 0x076C, 0x008CA7, 0x0A, 0x0A, 0x1300, 0x1300 },
            Package (0x06) { 0x0708, 0x008399, 0x0A, 0x0A, 0x1200, 0x1200 },
            Package (0x06) { 0x06A4, 0x007ABD, 0x0A, 0x0A, 0x1100, 0x1100 },
            /* Low Frequency Mode */
            Package (0x06) { 0x0640, 0x007212, 0x0A, 0x0A, 0x1000, 0x1000 },
Link to comment
Share on other sites

I've now tried removing only the 2nd, only the 3rd and both the 2nd and the 3rd turbo state with no change, still getting the error messages.

 

(I'm using the SSDT attached in post #25)

Oops I missed that. Sorry.

 

Ok. Let's see. One of you is using a 3570K and the other a 3770K, with the latter it works without errors. However. The processor should not be a problem. So what is? Well. The installed OS version/build and boot flags/SMBIOS data can have a (bad) influence on power management, so please post this info (both of you).

 

Thanks! 

Link to comment
Share on other sites

Asus P8Z77-V Pro, PMPatched BIOS 2104, i5-3570K (HD4000 disabled) 660 GTX

 

System Version:    OS X 10.9.1 (13B42)
Kernel Version:    Darwin 13.0.0

Latest Chameleon 2.2 svn + FileNVRAM.dylib

 

Gringo smbios+Boot.plist.zip

Gringo_dsdt.dsl.zip

Gringo_dmesg.txt

Gringo_kextstat.txt

 

If you're wondering what all the stuff in smbios.plist is about, look here:

http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/i386/libsaio/smbios.c

The blank strings inject "not specified"

Link to comment
Share on other sites

Pike: iMac13,1 and yes I do, see attached archive w/ plists

That is rather difficult on an iPad.

 

Anyway. So both of you are using the same SMBIOS definitions and use the -xcpm boot flag. So far so good. 

 

What is the output of: sysctl machdep.xcpm

Are both of you using the same version of AppleIntelCPUPowerManagement.kext?

Are you using a patched (UEFI) BIOS or AppleIntelCPUPowerManagement.kext?

Factory DSDT or patched one?

Link to comment
Share on other sites

machdep.xcpm.mode: 1
machdep.xcpm.asserts_enabled: 0
machdep.xcpm.asserts_traced: 0
machdep.xcpm.cpu_wakeup_energy_cost_selector: 0
machdep.xcpm.disable_quiesce: 0
machdep.xcpm.mp_match: 0
machdep.xcpm.disable_idle_self_select: 0
machdep.xcpm.mp_load_txfr_coeff: 128
machdep.xcpm.scalability_cpi_threshold: 4
machdep.xcpm.scalability_cpi_demotion_threshold: 5
machdep.xcpm.scalability_reeval_interval: 1000
machdep.xcpm.scalability_eval_ratio_min: 17
machdep.xcpm.scalability_detection_enabled: 0
machdep.xcpm.hard_plimit_max_100mhz_ratio: 39
machdep.xcpm.hard_plimit_min_100mhz_ratio: 8
machdep.xcpm.soft_plimit_max_100mhz_ratio: 39
machdep.xcpm.soft_plimit_min_100mhz_ratio: 8
machdep.xcpm.ratio_changes_hf: 3
machdep.xcpm.ratio_changes_lf: 0
machdep.xcpm.ratio_change_limited: 1
machdep.xcpm.ratio_change_hf_limit: 2
machdep.xcpm.ratio_change_lf_limit: 1
machdep.xcpm.ratio_change_ratelimit_ns: 500000
machdep.xcpm.ratio_changes_total: 21559
machdep.xcpm.maxbusdelay: 0
machdep.xcpm.maxintdelay: 0
machdep.xcpm.mbd_mode: 1
machdep.xcpm.mbd_applications: 0
machdep.xcpm.mbd_relaxations: 0
machdep.xcpm.forced_idle_ratio: 100
machdep.xcpm.forced_idle_period: 30000000
machdep.xcpm.deep_idle_log: 0
machdep.xcpm.qos_txfr: 1
machdep.xcpm.q_migration_ttd_min: 1000000
machdep.xcpm.q_migration_ttd_max: 100000000
machdep.xcpm.preidle_spin_tsc: 0
machdep.xcpm.qos_ratio_change_limited: 1
machdep.xcpm.qos_ratio_change_hf_limit: 8
machdep.xcpm.qos_ratio_change_lf_limit: 1
machdep.xcpm.qos_ratelimiting_enabled: 1
machdep.xcpm.quiesce_trace: 0
machdep.xcpm.deep_idle_count: 0
machdep.xcpm.deep_idle_last_stats: n/a
machdep.xcpm.deep_idle_total_stats: n/a

I think I'm still using the AppleIntelCPUPowerManagement.kext that comes with ##### mb 6.1  :whistle:

My BIOS is just the latest version from Gigabyte.

Here's my patched DSDT

DSDT.aml.zip

Link to comment
Share on other sites

 

machdep.xcpm.mode: 1
machdep.xcpm.asserts_enabled: 0
machdep.xcpm.asserts_traced: 0
machdep.xcpm.cpu_wakeup_energy_cost_selector: 0
machdep.xcpm.disable_quiesce: 0
machdep.xcpm.mp_match: 0
machdep.xcpm.disable_idle_self_select: 0
machdep.xcpm.mp_load_txfr_coeff: 128
machdep.xcpm.scalability_cpi_threshold: 4
machdep.xcpm.scalability_cpi_demotion_threshold: 5
machdep.xcpm.scalability_reeval_interval: 1000
machdep.xcpm.scalability_eval_ratio_min: 17
machdep.xcpm.scalability_detection_enabled: 0
machdep.xcpm.hard_plimit_max_100mhz_ratio: 38
machdep.xcpm.hard_plimit_min_100mhz_ratio: 8
machdep.xcpm.soft_plimit_max_100mhz_ratio: 38
machdep.xcpm.soft_plimit_min_100mhz_ratio: 8
machdep.xcpm.ratio_changes_hf: 0
machdep.xcpm.ratio_changes_lf: 1
machdep.xcpm.ratio_change_limited: 0
machdep.xcpm.ratio_change_hf_limit: 2
machdep.xcpm.ratio_change_lf_limit: 1
machdep.xcpm.ratio_change_ratelimit_ns: 500000
machdep.xcpm.ratio_changes_total: 1455925
machdep.xcpm.maxbusdelay: 4294967295
machdep.xcpm.maxintdelay: 0
machdep.xcpm.mbd_mode: 1
machdep.xcpm.mbd_applications: 1
machdep.xcpm.mbd_relaxations: 1
machdep.xcpm.forced_idle_ratio: 100
machdep.xcpm.forced_idle_period: 30000000
machdep.xcpm.deep_idle_log: 0
machdep.xcpm.qos_txfr: 1
machdep.xcpm.q_migration_ttd_min: 1000000
machdep.xcpm.q_migration_ttd_max: 100000000
machdep.xcpm.preidle_spin_tsc: 0
machdep.xcpm.qos_ratio_change_limited: 0
machdep.xcpm.qos_ratio_change_hf_limit: 8
machdep.xcpm.qos_ratio_change_lf_limit: 1
machdep.xcpm.qos_ratelimiting_enabled: 1
machdep.xcpm.quiesce_trace: 0
machdep.xcpm.deep_idle_count: 0
machdep.xcpm.deep_idle_last_stats: n/a
machdep.xcpm.deep_idle_total_stats: n/a

 

I use a patched DSDT, also attached above. Fixed IASL warnings and errors, added sbus, a bit of renaming, removed fixed IRQs and PS2 devices. I may have gone overboard when removing things. :rofl:

AppleIntelCPUPM is untouched v216.0.0, my BIOS is PMPatched. I use Chameleon, so no UEFI mode. Kextstat attached above.

Link to comment
Share on other sites

Thanks guys. There's only a couple of changes, but they may be important. I'm rather busy tonight so please cross check that AppleLPC and SBUS is ok. Share (attach/e-mail) IORegistryExplorer dumps to see if that the required kext are in fact loaded. You guys can do that, right?

 

I'll see if I have some time later tonight.

Link to comment
Share on other sites

Thanks Pike. Take your time, no stress.

 

All the kernel extensions in the list on your blog are loaded.

My LPC device is 8086:1e44 which is in AppleLPC.kext, so I didn't have to do anything.

SBUS is present in ioreg and I added the diagsvault to the DSDT.

 

Can anybody tell me how to make an ioreg dump that doesn't have my real name and all my serial numbers in it?

Link to comment
Share on other sites

An IOREG dump has everything in it except your Apple Account details lol

 

You can save a full dump with IORegistryExplorer, it can then be read back on any Mac.

To dump specific areas you have to do it from Terminal.

 

Enter kextstat -k > ~/desktop/kextstat.txt to see loaded extensions.

 

"SBUS" appears in the device tree in ioreg.

Link to comment
Share on other sites

lol...trickster..

 

I can't crosscheck anything because I don't know what I'm looking for.

 

ssdtPRGen 9.0

 

XCPM: P-state table mismatch (error:0x13)
X86PlatformShim::sendPStates - pmCPUControl (XCPMIO_SETPSTATETABLE) returned 0x13
X86PlatformShim::start - Failed to send PStates
X86PlatformShim::start - Failed to send stepper
Link to comment
Share on other sites

I was getting a time machine backup error. (It said the thermal state was too high) I read somewhere that it could be related for a SSDT file.

For the heck of it I removed the SSDT.aml and now I'm getting 7 pstates  :blink: and time machine works again  :w00t:

 

In regards to the pstates, the only difference now is I'm using Clover via UEFI instead of Chameleon. I also have Generate PStates and CStates turned on in clover's config file.

 

Should I leave it like this?

Link to comment
Share on other sites

I don't know anything about Clover. I know those are supposed to be disabled when using Chameleon and SSDT from Pike's script.

 

ssdtPRGen.sh v9.1 run with i5-3570K 4100 - now I have no turbo!

CPU is running full tilt on all cores while compiling with -j5 switch, but it's stuck at 3.6GHz:

3.60GHz.png

XCPM: P-state table mismatch (error:0x12)
X86PlatformShim::sendPStates - pmCPUControl (XCPMIO_SETPSTATETABLE) returned 0x12
X86PlatformShim::start - Failed to send PStates
X86PlatformShim::start - Failed to send stepper

So I tried something else, booting with

 

-xcpm kernel flag, GenerateCStates and PStates=y, DropSSDT=y and my three original, unmodified  SSDTs in /Extra. Same thing :rofl: still doesn't go higher than 3.60 GHz. But;

XCPM: registered
ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out
WARNING: IOPlatformPluginUtil : getCPUIDInfo: this is an unknown CPU model 0x3a
  -- power management may be incomplete or unsupported

I guess because of missing "plugin-type".

Link to comment
Share on other sites

Good for you. :lol:

 

I have absolutely no idea what I'm doing, I'm just flicking switches at random while you are lucky and Pike is dangling a carrot and being a mad genius.

 

I'm just going to give up and put everything back, no xcpm and overclock again just like it was. Eff it!

 

EDIT

 

Yes...it hits 4.22 GHz when compiling now and drops right back to 1.65 when it's done.

Link to comment
Share on other sites

 Share

×
×
  • Create New...