Mavericks: Native CPU/IGPU Power Management

Discussion in 'Mavericks Desktop Support' started by toleda, Mar 30, 2014.

  1. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    17,174
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Mar 30, 2014 at 4:36 AM #1
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    17,174
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Mavericks: Native CPU/IGPU Power Management

    Native Mavericks power management delivers the best combination of processor and graphics performance and efficiency. The ingredients are an installed processor specific power management ssdt, a compatible system definition and the native power management kext. Native Mavericks power management does not require specific BIOS settings or anything more than one boot setting to load the power management ssdt. Credit for the technique described to PikeRAlpha.

    What changed between Mountain Lion and Mavericks power management? The existing processor frequency/power state reporting tools (i.e., MSRDumper, HWMonitor) stopped reporting power states between idle and max non turbo. This led to an incorrect conclusion that native Mavericks power management was not working. A new tool, Intel Power Gadget, shows Mavericks power management is working as designed.

    To be clear, native Mavericks power management is not mandatory. The consequences are not severe. Performance is similar, however, higher temps (~10 C), more power (5-10 W) and sleep problems are likely.

    Change Log

    v1.2 - 12/22/14 - 9series LPC, dsdt/ssdt, see Post #530
    v1.1 - 4/4/14 - CPU PM/Core i3/5/7 xxx (1st Generation)/Core 2 and earlier (below)
    v1.0 - 4/2/14: Initial Release
    Requirements
    1. OS X/10.9.2 or newer
      1. Desktop/Laptop only
      2. Server, see Guide: Asus X79 OS X Controlled SpeedStep
    2. BIOS
      1. Load Optimized Defaults
      2. Stock Clock
        1. Verify
        2. OC, use ./ssdtPRGen.sh -f freq flag (after stock clock PM working)
    Supported CPU/IGPU
    1. Haswell/HD4600+ (Core i3/5/7 4xxx, 4th Generation)
    2. Ivy Bridge/HD4000 (Core i3/5/7 3xxx, 3rd Generation)
    3. Sandy Bridge/HD3000 (Core i3/5/7 2xxx, 2nd Generation)
    Native Mavericks Power Management Recipe
    1. System Definition - match processor generation/desktop or laptop
    2. ssdt - custom to installed processor
    3. kext - native IOPlatformPlugin.kext
    Not considered
    1. NullCPUPowerManagement.kext
    2. Safe Mode boot (-x)
    3. Discrete graphics
    Settings: Haswell/Ivy Bridge/Sandy Bridge (Note 1)
    Haswell i3/5/7 4xxx HD4600+____ Ivy Bridge i3/5/7 3xxx HD4000_____ Sandy Bridge i3/5/7 2xxx HD3000_____
    1. All Systems
    BIOS Load Optimized Defaults Load Optimized Defaults Load Optimized Defaults
    Required PlatformPlugin x86 PlatformPlugin x86 PlatformPlugin ACPI_SMC_ PlatformPlugin
    Additional Native Power Management Properties (IOReg) LPC@1F LPC@1F LPC@1F SBUS@1F,3/ BUS0@0
    _____________________ ____________ ____________ ____________
    2. Chameleon/Chimera
    org.chameleon.Boot.plist DropSSDT=Yes DropSSDT=Yes DropSSDT=Yes
    smbios.plist imac14 macbookpro11 macbookair6 imac13 macmini6 macbookpro9 macbookpro10 macbookair5 imac12 macmini5 macbookpro8
    _____________________ ____________ ____________ ____________
    3. Clover/config.plist/
    ACPI/ DropTables/ SSDT/CpuPm SSDT/Cpu0Ist DropTables/ SSDT/CpuPm SSDT/Cpu0Ist
    ACPI/SMBIOS Default Default Default

    Installation
    1. Backup system (bootable backup; SuperDuper, CarbonCopyCloner, etc.)
      1. Rescue Tool (UniBeast, etc.)
    2. Tools (see Tools, below)
      1. IOReg: Download and install
      2. Intel Power Gadget: Download and install
      3. AppleIntelCPUPowerManagementInfo.kext: Download and install
    3. Restart
      1. If KP, remove S/L/E/AppleIntelCPUPowerManagementInfo.kext
      2. Proceed without the kext
    4. Baseline
      1. IOReg
        1. File/Save a Copy As...
      2. AICPUPMI
        1. Terminal
          1. cat /var/log/system.log | grep "AICPUPMI:"
          2. File/Export Text As...
      3. Intel Power Gadget (Note 2)
        1. Make screenshot
    5. Bootloader Settings
      1. All Systems
        1. Deselect any/all power management entries/selections
          1. Generate C States
          2. Generate P States
          3. Generate CPU States
          4. Plugin Type
          5. Etc,
      2. Chameleon/Chimera
        1. Chameleon Wizard
          1. Set DropSSDT (Ignore if 9 Series)
          2. Select appropriate System Definition
          3. Save
          4. Example Screen Shot 2014-03-26 at 9.59.41 PM.png
      3. Clover
        1. Clover Configurator (1 or 2, not both)
          1. ACPI/Set DropOEM ((Ignore if 9 Series) or
          2. ACPI/Drop Tables
            1. SSDT/CpuPm
            2. SSDT/Cpu0Ist
          3. Save (Export)
          4. Example Screen Shot 2014-03-29 at 7.09.54 PM.png
    6. Prepare ssdt
      1. The script uses the installed processor
        1. For a different CPU, see ssdtPRGen.sh v11.0 | Pike's Universum
        2. For Desktop/Ivy Bridge/Core i3/5/7 3xxx, 3rd Generation (Note 3)
      2. Piker-Alpha/ssdtPRGen.sh/Download ZIP
        1. Use BETA branch
      3. Terminal:
        1. cd Downloads/ssdtPRGen.sh-master
        2. sudo chmod 755 ssdtPRGen.sh
        3. ./ssdtPRGen.sh
        4. n
        5. n
      4. Example:
        Code (Text):
        Last login: Fri Mar  7 23:50:39 on console

        . . .$ cd /Users/. . ./Downloads/ssdtPRGen.sh-master
        . . .:ssdtPRGen.sh-master . . .$ ./ssdtPRGen.sh
        This script must be run as root!
        Password:
        ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
                     v6.6 Copyright (c) 2013 by † Jeroen
                     v12.7 Copyright (c) 2013-2014 by Pike R. Alpha
        -----------------------------------------------------------
        Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <
        System information: Mac OS X 10.9.2 (13C64)
        Brandstring 'Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz'
        Scope (_PR_) {26 bytes} with ACPI Processor declarations found in the DSDT (ACPI 1.0 compliant)
        Generating ssdt.dsl for a 'iMac14,2' with board-id [Mac-27ADBB7B4CEE8E61]
        Haswell Core i7-4770K processor [0x306C3] setup [0x0705]
        With a maximum TDP of 84 Watt, as specified by Intel
        Number logical CPU's: 8 (Core Frequency: 3500 MHz)
        Number of Turbo States: 4 (3600-3900 MHz)
        Number of P-States: 32 (800-3900 MHz)
        Injected C-States for CPU0 (C1,C3,C6,C7)
        Injected C-States for CPU1 (C1,C2,C3)
        Intel ACPI Component Architecture
        ASL Optimizing Compiler version 20130117-64 [Jan 19 2013]
        Copyright (c) 2000 - 2013 Intel Corporation
        ASL Input:     /Users/. . ./Desktop/ssdt.dsl - 327 lines, 9975 bytes, 71 keywords
        AML Output:    /Users/. . ./Desktop/ssdt.aml - 2178 bytes, 28 named objects, 43 executable opcodes
        Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
        Do you want to copy /Users/. . ./Desktop/ssdt.aml to /Extra/ssdt.aml? (y/n)? n
        Do you want to open ssdt.dsl (y/n)? n
    7. Rename Desktop/ssdt.aml to Desktop/SSDT.aml
    8. Install
      1. Chimera/Chameleon
        1. Extra/SSDT.aml
      2. Clover
        1. EFI/Clover/ACPI/Patched/SSDT.aml
    9. Restart
    10. Verify
      1. Console/Search: XCPM
        1. Code (Text):

          kernel[0]    XCPM: registered
          kernel[0]    IOPPF: XCPM mode
           
      2. IOReg
        1. X86PlatformPlugin
      3. AICPUPMI
        1. Terminal:
          1. cat /var/log/system.log | grep "AICPUPMI:"
      4. Intel Power Gadget (Note 1)
        1. Screenshot
      5. Verify Console/IOReg/AICPUPMI/Power Gadget (see below)
    IOReg
    1. Haswell/Ivy Bridge
      1. Core i7-4770K (verify X86PlatformPlugin & AGPMController Machine)
        1. Screen Shot 2014-03-29 at 3.55.33 PM.png Screen Shot 2014-03-29 at 3.55.06 PM.png
    2. Sandy Bridge
      1. Core i5-2605S (verify AICPMVers & AGPMController Machine)
        1. Screen Shot 2014-03-29 at 4.02.38 PM.png Screen Shot 2014-03-29 at 4.01.00 PM.png
    AppleIntelInfo.kext
    Deprecated: AppleIntelCPUPowerManagementInfo

    1. Core I7-4770K
    2. Necessary for native Mavericks PM/not sufficient to determine if PM is working
    3. Summary:
      Code (Text):
      CPU P-States [ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ]
      iGPU P-States [ 4 5 6 7 8 9 10 12 13 16 (17) 18 20 22 23 24 25 ]

      Note: Results will vary, minimum P-States:
      CPU: 5 P-States or less (i.e., only min and/or turbo), PM not working
      IGPU: 3 P-States or less i.e., only min or max), PM not working
    4. Details:
      Code (Text):
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: v3.3 Copyright © 2012-2014 Pike R. Alpha. All rights reservedMar 27 14:26:14 localhost kernel[0]: AICPUPMI: logMSRs............................: 1Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: logIGPU............................: 1
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: logCStates.........................: 1
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: logIPGStyle........................: 1
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MWAIT C-States.....................: 270624
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_CORE_THREAD_COUNT......(0x35)  : 0x40008
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PLATFORM_INFO..........(0xCE)  : 0x80838F3012300
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x1E000005
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x21814
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IA32_MPERF.................(0xE7)  : 0xE401363B8
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IA32_APERF.................(0xE8)  : 0xDFDA821ED
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_FLEX_RATIO.............(0x194) : 0xE0000
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_IA32_PERF_STATUS.......(0x198) : 0x236500002500
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_IA32_PERF_CONTROL......(0x199) : 0x2700
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IA32_CLOCK_MODULATION......(0x19A) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IA32_THERM_STATUS..........(0x19C) : 0x883E0000
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IA32_MISC_ENABLES..........(0x1A0) : 0x850089
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_MISC_PWR_MGMT..........(0x1AA) : 0x400001
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x25262727
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x5
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_POWER_CTL..............(0x1FC) : 0x4005F
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKG_POWER_LIMIT........(0x610) : 0x428348001A82A0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKG_ENERGY_STATUS......(0x611) : 0x25B3D6
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKGC3_IRTL.............(0x60a) : 0x8842
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKGC6_IRTL.............(0x60b) : 0x8873
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKGC7_IRTL.............(0x60c) : 0x8891
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x101414000002F8
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PP0_POWER_LIMIT........(0x638) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PP0_ENERGY_STATUS......(0x639) : 0x147A02
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PP0_POLICY.............(0x63a) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PP1_POWER_LIMIT........(0x640) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PP1_ENERGY_STATUS......(0x641) : 0x6D03
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PP1_POLICY.............(0x642) : 0x18
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_CONFIG_TDP_NOMINAL.....(0x648) : 0x23
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL1......(0x649) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL2......(0x64a) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_CONFIG_TDP_CONTROL.....(0x64b) : 0x80000000
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_TURBO_ACTIVATION_RATIO.(0x64c) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU Low Frequency Mode.............: 800 MHz
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU Maximum non-Turbo Frequency....: 3500 MHz
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU Maximum Turbo Frequency........: 3900 MHz
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IGPU Current Frequency.............: 1250 MHz
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IGPU Minimum Frequency.............:  200 MHz
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IGPU Maximum Non-Turbo Frequency...:  350 MHz
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IGPU Maximum Turbo Frequency.......: 1250 MHz
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: IGPU Maximum limit.................: No Limit
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU P-States [ (8) 34 37 ] iGPU P-States [ (25) ]
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 5 ]
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU C7-Cores [ 0 2 4 5 7 ]
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU P-States [ (8) 33 34 37 ] iGPU P-States [ (25) ]
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 4 5 6 7 ]
      Mar 27 14:26:14 localhost kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 4 5 7 ]
      Mar 27 14:26:15 kernel[0]: AICPUPMI: CPU P-States [ 8 33 34 36 (37) ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:15 kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
      Mar 27 14:26:15 kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 3 4 5 6 7 ]
      Mar 27 14:26:16 kernel[0]: AICPUPMI: CPU P-States [ 8 33 34 (35) 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:16 kernel[0]: AICPUPMI: CPU P-States [ (8) 30 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:17 kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 ]
      Mar 27 14:26:17 kernel[0]: AICPUPMI: CPU P-States [ 8 27 30 33 34 (35) 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:18 kernel[0]: AICPUPMI: CPU P-States [ (8) 12 27 30 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:20 kernel[0]: AICPUPMI: CPU P-States [ (8) 12 27 28 30 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 12 27 28 30 31 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 12 23 27 28 30 31 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 12 23 27 28 29 30 31 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 12 13 23 27 28 29 30 31 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 12 13 23 25 27 28 29 30 31 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 12 13 22 23 25 27 28 29 30 31 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 11 12 13 22 23 25 27 28 29 30 31 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 11 12 13 22 23 25 27 28 29 30 31 32 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 22 23 25 27 28 29 30 31 32 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:37 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:46 kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 ]
      Mar 27 14:26:47 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:49 kernel[0]: AICPUPMI: CPU P-States [ 8 9 11 12 13 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 (38) ] iGPU P-States [ (4) 25 ]
      Mar 27 14:26:50 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ 4 (6) 25 ]
      Mar 27 14:26:50 kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 7 ]
      Mar 27 14:26:50 kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 6 7 ]
      Mar 27 14:26:54 kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 4 6 7 ]
      Mar 27 14:26:54 kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
      Mar 27 14:26:55 kernel[0]: AICPUPMI: CPU P-States [ 8 9 11 12 13 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 ] iGPU P-States [ 4 6 (8) 25 ]
      Mar 27 14:26:57 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 17 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ (4) 6 8 25 ]
      Mar 27 14:27:02 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 17 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ (4) 6 8 25 ]
      Mar 27 14:27:05 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 16 17 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ (4) 6 8 25 ]
      Mar 27 14:27:06 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 16 17 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ (4) 6 8 25 ]
      Mar 27 14:27:06 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 11 12 13 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ (4) 6 8 25 ]
      Mar 27 14:27:12 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ (4) 6 8 25 ]
      Mar 27 14:27:12 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ (4) 6 8 25 ]
      Mar 27 14:27:17 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ (4) 6 8 25 ]
      Mar 27 14:27:45 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ 4 6 8 (10) 25 ]
      Mar 27 14:27:45 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ 4 6 8 (9) 10 25 ]
      Mar 27 14:27:45 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ] iGPU P-States [ 4 6 8 (9) 10 25 ]
      Mar 27 14:28:02 kernel[0]: AICPUPMI: CPU P-States [ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ (4) 6 8 9 10 25 ]
      Mar 27 14:28:46 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 6 (7) 8 9 10 25 ]
      Mar 27 14:28:47 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 (5) 6 7 8 9 10 25 ]
      Mar 27 14:33:04 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 5 6 7 8 9 10 (12) 25 ]
      Mar 27 14:33:05 kernel[0]: AICPUPMI: CPU P-States [ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ 4 5 6 7 8 9 10 12 (24) 25 ]
      Mar 27 14:33:05 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 5 6 7 8 9 10 12 (18) 24 25 ]
      Mar 27 14:33:06 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 5 6 7 8 9 10 12 (16) 18 24 25 ]
      Mar 27 14:33:06 kernel[0]: AICPUPMI: CPU P-States [ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 7 8 9 10 12 16 18 (22) 24 25 ]
      Mar 27 14:33:10 kernel[0]: AICPUPMI: CPU P-States [ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 7 8 9 10 12 (13) 16 18 22 24 25 ]
      Mar 27 14:33:17 kernel[0]: AICPUPMI: CPU P-States [ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] iGPU P-States [ 4 5 6 7 8 9 10 12 13 16 18 22 (23) 24 25 ]
      Mar 27 14:33:56 kernel[0]: AICPUPMI: CPU P-States [ (8) 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] iGPU P-States [ 4 5 6 7 8 9 10 12 13 16 18 (20) 22 23 24 25 ]
      Mar 27 14:33:57 kernel[0]: AICPUPMI: CPU P-States [ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 38 39 ] iGPU P-States [ 4 5 6 7 8 9 10 12 13 16 (17) 18 20 22 23 24 25 ]
    Screenshots/Working PM
    1. Core i7-4770K/idle
      1. View attachment SSDT-i7-4770k-no_oc.aml.zip
      2. Temperature/Power - OK
      3. Frequencies - Power Gadget - OK (HWMonitor - not OK)
        1. Screen Shot 2014-04-10 at 8.27.06 PM.jpg
    2. Core i7-3770K/Cinebench R15/OpenGL
      1. Temperature/Power - OK
      2. Frequencies - Power Gadget - OK (HWMonitor - not OK)
        1. Screen Shot 2014-03-29 at 4.47.46 PM.png Screen Shot 2014-03-29 at 4.43.47 PM.png Screen Shot 2014-03-29 at 4.44.07 PM.jpg
    3. Core i7-3770K/Cinebench R15/CPU
      1. Temperature/Power - OK
      2. Frequencies - OK
        1. Screen Shot 2014-03-29 at 4.47.25 PM.png Screen Shot 2014-03-29 at 4.46.19 PM.png Screen Shot 2014-03-29 at 4.46.33 PM.jpg
    Tools
    1. Applications/Utilities/Console
    2. AppleIntelInfo.kext
      1. AppleIntelInfo.kext.zip
      2. Deprecated- AppleIntelCPUPowerManagementInfo.kext PMinfo at clang · Piker-Alpha
        1. View attachment AppleIntelCPUPowerManagementInfo.kext.zip _v4.0
    3. Chameleon Wizard Chameleon Wizard
      1. Download
    4. Clover Configurator Clover Third-Party Tools - Clover - InsanelyMac Forum
      1. Clover Configurator
    5. Intel Power Gadget
      1. Intel® Power Gadget
    6. RegistryExplorer - Choose 1 or 2
      1. IOReg IORegistryExplorer_v2.1.zip
      2. IOJones Alternative to IORegistryExplorer: IOJones
        1. IOJones Download
    7. ssdtPRGen.sh Piker-Alpha/ssdtPRGen.sh
    Screenshots (all 12, above)
    1. View attachment mavs_cpu-igpu_pm_ss.zip
    Notes
    1. System Definition/macpro6,1, socket LGA 2011 only
    2. Clover/Intel Power Gaget
      1. Frequency scale is wrong with Clover
      2. Fix, set config.plist/CPU/QPI/100
    3. Desktop/Ivy Bridge/Core i-3xxx (i.e., i7-3770K)
      1. Use ./ssdtPRGen.sh -w 3
    Credit

    Problem Reporting

    1. Description of problem
    2. OS X version/motherboard model/BIOS version/processor/graphics
    3. Procedure/Guide Used
    4. Copy of IORegistryExplorer/IOJones (either)
      1. IOReg/File/Save a Copy As…, verify file (no ioreg.txt)
      2. IOJones/File/Save...
    5. Copy of AICPUPMI/Terminal:/cat /var/log/system.log | grep "AICPUPMI:"
      1. Terminal/File/Export Text As...
    6. Copy Of Console/All Messages (last boot)
      1. Console/File/Save a Copy As...
    7. Screenshot of Intel Power Gadget
    8. Chimera/Chameleon
      1. Extra/org.chameleon.Boot.plist
      2. DPCIManager/Misc/Boot Log
      3. Extra/dsdt.aml (if installed)
      4. Extra/ssdt.aml
    9. Clover
      1. EFI/CLOVER/config.plist
      2. EFI/CLOVER/misc/debug.log (Set config.plist/Boot/Debug/YES)
        1. or DPCIManager/Misc/Boot Log
      3. EFI/CLOVER/ACPI/Patched/dsdt.aml (if installed)
      4. EFI/CLOVER/ACPI/Patched/ssdt.aml
    10. ssdtPPRGen.sh questions, post to Issues · Piker-Alpha/ssdtPRGen.sh
    Core i3/5/7 xxx (1st Generation)/Core 2 and earlier

    Difference from Haswell/Ivy Bridge/Sandy Bridge Procedure

    1. Uses native ssdt (custom processor specific ssdt not required)
    Supported CPUs
    1. Core i3/5/7 xxx (1st Generation/Nahalem, no HDGraphics support))
      1. Desktop (Clarkdale/Lynnfield)
      2. Laptop (Arrandale)
      3. Server (Bloomfield/Gainstown/Gulftown/Westmere-EP)
    2. Core 2 and prior
    Native Mavericks Power Management
    1. System Definition - match processor generation/desktop or laptop
    2. ssdt - native
    3. kext - native IOPlatformPlugin.kext
    Not considered
    1. NullCPUPowerManagement.kext
    2. Safe Mode boot (-x)
    3. Discrete graphics
    Settings: Core i3/5/7 xxx/Core 2 and earlier
    Core i3/5/7 xxx No HDGraphics Support Core 2. . . and previous_________
    1. All Systems
    BIOS Load Optimized Defaults Load Optimized Defaults
    Required PlatformPlugin ACPI_SMC_ PlatformPlugin ACPI_SMC_ PlatformPlugin
    Additional Native Power Management Properties (IOReg) LPC@1F SBUS@1F,3/ BUS0@0 LPC@1F SBUS@1F,3/ BUS0@0
    ____________________ ____________________ ____________________
    2. Chameleon/Chimera
    org.chameleon.Boot.plist Generate: CPUStates=Yes or C State=Yes and P State=Yes Generate: CPUStates=Yes or C State=Yes and P State=Yes
    smbios.plist mac11 macbookpro6 macpro5 (Xeon only) macpro3
    ____________________ ____________________ ____________________
    3. Clover/config.plist/
    ACPI/SSDT Generate/ CStates=YES PStates=YES Generate/ CStates=YES PStates=YES
    ACPI/SMBIOS Default Default

    Tools (Core i3/5/7 xxx /Core 2 and earlier)
    1. AppleIntelCPUPowerManagementInfo.kext - Not supported
    2. Chameleon Wizard - Link above
    3. Clover Configurator - Link above
    4. Intel Power Gadget - Not supported
    5. IOReg - Link above
    6. ssdtPRGen.sh - Not supported
    Installation (Core i3/5/7 xxx /Core 2 and earlier)
    1. Backup system (make bootable backup; SuperDuper, CarbonCopyCloner, etc.)
      1. Rescue Tool (UniBeast, etc.)
    2. Tools
      1. IOReg: Download and install
    3. Restart
    4. Baseline
      1. IOReg
        1. Save a Copy As...
    5. Bootloader
      1. Chameleon/Chimera
        1. org.chameleon.Boot.plist (1 or 2)
          1. GenerateCPUStates=Yes
          2. Generate C States=Yes and Generate P States=Yes
        2. smbios (1 or 2 or 3)
          1. macbookpro6
          2. imac11
          3. macpro3 (Core 2 and earlier)
      2. Clover
        1. config.plist
          1. Generate C States=Yes and Generate P States=Yes
        2. smbios (default)
          1. No entry required
    6. Restart
    7. Verify, see IOReg/2. Sandy Bridge (above)
      1. IOReg
        1. Core i3/5/7 xxx/Core 2 and earlier
          1. AICPMVers
    8. Problem Reporting (see above)
     

    Attached Files:

    Last edited: May 20, 2016
  2. tonymacx86

    tonymacx86 Administrator Staff Member

    Joined:
    Nov 18, 2009
    Messages:
    7,992
    Mobo:
    GA-Z170X-UD5-TH
    CPU:
    Core i5-6600K
    Graphics:
    HD 530 / GT 740
    Mac:
    MacBook Pro, Mac mini
    Classic Mac:
    Apple, PowerBook
    Mobile Phone:
    iOS
    Mar 30, 2014 at 11:45 PM #2
    tonymacx86

    tonymacx86 Administrator Staff Member

    Joined:
    Nov 18, 2009
    Messages:
    7,992
    Mobo:
    GA-Z170X-UD5-TH
    CPU:
    Core i5-6600K
    Graphics:
    HD 530 / GT 740
    Mac:
    MacBook Pro, Mac mini
    Classic Mac:
    Apple, PowerBook
    Mobile Phone:
    iOS
    Thanks for the great documentation as always. Let me know when it goes up and I will spotlight.

    :thumbup:
     
  3. wildwillow

    wildwillow Moderator

    Joined:
    Jun 26, 2012
    Messages:
    4,158
    Mobo:
    GA-Z87X-OC
    CPU:
    i7-4770K
    Graphics:
    HD4600+R9 380 4GB
    Mac:
    MacBook Pro
    Mobile Phone:
    iOS, Other
    Mar 31, 2014 at 11:55 AM #3
    wildwillow

    wildwillow Moderator

    Joined:
    Jun 26, 2012
    Messages:
    4,158
    Mobo:
    GA-Z87X-OC
    CPU:
    i7-4770K
    Graphics:
    HD4600+R9 380 4GB
    Mac:
    MacBook Pro
    Mobile Phone:
    iOS, Other
    Great work toleda and PikeRAlpha. Took some time this morning to give this a try. Everything is working the same as your presented screen shots for i7-4770k. The only thing that I couldn't get to work was IOReg. it just opens sit on the dock and nothing else happens.
     

    Attached Files:

  4. pH24

    pH24

    Joined:
    Feb 9, 2012
    Messages:
    11
    Mobo:
    10.8.2
    CPU:
    I3-380M
    Graphics:
    ATI-HD5650M
    Mobile Phone:
    Other
    Apr 3, 2014 at 1:07 AM #4
    pH24

    pH24

    Joined:
    Feb 9, 2012
    Messages:
    11
    Mobo:
    10.8.2
    CPU:
    I3-380M
    Graphics:
    ATI-HD5650M
    Mobile Phone:
    Other
    Any info about the first gen of Core I series? like i3-380m i7-920 etc
     
  5. loginfailed

    loginfailed

    Joined:
    Sep 3, 2011
    Messages:
    216
    Mobo:
    GA-Z170N-Gaming 5
    CPU:
    I7-6700K
    Graphics:
    EVGA GTX 980 Ti FTW
    Apr 3, 2014 at 2:01 AM #5
    loginfailed

    loginfailed

    Joined:
    Sep 3, 2011
    Messages:
    216
    Mobo:
    GA-Z170N-Gaming 5
    CPU:
    I7-6700K
    Graphics:
    EVGA GTX 980 Ti FTW
    Thank you, Toleda. My i7-3770k went from:

    [ 16 35 37 38 39 ]

    to

    [ (16) 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ]
     
  6. devdev001

    devdev001

    Joined:
    Jul 29, 2012
    Messages:
    27
    Mobo:
    Gigabyte GA-Z87X-UD3H
    CPU:
    Intel Core i7-4770
    Graphics:
    Intel 4600 HD
    Mac:
    MacBook, MacBook Pro
    Mobile Phone:
    iOS
    Apr 3, 2014 at 2:05 AM #6
    devdev001

    devdev001

    Joined:
    Jul 29, 2012
    Messages:
    27
    Mobo:
    Gigabyte GA-Z87X-UD3H
    CPU:
    Intel Core i7-4770
    Graphics:
    Intel 4600 HD
    Mac:
    MacBook, MacBook Pro
    Mobile Phone:
    iOS
    Yay! I have been looking for a good, straightforward guide on this for a long time. Will report when I get back home. Thanks to everyone involved for putting this together :)
     
  7. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    17,174
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Apr 3, 2014 at 3:27 AM #7
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    17,174
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    There is no difference between no power management (1st case) and no power management (2nd case). Your posts will be deleted.
     
  8. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    17,174
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    Apr 3, 2014 at 4:01 AM #8
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    17,174
    Mobo:
    Asus Maximus VII Impact
    CPU:
    Core i7-4770K
    Graphics:
    HD7750 + HD4600
    Mac:
    iMac, MacBook Pro, Mac mini
    Classic Mac:
    512K, LC, Power Mac
    Mobile Phone:
    iOS
    1st generation Core i is the same as Sandy Bridge (2nd generation Core i), except, use the native ssdt. Note, the AppleIntelCPUPowerManagementInfo.kext and Intel Power Gadget will not work for 1st generation Core i processors, use IOReg.

    bootloader: Generate CPU States=Yes or Generate C States = Yes, Generate P States = Yes
    smbios: macbookpro6 or imac11
     
  9. beelzebozo

    beelzebozo Super Moderator

    Joined:
    Mar 31, 2010
    Messages:
    3,461
    Mobo:
    Main Build: GA z97x-UD5H
    CPU:
    i7 - 4770K
    Graphics:
    GTX 680
    Mac:
    MacBook Pro
    Classic Mac:
    Power Mac
    Mobile Phone:
    iOS
    Apr 3, 2014 at 1:33 PM #9
    beelzebozo

    beelzebozo Super Moderator

    Joined:
    Mar 31, 2010
    Messages:
    3,461
    Mobo:
    Main Build: GA z97x-UD5H
    CPU:
    i7 - 4770K
    Graphics:
    GTX 680
    Mac:
    MacBook Pro
    Classic Mac:
    Power Mac
    Mobile Phone:
    iOS
    Try to use IOJones.
     
  10. arehep

    arehep

    Joined:
    Aug 10, 2012
    Messages:
    233
    Mobo:
    Asus R4E
    CPU:
    i7-4930K OC 4.2 Ghz
    Graphics:
    NVIDIA GTX760 2GB
    Mobile Phone:
    iOS
    Apr 3, 2014 at 2:19 PM #10
    arehep

    arehep

    Joined:
    Aug 10, 2012
    Messages:
    233
    Mobo:
    Asus R4E
    CPU:
    i7-4930K OC 4.2 Ghz
    Graphics:
    NVIDIA GTX760 2GB
    Mobile Phone:
    iOS
    I can´t get this working on my GA-Z77X-UP5-TH / 3770K (MacMini 6,2)
    I´ve loaded Bios Optimized Default and ran this
    Terminal:
    cd Downloads/ssdtPRGen.sh-master
    sudo chmod 755 ssdtPRGen.sh
    ./ssdtPRGen.sh
    n
    n

    With this result
    ssdtPRGen.png

    But after reboot it´s stuck at 8x

    Intel Gadget.png
    HW monitor.png

    My org.chameleon.Boot.plist looks like this

    org.chameleon.Boot.plist.png

    ?????
     

Share This Page