Piker-Alpha / ssdtPRGen.sh

Script to generate a SSDT for Power Management
713 stars 156 forks source link

Only two P-States with i7-4770 #57

Closed j0sc closed 10 years ago

j0sc commented 10 years ago

Hey,

great work but I only get two p-states (8,34) with my i7-4770 on an Asrock Z87e-itx board using iMac14,2 definition on 10.9.5

Do you have a clue? Am I missing something?

Do I need to install a kext for stepping to work properly (like AppleIntelCPUPowerManagementInfo.kext)?

Please stepbystep :)

Thank you!

edit: Intel Power Gadget shows it stepping just fine,weird. When I click P-states in DPCIManager I only get the two above..

Piker-Alpha commented 10 years ago

The Intel Power Gadget does not show the P-States that are triggered by Apple/Intel power management software. Also. I have no idea what you did, what arguments you used, so please add the output (log) of ssdtPRGen.sh (and the used arguments) so that I can try to reproduce it.

p.s. First use stock settings. Don't OC until this step works!

j0sc commented 10 years ago

First, ssdt.dsl output

_begin of output_ /*

DefinitionBlock ("ssdt.aml", "SSDT", 1, "APPLE ", "CpuPm", 0x00013900) { External (PR.CPU0, DeviceObj) External (PR.CPU1, DeviceObj) External (PR.CPU2, DeviceObj) External (PR.CPU3, DeviceObj) External (PR.CPU4, DeviceObj) External (PR.CPU5, DeviceObj) External (PR.CPU6, DeviceObj) External (PR.CPU7, DeviceObj)

Scope (\_PR_.CPU0)
{
    Method (_INI, 0, NotSerialized)
    {
        Store ("ssdtPRGen version....: 13.9 / Mac OS X 10.9.5 (13F34)", Debug)
        Store ("target processor.....: i7-4770", Debug)
        Store ("running processor....: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz", Debug)
        Store ("baseFrequency........: 800", Debug)
        Store ("frequency............: 3400", Debug)
        Store ("busFrequency.........: 100", Debug)
        Store ("logicalCPUs..........: 8", Debug)
        Store ("maximum TDP..........: 74", Debug)
        Store ("packageLength........: 32", Debug)
        Store ("turboStates..........: 5", Debug)
        Store ("maxTurboFrequency....: 3900", Debug)
        Store ("machdep.xcpm.mode....: 1", Debug)
    }

    Name (APLF, Zero)
    Name (APSN, 0x05)
    Name (APSS, Package (0x20)
    {
        /* High Frequency Modes (turbo) */
        Package (0x06) { 0x0F3C, 0x012110, 0x0A, 0x0A, 0x2700, 0x2700 },
        Package (0x06) { 0x0ED8, 0x012110, 0x0A, 0x0A, 0x2600, 0x2600 },
        Package (0x06) { 0x0E74, 0x012110, 0x0A, 0x0A, 0x2500, 0x2500 },
        Package (0x06) { 0x0E10, 0x012110, 0x0A, 0x0A, 0x2400, 0x2400 },
        Package (0x06) { 0x0DAC, 0x012110, 0x0A, 0x0A, 0x2300, 0x2300 },
        /* High Frequency Modes (non-turbo) */
        Package (0x06) { 0x0D48, 0x012110, 0x0A, 0x0A, 0x2200, 0x2200 },
        Package (0x06) { 0x0CE4, 0x011561, 0x0A, 0x0A, 0x2100, 0x2100 },
        Package (0x06) { 0x0C80, 0x0109E9, 0x0A, 0x0A, 0x2000, 0x2000 },
        Package (0x06) { 0x0C1C, 0x00FEA5, 0x0A, 0x0A, 0x1F00, 0x1F00 },
        Package (0x06) { 0x0BB8, 0x00F397, 0x0A, 0x0A, 0x1E00, 0x1E00 },
        Package (0x06) { 0x0B54, 0x00E8BE, 0x0A, 0x0A, 0x1D00, 0x1D00 },
        Package (0x06) { 0x0AF0, 0x00DE18, 0x0A, 0x0A, 0x1C00, 0x1C00 },
        Package (0x06) { 0x0A8C, 0x00D3A7, 0x0A, 0x0A, 0x1B00, 0x1B00 },
        Package (0x06) { 0x0A28, 0x00C968, 0x0A, 0x0A, 0x1A00, 0x1A00 },
        Package (0x06) { 0x09C4, 0x00BF5D, 0x0A, 0x0A, 0x1900, 0x1900 },
        Package (0x06) { 0x0960, 0x00B583, 0x0A, 0x0A, 0x1800, 0x1800 },
        Package (0x06) { 0x08FC, 0x00ABDC, 0x0A, 0x0A, 0x1700, 0x1700 },
        Package (0x06) { 0x0898, 0x00A267, 0x0A, 0x0A, 0x1600, 0x1600 },
        Package (0x06) { 0x0834, 0x009923, 0x0A, 0x0A, 0x1500, 0x1500 },
        Package (0x06) { 0x07D0, 0x00900F, 0x0A, 0x0A, 0x1400, 0x1400 },
        Package (0x06) { 0x076C, 0x00872C, 0x0A, 0x0A, 0x1300, 0x1300 },
        Package (0x06) { 0x0708, 0x007E79, 0x0A, 0x0A, 0x1200, 0x1200 },
        Package (0x06) { 0x06A4, 0x0075F5, 0x0A, 0x0A, 0x1100, 0x1100 },
        Package (0x06) { 0x0640, 0x006DA0, 0x0A, 0x0A, 0x1000, 0x1000 },
        Package (0x06) { 0x05DC, 0x00657A, 0x0A, 0x0A, 0x0F00, 0x0F00 },
        Package (0x06) { 0x0578, 0x005D82, 0x0A, 0x0A, 0x0E00, 0x0E00 },
        Package (0x06) { 0x0514, 0x0055B8, 0x0A, 0x0A, 0x0D00, 0x0D00 },
        Package (0x06) { 0x04B0, 0x004E1C, 0x0A, 0x0A, 0x0C00, 0x0C00 },
        Package (0x06) { 0x044C, 0x0046AC, 0x0A, 0x0A, 0x0B00, 0x0B00 },
        Package (0x06) { 0x03E8, 0x003F69, 0x0A, 0x0A, 0x0A00, 0x0A00 },
        Package (0x06) { 0x0384, 0x003852, 0x0A, 0x0A, 0x0900, 0x0900 },
        /* Low Frequency Mode */
        Package (0x06) { 0x0320, 0x003167, 0x0A, 0x0A, 0x0800, 0x0800 }
    })

    Method (ACST, 0, NotSerialized)
    {
        Store ("Method CPU0.ACST Called", Debug)
        Store ("CPU0 C-States    : 29", Debug)

        /* Low Power Modes for CPU0 */
        Return (Package (0x06)
        {
            One,
            0x04,
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                },
                One,
                Zero,
                0x03E8
            },

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000010, // Address
                        0x03,               // Access Size
                        )
                },
                0x03,
                0xCD,
                0x01F4
            },

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000020, // Address
                        0x03,               // Access Size
                        )
                },
                0x06,
                0xF5,
                0x015E
            },

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000030, // Address
                        0x03,               // Access Size
                        )
                },
                0x07,
                0xF5,
                0xC8
            }
        })
    }

    Method (_DSM, 4, NotSerialized)
    {
        Store ("Method CPU0._DSM Called", Debug)

        If (LEqual (Arg2, Zero))
        {
            Return (Buffer (One)
            {
                0x03
            })
        }

        Return (Package (0x02)
        {
            "plugin-type",
            One
        })
    }
}

Scope (\_PR_.CPU1)
{
    Method (APSS, 0, NotSerialized)
    {
        Store ("Method _PR_.CPU1.APSS Called", Debug)

        Return (\_PR_.CPU0.APSS)
    }

    Method (ACST, 0, NotSerialized)
    {
        Store ("Method CPU1.ACST Called", Debug)
        Store ("CPU1 C-States    : 7", Debug)

        /* Low Power Modes for CPU1 */
        Return (Package (0x05)
        {
            One,
            0x03,
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000000, // Address
                        0x01,               // Access Size
                        )
                },
                One,
                0x03E8,
                0x03E8
            },

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000010, // Address
                        0x03,               // Access Size
                        )
                },
                0x02,
                0x94,
                0x01F4
            },

            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000000030, // Address
                        0x03,               // Access Size
                        )
                },
                0x03,
                0xC6,
                0xC8
            }
        })
    }
}

Scope (\_PR_.CPU2)
{
    Method (APSS, 0, NotSerialized)
    {
        Store ("Method _PR_.CPU2.APSS Called", Debug)

        Return (\_PR_.CPU0.APSS)
    }

    Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}

Scope (\_PR_.CPU3)
{
    Method (APSS, 0, NotSerialized)
    {
        Store ("Method _PR_.CPU3.APSS Called", Debug)

        Return (\_PR_.CPU0.APSS)
    }

    Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}

Scope (\_PR_.CPU4)
{
    Method (APSS, 0, NotSerialized)
    {
        Store ("Method _PR_.CPU4.APSS Called", Debug)

        Return (\_PR_.CPU0.APSS)
    }

    Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}

Scope (\_PR_.CPU5)
{
    Method (APSS, 0, NotSerialized)
    {
        Store ("Method _PR_.CPU5.APSS Called", Debug)

        Return (\_PR_.CPU0.APSS)
    }

    Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}

Scope (\_PR_.CPU6)
{
    Method (APSS, 0, NotSerialized)
    {
        Store ("Method _PR_.CPU6.APSS Called", Debug)

        Return (\_PR_.CPU0.APSS)
    }

    Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}

Scope (\_PR_.CPU7)
{
    Method (APSS, 0, NotSerialized)
    {
        Store ("Method _PR_.CPU7.APSS Called", Debug)

        Return (\_PR_.CPU0.APSS)
    }

    Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}

}

_end of output_

Used the folowing arguments

   -b Mac-27ADBB7B4CEE8E61
   -c 2
   -f 3400
   -lfmode, lowest idle frequency -> would have liked to add that but didn't know the parameter (i.e. lf)
   -logical processors [2-128] -> didn't know the value
   -m iMac14,2
   -p i7-4770
   -t 3900
   -t 74 (my cpu is slightly undervolted, could that be the overall issue)

All with stock values, no overclocking. Added DropSSDT=Yes to boot.plist

Hope this helps!

Piker-Alpha commented 10 years ago

1.) Enable ACPI debug with help of http://pikeralpha.wordpress.com/2013/12/23/enabling-acpi-debugging/ 2.) copy the output of: sudo dmesg | grep ACPI (run that in a terminal window).

j0sc commented 10 years ago

Here you go:


AppleACPICPU: ProcessorId=1 LocalApicId=0 Enabled AppleACPICPU: ProcessorId=2 LocalApicId=2 Enabled AppleACPICPU: ProcessorId=3 LocalApicId=4 Enabled AppleACPICPU: ProcessorId=4 LocalApicId=6 Enabled AppleACPICPU: ProcessorId=5 LocalApicId=1 Enabled AppleACPICPU: ProcessorId=6 LocalApicId=3 Enabled AppleACPICPU: ProcessorId=7 LocalApicId=5 Enabled AppleACPICPU: ProcessorId=8 LocalApicId=7 Enabled ACPI: sleep states S3 S4 S5 Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SAT0@1F,2/AppleIntelPchSeriesAHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/Samsung SSD 840 EVO 750GB Media/IOGUIDPartitionScheme/Macintosh HD@2


Just to be sure, apple.boot.plist looks like this now:


<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

-v debug=0x12a acpi_layer=0x08 acpi_level=0x02 Kernel Flags
Piker-Alpha commented 10 years ago

Oops. That is not what I expect to see. My mistake. Blog post about enabling ACPI debug updated, because there was a crucial piece of information missing. Please try again.

j0sc commented 10 years ago

bildschirmfoto 2014-10-02 um 19 08 49

Here you go:

AppleACPICPU: ProcessorId=1 LocalApicId=0 Enabled AppleACPICPU: ProcessorId=2 LocalApicId=2 Enabled AppleACPICPU: ProcessorId=3 LocalApicId=4 Enabled AppleACPICPU: ProcessorId=4 LocalApicId=6 Enabled AppleACPICPU: ProcessorId=5 LocalApicId=1 Enabled AppleACPICPU: ProcessorId=6 LocalApicId=3 Enabled AppleACPICPU: ProcessorId=7 LocalApicId=5 Enabled AppleACPICPU: ProcessorId=8 LocalApicId=7 Enabled ACPI: sleep states S3 S4 S5 Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SAT0@1F,2/AppleIntelPchSeriesAHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/Samsung SSD 840 EVO 750GB Media/IOGUIDPartitionScheme/Macintosh HD@2

But that's the same output,no? Did everything as per instructions + repaired permissions. Attaching system.log: It's .rtf but I changed type to .png so I can upload it – just rightclick, download and change type to .rtf to open with textedit. system_log rtf

IMPORTANT: could it be that I need to install AppleIntelCpuPowermanagementInfo.kext as stated here: https://pikeralpha.wordpress.com/2013/12/29/appleintelcpupowermanagementinfo-kext/

Note that I haven't done that (yes, I am scared of KP – really don't know how to remove a kext when I am not logged in).

I followed Toleda's guide on Tonymacx (Mavericks: Native CPU/IGPU Power Management), IOreg shows X86PlatformPlugin, so PM should be working without AppleIntelCpuPowermanagementInfo.kext, right? Really clueless here, hope we can get it to work together

Interesting perhaps, see step 8: http://www.tonymacx86.com/user-builds/107588-loginfaileds-build-p8z77-m-3770k-650-ti.html#post654720

Piker-Alpha commented 10 years ago

Yup. Still the same output. Did you download debugMackKernel.sh* and run it in terminal window, because that step seems missing.

https://github.com/Piker-Alpha/debugMachKernel.sh

j0sc commented 10 years ago

Yes, did that as per instructions.

used curl -o ~/debugMachKernel.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/debugMachKernel.sh

and then changed permissions with sudo chmod +x ~/debugMachKernel.sh

j0sc commented 10 years ago

This is what acpi-extract.pl gives:

Edit by Pike: Please, do not copy scripts into issues!

Edit by j0sc: Sorry, my fault!

j0sc commented 10 years ago

In the meantime I tried steps 8 & 9 from the link above – no effects on stepping. Installed AppleIntelCpuPowermanagementInfo.kext but gave me KP so I removed it. Updated Bios to 2.50 with factory unlocked MSR – no effects on stepping either.

Piker-Alpha commented 10 years ago

Don't use AppleIntelCpuPowermanagementInfo.kext with Haswell processors. What was the output of: sudo ~/debugMachKernel.sh

j0sc commented 10 years ago

That gives me line 1: Not: command not found (???)

Followed this:

1.) Download debugMachKernel.sh with:

curl -o ~/debugMachKernel.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/debugMachKernel.sh

2.) Change the permissions with:

sudo chmod +x ~/debugMachKernel.sh

3.) Change your Kernel Flags to:

Kernel Flags debug=0x12a acpi_layer=0x08 acpi_level=0x02 msgbuf=309212

Note: Make this change in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Piker-Alpha commented 10 years ago

What do you get when you run: /usr/bin/nm Do you have Xcode installed? try to run: gcc (if you get a dialog with install button, click on it).

j0sc commented 10 years ago

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: can't open file: a.out (No such file or directory)

But xcode ist installed in /applications

gcc (in terminal) gives me: clang: error: no input files

Piker-Alpha commented 10 years ago

Oops. Been busy with too many things at the same time, and that was why I missed the error in the download link. Try this one:

curl -o ~/debugMachKernel.sh https://raw.githubusercontent.com/Piker-Alpha/debugMachKernel.sh/master/debugMachKernel.sh

j0sc commented 10 years ago

No Problem!

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: can't open file: mach_kernel (No such file or directory) ...

Piker-Alpha commented 10 years ago

Ah yes. I have been using Yosemite for a couple of months now, and thus I copied the mach_kernel of Mavericks to the same directory as the script. Oops. Let me fix that. Done (should work in v1.1)

j0sc commented 10 years ago

Morning Pike, here you go:

debugMachKernel.sh v0.2 Copyright (c) 2012 by † RevoGirl

v1.1 Copyright (c) 2013-2014 by Pike R. Alpha

_kprintf found @ 0xFFFFFF80006EC1F0 Converted to...: 0x6ec1f0 / 7258608 File offset....: 0x4ec1f0 / 5161456

_printf found @ 0xFFFFFF800022FFB0 Converted to...: 0x22ffb0 / 2293680 File offset....: 0x2ffb0 / 196528

6+0 records in 6+0 records out 6 bytes transferred in 0.000059 secs (101886 bytes/sec) Done.

Piker-Alpha commented 10 years ago

Perfect. You should now see more lines with ACPI in system.log

j0sc commented 10 years ago

Here you go:

CPU features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE SEGLIM64 TSCTMR SMEP ENFSTRG RDWRFSGS TSC_THREAD_OFFSET BMI1 HLE AVX2 BMI2 INVPCID RTM ACPI: RSDP 0x0000000000AF7000 00024 (v02 ALASKA) ACPI: XSDT 0x0000000000AFB000 00064 (v01 ALASKA A M I 01072009 AMI 00010013) ACPI: FACP 0x0000000000AFA000 0010C (v05 ALASKA A M I 01072009 AMI 00010013) ACPI Warning: FADT (revision 5) is longer than ACPI 2.0 version, truncating length 268 to 244 (20100528/tbfadt-389) ACPI: DSDT 0x0000000000AEB000 0ACC1 (v02 ALASKA A M I 00000230 INTL 20100331) ACPI: FACS 0x00000000DD1A0080 00040 ACPI: APIC 0x00000000DD188930 00092 (v03 ALASKA A M I 01072009 AMI 00010013) ACPI: FPDT 0x00000000DD1889C8 00044 (v01 ALASKA A M I 01072009 AMI 00010013) ACPI: ASF! 0x00000000DD188A10 000A5 (v32 INTEL HCG 00000001 TFSM 000F4240) ACPI: MCFG 0x00000000DD189C98 0003C (v01 ALASKA A M I 01072009 MSFT 00000097) ACPI: HPET 0x00000000DD189CD8 00038 (v01 ALASKA A M I 01072009 AMI. 00000005) ACPI: AAFT 0x00000000DD18D518 002BB (v01 ALASKA OEMAAFT 01072009 MSFT 00000097) ACPI: SSDT 0x0000000000AF6000 0087C (v01 APPLE CpuPm 00013900 INTL 20130117) ACPI Warning: Detected an unsupported executable opcode at module-level: [0x0070] at table offset 0xAC36 (20100528/psloop-625) ACPI Warning: Detected an unsupported executable opcode at module-level: [0x0070] at table offset 0xAC7F (20100528/psloop-625) AppleACPICPU: ProcessorId=1 LocalApicId=0 Enabled AppleACPICPU: ProcessorId=2 LocalApicId=2 Enabled AppleACPICPU: ProcessorId=3 LocalApicId=4 Enabled AppleACPICPU: ProcessorId=4 LocalApicId=6 Enabled AppleACPICPU: ProcessorId=5 LocalApicId=1 Enabled AppleACPICPU: ProcessorId=6 LocalApicId=3 Enabled AppleACPICPU: ProcessorId=7 LocalApicId=5 Enabled AppleACPICPU: ProcessorId=8 LocalApicId=7 Enabled ACPI: Executed 1 blocks of module-level executable AML code [ACPI Debug] String [0x35] "ssdtPRGen version....: 13.9 / Mac OS X 10.9.5 (13F34)" [ACPI Debug] String [0x1E] "target processor.....: i7-4770" [ACPI Debug] String [0x3E] "running processor....: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz" [ACPI Debug] String [0x1A] "baseFrequency........: 800" [ACPI Debug] String [0x1B] "frequency............: 3400" [ACPI Debug] String [0x1A] "busFrequency.........: 100" [ACPI Debug] String [0x18] "logicalCPUs..........: 8" [ACPI Debug] String [0x19] "maximum TDP..........: 74" [ACPI Debug] String [0x19] "packageLength........: 32" [ACPI Debug] String [0x18] "turboStates..........: 5" [ACPI Debug] String [0x1B] "maxTurboFrequency....: 3900" [ACPI Debug] String [0x18] "machdep.xcpm.mode....: 1" [ACPI Debug] String [0x17] "Method CPU0._DSM Called" [ACPI Debug] String [0x17] "Method CPU0._DSM Called" ACPI: sleep states S3 S4 S5 ACPI Error (psargs-0464): [^^^IGPU.CLID] Namespace lookup failure, AE_NOTFOUND ACPI Error (psparse-0633): Method parse/execution failed [_SB.PCI0.LPCB.H_EC._STA](Node 0xffffff80208ad340), AE_NOT_FOUND ACPI Error (psargs-0464): [^^^IGPU.CLID] Namespace lookup failure, AE_NOTFOUND ACPI Error (psparse-0633): Method parse/execution failed [_SB.PCI0.LPCB.H_EC._STA](Node 0xffffff80208ad340), AE_NOT_FOUND ACPI: EC device memory error 0 0 ACPI: EC[0xffffff8020a6ae00] start failed Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SAT0@1F,2/AppleIntelPchSeriesAHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/Samsung SSD 840 EVO 750GB Media/IOGUIDPartitionScheme/Macintosh HD@2 [ACPI Debug] String [0x17] "Method CPU0.ACST Called" [ACPI Debug] String [0x15] "CPU0 C-States : 29" [ACPI Debug] String [0x17] "Method CPU1.ACST Called" [ACPI Debug] String [0x14] "CPU1 C-States : 7" [ACPI Debug] String [0x1C] "Method PR.CPU1.APSS Called" [ACPI Debug] String [0x17] "Method CPU1.ACST Called" [ACPI Debug] String [0x14] "CPU1 C-States : 7" [ACPI Debug] String [0x1C] "Method PR.CPU2.APSS Called" [ACPI Debug] String [0x17] "Method CPU1.ACST Called" [ACPI Debug] String [0x14] "CPU1 C-States : 7" [ACPI Debug] String [0x1C] "Method PR.CPU3.APSS Called" [ACPI Debug] String [0x17] "Method CPU1.ACST Called" [ACPI Debug] String [0x14] "CPU1 C-States : 7" [ACPI Debug] String [0x1C] "Method PR.CPU4.APSS Called" [ACPI Debug] String [0x17] "Method CPU1.ACST Called" [ACPI Debug] String [0x14] "CPU1 C-States : 7" [ACPI Debug] String [0x1C] "Method PR.CPU5.APSS Called" [ACPI Debug] String [0x17] "Method CPU1.ACST Called" [ACPI Debug] String [0x14] "CPU1 C-States : 7" [ACPI Debug] String [0x1C] "Method PR.CPU6.APSS Called" [ACPI Debug] String [0x17] "Method CPU1.ACST Called" [ACPI Debug] String [0x14] "CPU1 C-States : 7" [ACPI Debug] String [0x1C] "Method PR.CPU7.APSS Called" ACPI Warning: Attempt to allocate zero bytes, allocating 1 byte (20100528/utcopy-625) ACPI SLEEP [ACPI Debug] String [0x04] "SIOS" ACPI S3 WAKE [ACPI Debug] String [0x04] "SIOW" ACPI Error (psargs-0464): [_SB_.IAOE.ITMR] Namespace lookup failure, AE_NOT_FOUND ACPI Error (psparse-0633): Method parse/execution failed [_WAK](Node 0xffffff80208acd40), AE_NOT_FOUND

What do these errors mean?

Piker-Alpha commented 10 years ago

Ok so what we see here is that the generated CPU power management SSDT is loaded, and that the methods in this SSDT are being called, one after the other. This is good. The ACPI errors and warning are out of the scope of this issue. Please ask for help in a forum, because that is not my cup of tea.

What I would like to suggest it to download: https://github.com/Piker-Alpha/freqVectorsEdit.sh and then do the usual sudo chmod +x on the script. After that you change line 40 to make it match your board-id ("Mac-27ADBB7B4CEE8E61.plist"). Run the script and select MacBookPro11.3 This should update the plist with new Haswell data.

j0sc commented 10 years ago

Thank you Pike! Now I have 8,17,34 which is defintely an irpovement. Should I get more? Tried MacbookPro, iMac14,3 and MacPro6,1

Piker-Alpha commented 10 years ago

The P-States of the turbo frequencies should be there, but are still missing. Have you disabled it in your (UEFI) BIOS?

You can also download this https://github.com/Piker-Alpha/AppleIntelInfo Compile it in Xcode, but please wait and let me update the READ of this project… just in case you don't know what to do with it!

j0sc commented 10 years ago

foto foto

Haven't disabled it in BIOS, trying to attach a picture..(34/34/100 in the 'light' fields)

I'll wait – indeed I don't know what to with it. Should I edit AppleIntelInfo-Info.plist then?

j0sc commented 10 years ago

Do you think these settings are correct?

Piker-Alpha commented 10 years ago

Ah right. This was why I wanted the output of AppleIntelInfo.kext because your CPU is limited to 3.4 GHz. The problem is that you chose "All Cores" which is now set to a ratio of 34. That is not good. Try something like this:

39 for 1 core 38 for 2 cores 37 for 3 cores 35 for 4 cores

j0sc commented 10 years ago

I played around with it in the meantime, now I get 8,17,34,35,36,37. You are right, the setting 'All Cores' disabled some steps but I optimized my SSDT as well with lower tdp, max frequency etc.

Changes I can make in BIOS:

39 for 1 core 39 for 2 cores 38 for 3 cores 37 for 4 cores

If I try to change the values as per your instruction they jump back to 39,39,38,37. Should I choose '39' for 'CPU Cache Ratio' or would '37' be better (as I only have 37 as P-State)? Any chance I can get something in between 17 and 34? As I said no changes if I edit frequency vectors.. Hope we can work that out.

Maybe interesting output from console: kernel[0]: X86PlatformPlugin::setRingTable - AICPM failed to load ring table with status 0x0: Get=0, Load=0, Install=0

Piker-Alpha commented 10 years ago

The problem with having only two P-States is resolved, and it was not some error in ssdtPRGen.sh so I am going to close this issue as such.

What you can do next is to experiment with the settings. Perhaps read the motherboard manual first, or consult people in a forum and ask them for help.

Have fun!