macOS Native CPU/IGPU Power Management

Discussion in 'General Help' started by toleda, May 25, 2017.

  1. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,678
    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
    May 25, 2017 at 3:51 AM #1
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,678
    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
    macOS Native CPU/IGPU Power Management

    Native macOS power management delivers the best combination of processor and graphics performance and efficiency. The ingredients are an installed processor a XCPM enabling ssdt, a compatible system definition and the native power management kext. Native power management does not require specific BIOS settings or anything more than installing one power management ssdt. Credit, PluginType=1 only technique by RehabMan.

    To be clear, native 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.0 - 5/24/17:
    Initial Release​

    Requirements
    1. OS X/10.10 or newer
      • Desktop/Laptop only
    2. BIOS
      • Load Optimized Defaults
      • Verify stock clock
    3. System Definition/SMBIOS (see Note 1, below)
      • Native CPU PM (PluginType=1)
      • Native IGPU PM (dsdt/GFX0 > dsdt/IGPU)
        1. config.plist (see Attached, end of Post #1) or
        2. HDMI audio ssdt: HDMI Audio AppleHDA/cloverHDMI
    Supported CPU/IGPU - XPCM/Intel Speed Step
    1. Initial - Kaby Lake/HD630+ (Core i3/5/7 7xxx, 7th Generation)
    2. Sky Lake/HD530+ (Core i3/5/7 6xxx, 6th Generation)
    3. Broadwell/HD6000+ (Core i3/5/7 5xxx, 5th Generation, note 2)
    4. Haswell/HD4600+ (Core i3/5/7 4xxx, 4th Generation)
    Supported CPU/IGPU - see Mavericks: Native CPU/IGPU Power Management/Post #1
    1. Ivy Bridge/HD4000 (Core i3/5/7 3xxx, 3rd Generation)
    2. Sandy Bridge/HD3000 (Core i3/5/7 2xxx, 2nd Generation)
    Native Power Management Recipe
    1. System Definition/SMBIOS: match processor generation/desktop or laptop
    2. ssdt: PluginType=1
    3. kext: native IOPlatformPlugin.kext
    Not Considered
    1. HWP (hardware controlled performance)
      • Intel Speed Shift (6th generation and newer)
    2. X58/X79/X99
    3. NullCPUPowerManagement.kext
    4. Overclocking
    5. Safe Mode boot (-x)
    6. Discrete graphics
    Settings: 7th & 6th Generation/5th & 4th Generation (Note 1)
    Desktop: Core i3/i5/i7 Kaby_Lake/7xxx/HD630+ Skylake/6xxx/HD530+ Broadwell/5xxx/HD6000+ Haswell/4xxx/HD4600+
    Motherboard 200_Series/TBA, 100_Series/10.11 9_Series/10.10, 8_Series/10.9
    BIOS Load_Optimized_Defaults Stock_Clock Load_Optimized_Defaults Stock_Clock
    X86PlatformPlugin/PluginType=1 5xxx/Frequency_Vectors (Note_2)
    Additional Native Power Management Properties (IOReg) 9_Series/LPCB@1F (Note_3)
    Clover/config.plist/SMBIOS (7xxx/6xxx/5xxx: Note_4) 7xxx/imac18, 6xxx/imac17 5xxx/imac16, 4xxx/imac15/imac14/macmin7

    Installation
    1. Backup system (bootable backup; SuperDuper, CarbonCopyCloner, etc.)
      • Rescue Tool (UniBeast, etc.)
    2. Tools (see Tools, below)
      • IOReg: Download and install
      • Intel Power Gadget: Download and install
      • AppleIntelInfo.kext: Download and install
      • EFI Mounter v3: Download and install
      • Xcode: Download and install
    3. Restart
    4. Baseline
      • IOReg
        • File/Save a Copy As...
      • AppleIntelInfo.kext
        • Terminal/$ (Drag kext to terminal window)
          Code (Text):
          sudo kextload AppleIntelInfo.kext
          sudo cat /tmp/AppleIntelInfo.dat
          sudo kextunload AppleIntelInfo.kext
        • Terminal/Select AppleIntelInfo.kext output
        • Terminal/Shell/Export Selected Text As ...
      • Intel Power Gadget
        • Make Screenshot
    5. Bootloader Settings
      • Mount EFI Partiton
      • Xcode/edit config.plist
      • All Systems/Clover/config.plist: Deselect any/all power management entries/selections
        • Generate C States/NO
        • Generate P States/NO
        • Generate CPU States/NO
        • DropOEM/NO
        • Drop Tables/NO
        • Plugin Type/0
        • Etc.
    6. Install XCPM ssdt
      • Remove EFI/Clover/ACPI/Patched/SSDT.aml (ssdtPRgen ssdt, if installed)
      • Download: ssdt_xcpm.zip (click link, click View Raw)
      • Install Downloads/SSDT-XCPM.aml
        • Clover: EFI/Clover/ACPI/Patched/SSDT-XCPM.aml
    7. Restart
    8. Verify
      • IOReg
        • File/Save a Copy As...
      • AppleIntelInfo.kext
        • Permissions/Terminal/$ (Drag kext to terminal window)
          Code (Text):
          sudo chown -R root:wheel AppleIntelInfo.kext
          sudo chmod -R 744 AppleIntelInfo.kext
        • Terminal/$ (Drag kext to terminal window)
          Code (Text):
          sudo kextload AppleIntelInfo.kext
          sudo cat /tmp/AppleIntelInfo.dat
          sudo kextunload AppleIntelInfo.kext
        • Terminal/Select AppleIntelInfo.kext output
        • Terminal/Shell/Export Selected Text As ...
      • Intel Power Gadget
        • Make Screenshot
    9. If native power management is not working, see Problem Reporting, below
    IOReg/Screenshots
    1. Haswell/Core i7-4770K/X86PlatformPlugin (note 32 CPUPStates)

      • Screen Shot 2017-05-23 at 3.40.18 PM.png
    2. Haswell/HD4600/AGPMController (Note Machine/iMac14,1/IGPU)

      • Screen Shot 2017-05-23 at 3.49.04 PM.png
    3. Haswell/HD4600/IGPU/AGPM (Note 0x15 hex/21 dec IGPUPStates)

      • Screen Shot 2017-05-23 at 3.50.53 PM.png
    AppleIntelInfo.kext
    1. Core I7-4770K
    2. Necessary for native 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):
      $ sudo cat /tmp/AppleIntelInfo.dat

      AppleIntelInfo.kext v1.4 Copyright © 2012-2015 Pike R. Alpha. All rights reserved

      Settings:
      ------------------------------------
      logMSRs............................: 1
      logIGPU............................: 1
      logIntelRegs.......................: 1
      logCStates.........................: 1
      logIPGStyle........................: 1
      InitialTSC.........................: 0x339162aff75
      MWAIT C-States.....................: 270624

      Model Specific Regiters
      ------------------------------------
      MSR_CORE_THREAD_COUNT......(0x35)  : 0x40008
      MSR_PLATFORM_INFO..........(0xCE)  : 0x80838F3012300
      MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x1E000005
      MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x0
      IA32_MPERF.................(0xE7)  : 0xD20CEAACE
      IA32_APERF.................(0xE8)  : 0x136AD668F5
      MSR_FLEX_RATIO.............(0x194) : 0xF0000
      MSR_IA32_PERF_STATUS.......(0x198) : 0x25A900002700
      MSR_IA32_PERF_CONTROL......(0x199) : 0x2700
      IA32_CLOCK_MODULATION......(0x19A) : 0x0
      IA32_THERM_STATUS..........(0x19C) : 0x883F0000
      IA32_MISC_ENABLES..........(0x1A0) : 0x850089
      MSR_MISC_PWR_MGMT..........(0x1AA) : 0x400001
      MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x27272727
      IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x1
      MSR_POWER_CTL..............(0x1FC) : 0x4005F
      MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
      MSR_PKG_POWER_LIMIT........(0x610) : 0x42FFFF001AFFFF
      MSR_PKG_ENERGY_STATUS......(0x611) : 0x45DD42D
      MSR_PKG_POWER_INFO.........(0x614) : 0x2A0
      MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x10141400001FFF
      MSR_PP0_POWER_LIMIT........(0x638) : 0x0
      MSR_PP0_ENERGY_STATUS......(0x639) : 0x14BA4E3
      MSR_PP0_POLICY.............(0x63a) : 0x0
      MSR_PP1_POWER_LIMIT........(0x640) : 0x0
      MSR_PP1_ENERGY_STATUS......(0x641) : 0xAC8BA
      MSR_PP1_POLICY.............(0x642) : 0x18
      MSR_CONFIG_TDP_NOMINAL.....(0x648) : 0x23
      MSR_CONFIG_TDP_LEVEL1......(0x649) : 0x0
      MSR_CONFIG_TDP_LEVEL2......(0x64a) : 0x0
      MSR_CONFIG_TDP_CONTROL.....(0x64b) : 0x80000000
      MSR_TURBO_ACTIVATION_RATIO.(0x64c) : 0x0
      MSR_PKGC3_IRTL.............(0x60a) : 0x0
      MSR_PKGC6_IRTL.............(0x60b) : 0x0
      MSR_PKGC7_IRTL.............(0x60c) : 0x0
      MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x2A417E3C47B
      MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x0
      MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
      MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0
      IA32_TSC_DEADLINE..........(0x6E0) : 0x33918E10411
      PCH device.................: 0x8CC48086

      Intel Register Data
      ------------------------------------
      CPU_VGACNTRL...............: 0x66217510
      IS_HASWELL(devid) || IS_BROADWELL(devid)
      HSW_PWR_WELL_CTL1..........: 0x80000020
      HSW_PWR_WELL_CTL2..........: 0xfff403f0
      HSW_PWR_WELL_CTL3..........: 0xfff32db6
      HSW_PWR_WELL_CTL4..........: 0x80000020
      HSW_PWR_WELL_CTL5..........: 0xfff403f0
      HSW_PWR_WELL_CTL6..........: 0xfff33935
      PIPE_DDI_FUNC_CTL_A........: 0xfed7c7f5 (enabled, port reserved, mode reserved, bpc reserved, +VSync, +HSync, EDP A ONOFF, reserved width)
      PIPE_DDI_FUNC_CTL_B........: 0x433e79f5 (disabled, DDIE, DP MST, 12 bpc, +VSync, -HSync, EDP input reserved, reserved width)
      PIPE_DDI_FUNC_CTL_C........: 0xacf48d91 (enabled, DDIC, FDI, bpc reserved, -VSync, -HSync, EDP A ON, x1)
      PIPE_DDI_FUNC_CTL_EDP......: 0xb70ff04d (enabled, DDID, mode reserved, 8 bpc, +VSync, +HSync, EDP input reserved, reserved width)
      DP_TP_CTL_A................: 0x5ece694b
      DP_TP_CTL_B................: 0xb90a442a
      DP_TP_CTL_C................: 0x1fbda058
      DP_TP_CTL_D................: 0x2e2c9b24
      DP_TP_CTL_E................: 0x26759280
      DP_TP_STATUS_A.............: 0x475003f3
      DP_TP_STATUS_B.............: 0x23d7ddf9
      DP_TP_STATUS_C.............: 0x985d4c66
      DP_TP_STATUS_D.............: 0x042a5db9
      DP_TP_STATUS_E.............: 0xeb16b519
      DDI_BUF_CTL_A..............: 0xa7b8e90c (enabled not reversed reserved not detected)
      DDI_BUF_CTL_B..............: 0x9805d6e7 (enabled reversed x4 detected)
      DDI_BUF_CTL_C..............: 0xb4216138 (enabled reversed reserved not detected)
      DDI_BUF_CTL_D..............: 0xda5e33c0 (enabled not reversed x1 not detected)
      DDI_BUF_CTL_E..............: 0xb9c4e89c (enabled not reversed reserved not detected)
      SPLL_CTL...................: 0x2c2c2c32
      LCPLL_CTL..................: 0x037054e7
      WRPLL_CTL1.................: 0x2f330505
      WRPLL_CTL2.................: 0x04040404
      PORT_CLK_SEL_A.............: 0xfff410c8 (None)
      PORT_CLK_SEL_B.............: 0x00000745 (LCPLL 2700)
      PORT_CLK_SEL_C.............: 0x00367802 (LCPLL 2700)
      PORT_CLK_SEL_D.............: 0x00074500 (LCPLL 2700)
      PORT_CLK_SEL_E.............: 0x0f780200 (LCPLL 2700)
      PIPE_CLK_SEL_A.............: 0xffffffff (Reserved)
      PIPE_CLK_SEL_B.............: 0x003a1400 (None)
      PIPE_CLK_SEL_C.............: 0x000f0a00 (None)
      SFUSE_STRAP................: 0x3840383c (display enabled, crt no, lane reversal yes, port b yes, port c no, port d no)
      PIPEASRC...................: 0xf4a00020 (62625, 33)
      DSPACNTR...................: 0x026afc75 (disabled)
      DSPASTRIDE.................: 0x83f88bff (34595375)
      DSPASURF...................: 0x012414e8
      DSPATILEOFF................: 0x02468d01 (36097, 582)
      PIPEBSRC...................: 0x74246401 (29733, 25602)
      DSPBCNTR...................: 0x50fc458d (disabled)
      DSPBSTRIDE.................: 0x5959ffff (23422975)
      DSPBSURF...................: 0x8d0875ff
      DSPBTILEOFF................: 0x75ff50ff (20735, 30207)
      PIPECSRC...................: 0x0a73bdfd (2676, 48638)
      DSPCCNTR...................: 0x0000462b (disabled)
      DSPCSTRIDE.................: 0xf897bd83 (65167094)
      DSPCSURF...................: 0x76ff0889
      DSPCTILEOFF................: 0x004606e8 (1768, 70)
      PIPEACONF..................: 0x006af80b (disabled, inactive, if-id, rotate 270, 8bpc)
      HTOTAL_A...................: 0xeec9b38e (45967 active, 61130 total)
      HBLANK_A...................: 0x1608ea8c (60045 start, 5641 end)
      HSYNC_A....................: 0xa6f8f3d5 (62422 start, 42745 end)
      VTOTAL_A...................: 0x37273073 (12404 active, 14120 total)
      VBLANK_A...................: 0x12244020 (16417 start, 4645 end)
      VSYNC_A....................: 0x8b73122f (4656 start, 35700 end)
      VSYNCSHIFT_A...............: 0xa5bdc913
      PIPEA_DATA_M1..............: 0xad891718 (TU 87, val 0x891718 8984344)
      PIPEA_DATA_N1..............: 0xf454f43e (val 0x54f43e 5567550)
      PIPEA_LINK_M1..............: 0x1ce3f49a (val 0xe3f49a 14939290)
      PIPEA_LINK_N1..............: 0xab799efd (val 0x799efd 7970557)
      PIPEBCONF..................: 0x80850fc6 (enabled, inactive, if-id-dbl, rotate 0, invalid bpc)
      HTOTAL_B...................: 0x954cd1d8 (53721 active, 38221 total)
      HBLANK_B...................: 0xd6d7031e (799 start, 55000 end)
      HSYNC_B....................: 0x3bd9abea (44011 start, 15322 end)
      VTOTAL_B...................: 0x4939997f (39296 active, 18746 total)
      VBLANK_B...................: 0x6dd71058 (4185 start, 28120 end)
      VSYNC_B....................: 0x931ab322 (45859 start, 37659 end)
      VSYNCSHIFT_B...............: 0xbeda2ab9
      PIPEB_DATA_M1..............: 0x22c8f0f5 (TU 18, val 0xc8f0f5 13168885)
      PIPEB_DATA_N1..............: 0xf465d509 (val 0x65d509 6673673)
      PIPEB_LINK_M1..............: 0xde22ad03 (val 0x22ad03 2272515)
      PIPEB_LINK_N1..............: 0x59d1ca9f (val 0xd1ca9f 13748895)
      PIPECCONF..................: 0xb8458d50 (enabled, inactive, rsvd, rotate 180, 6bpc)
      HTOTAL_C...................: 0xfa072d99 (11674 active, 64008 total)
      HBLANK_C...................: 0xb15f92fe (37631 start, 45408 end)
      HSYNC_C....................: 0x79c10520 (1313 start, 31170 end)
      VTOTAL_C...................: 0xf7d86871 (26738 active, 63449 total)
      VBLANK_C...................: 0xefcb83af (33712 start, 61388 end)
      VSYNC_C....................: 0x8c43dfa8 (57257 start, 35908 end)
      VSYNCSHIFT_C...............: 0x0f42a731
      PIPEC_DATA_M1..............: 0x68a7c39f (TU 53, val 0xa7c39f 10994591)
      PIPEC_DATA_N1..............: 0x81112f61 (val 0x112f61 1126241)
      PIPEC_LINK_M1..............: 0x61c3f6d6 (val 0xc3f6d6 12842710)
      PIPEC_LINK_N1..............: 0x492c7076 (val 0x2c7076 2912374)
      PIPEEDPCONF................: 0x084d8b23 (disabled, inactive, rsvd, rotate 180, 10bpc)
      HTOTAL_EDP.................: 0x75c08566 (34151 active, 30145 total)
      HBLANK_EDP.................: 0x03eabe05 (48646 start, 1003 end)
      HSYNC_EDP..................: 0x016a0000 (1 start, 363 end)
      VTOTAL_EDP.................: 0x142474ff (29952 active, 5157 total)
      VBLANK_EDP.................: 0x4789e851 (59474 start, 18314 end)
      VSYNC_EDP..................: 0xb60f0000 (1 start, 46608 end)
      VSYNCSHIFT_EDP.............: 0x448bc35e
      PIPEEDP_DATA_M1............: 0x74560038 (TU 59, val 0x560038 5636152)
      PIPEEDP_DATA_N1............: 0x48b70f0c (val 0xb70f0c 11996940)
      PIPEEDP_LINK_M1............: 0x03eabe05 (val 0xeabe05 15384069)
      PIPEEDP_LINK_N1............: 0x006a0000 (val 0x6a0000 6946816)
      PFA_CTL_1..................: 0x88d40012 (enable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt enable, mode least, filter_sel hardcoded,chroma pre-filter enable, vert3tap auto, v_inter_invert field 0)
      PFA_WIN_POS................: 0x226f11ae (623, 430)
      PFA_WIN_SIZE...............: 0xecba883c (3258, 2108)
      PFB_CTL_1..................: 0xf38e916d (enable, auto_scale no, auto_scale_cal yes, v_filter bypass, vadapt disable, mode moderate, filter_sel edge_soften,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
      PFB_WIN_POS................: 0x02835914 (643, 2324)
      PFB_WIN_SIZE...............: 0x9c37dff3 (7223, 4083)
      PFC_CTL_1..................: 0x598ffe68 (disable, auto_scale no, auto_scale_cal no, v_filter bypass, vadapt enable, mode least, filter_sel edge_soften,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
      PFC_WIN_POS................: 0x2f23449e (3875, 1182)
      PFC_WIN_SIZE...............: 0x31750948 (4469, 2376)
      TRANS_HTOTAL_A.............: 0x14c483ff (33792 active, 5317 total)
      TRANS_HBLANK_A.............: 0x009f9e38 (40505 start, 160 end)
      TRANS_HSYNC_A..............: 0x2a740000 (1 start, 10869 end)
      TRANS_VTOTAL_A.............: 0x000000b8 (185 active, 1 total)
      TRANS_VBLANK_A.............: 0x30685010 (20497 start, 12393 end)
      TRANS_VSYNC_A..............: 0xe8000c40 (3137 start, 59393 end)
      TRANS_VSYNCSHIFT_A.........: 0x552e7503
      TRANSACONF.................: 0x45c624d7 (disable, active, rsvd)
      FDI_RXA_MISC...............: 0x45c6bad9 (FDI Delay 6873)
      FDI_RXA_TUSIZE1............: 0x0fc985f8
      FDI_RXA_IIR................: 0x45c641da
      FDI_RXA_IMR................: 0xff4704db
      BLC_PWM_CPU_CTL2...........: 0x3f70006e (enable 0, pipe B, blinking 1, granularity 8)
      BLC_PWM_CPU_CTL............: 0xb4d8896a (cycle 35178, freq 46296)
      BLC_PWM2_CPU_CTL2..........: 0xe6e30fd8 (enable 1, pipe EDP, blinking 0, granularity 128)
      BLC_PWM2_CPU_CTL...........: 0x2c4e008d (cycle 141, freq 11342)
      BLC_MISC_CTL...............: 0x4c26d8f1 (PWM1-CPU PWM2-PCH)
      BLC_PWM_PCH_CTL1...........: 0xe75d8884 (enable 1, override 1, inverted polarity 1)
      BLC_PWM_PCH_CTL2...........: 0xe8905d88 (freq 59536, cycle 23944)
      UTIL_PIN_CTL...............: 0xf306485d (enable 1, transcoder EDP, mode reserved, data 0 inverted polarity 0)
      PCH_PP_STATUS..............: 0xffffff10 (on, ready, sequencing unknown)
      PCH_PP_CONTROL.............: 0x8d48c483 (blacklight disabled, power down on reset, panel on)
      PCH_PP_ON_DELAYS...........: 0x47500845
      PCH_PP_OFF_DELAYS..........: 0xdce85357
      PCH_PP_DIVISOR.............: 0x8afffffe
      PIXCLK_GATE................: 0x830c7d8b
      SDEISR.....................: 0x0424448b (port d:0, port c:0, port b:1, crt:0)
      RC6_RESIDENCY_TIME.........: 0x84a0b563
      IS_GEN6(devid) || IS_GEN7(devid)
      FENCE START 0..............: 0xffffffff
      FENCE END 0................: 0xffffffff
      FENCE START 1..............: 0xffffffff
      FENCE END 1................: 0xffffffff
      FENCE START 2..............: 0xffffffff
      FENCE END 2................: 0xffffffff
      FENCE START 3..............: 0xffffffff
      FENCE END 3................: 0xffffffff
      FENCE START 4..............: 0xffffffff
      FENCE END 4................: 0xffffffff
      FENCE START 5..............: 0xffffffff
      FENCE END 5................: 0xffffffff
      FENCE START 6..............: 0xffffffff
      FENCE END 6................: 0xffffffff
      FENCE START 7..............: 0xffffffff
      FENCE END 7................: 0xffffffff
      FENCE START 8..............: 0xffffffff
      FENCE END 8................: 0xffffffff
      FENCE START 9..............: 0xffffffff
      FENCE END 9................: 0xffffffff
      FENCE START 10.............: 0xffffffff
      FENCE END 10...............: 0xffffffff
      FENCE START 11.............: 0xffffffff
      FENCE END 11...............: 0xffffffff
      FENCE START 12.............: 0xffffffff
      FENCE END 12...............: 0xffffffff
      FENCE START 13.............: 0xffffffff
      FENCE END 13...............: 0xffffffff
      FENCE START 14.............: 0xffffffff
      FENCE END 14...............: 0xffffffff
      FENCE START 15.............: 0xffffffff
      FENCE END 15...............: 0xffffffff
      FENCE START 16.............: 0xffffffff
      FENCE END 16...............: 0xffffffff
      FENCE START 17.............: 0xffffffff
      FENCE END 17...............: 0xffffffff
      FENCE START 18.............: 0xffffffff
      FENCE END 18...............: 0xffffffff
      FENCE START 19.............: 0xffffffff
      FENCE END 19...............: 0xffffffff
      FENCE START 20.............: 0xffffffff
      FENCE END 20...............: 0xffffffff
      FENCE START 20.............: 0xffffffff
      FENCE END 20...............: 0xffffffff
      FENCE START 21.............: 0xffffffff
      FENCE END 21...............: 0xffffffff
      FENCE START 22.............: 0xffffffff
      FENCE END 22...............: 0xffffffff
      FENCE START 23.............: 0xffffffff
      FENCE END 23...............: 0xffffffff
      FENCE START 24.............: 0xffffffff
      FENCE END 24...............: 0xffffffff
      FENCE START 25.............: 0xffffffff
      FENCE END 25...............: 0xffffffff
      FENCE START 26.............: 0xffffffff
      FENCE END 26...............: 0xffffffff
      FENCE START 27.............: 0xffffffff
      FENCE END 27...............: 0xffffffff
      FENCE START 28.............: 0xffffffff
      FENCE END 28...............: 0xffffffff
      FENCE START 29.............: 0xffffffff
      FENCE END 29...............: 0xffffffff
      FENCE START 30.............: 0xffffffff
      FENCE END 30...............: 0xffffffff
      FENCE START 31.............: 0xffffffff
      FENCE END 31...............: 0xffffffff
      GEN6_RP_CONTROL............: 0x00c1f704 (disabled)
      GEN6_RPNSWREQ..............: 0x800f0400
      GEN6_RP_DOWN_TIMEOUT.......: 0x0000b686
      GEN6_RP_INTERRUPT_LIMITS...: 0x8a03eb00
      GEN6_RP_UP_THRESHOLD.......: 0x88c0fe02
      GEN6_RP_UP_EI..............: 0x00000001
      GEN6_RP_DOWN_EI............: 0x8b167440
      GEN6_RP_IDLE_HYSTERSIS.....: 0x0f28b944
      GEN6_RC_STATE..............: 0x28b97c8d
      GEN6_RC_CONTROL............: 0xf475ffc0
      GEN6_RC1_WAKE_RATE_LIMIT...: 0xc1fb75ff
      GEN6_RC6_WAKE_RATE_LIMIT...: 0x07330de0
      GEN6_RC_EVALUATION_INTERVAL: 0x00bf7ce8
      GEN6_RC_IDLE_HYSTERSIS.....: 0x5037ff00
      GEN6_RC_SLEEP..............: 0xa0e1e856
      GEN6_RC1e_THRESHOLD........: 0xc4830000
      GEN6_RC6_THRESHOLD.........: 0xf445fe18
      GEN6_RC_VIDEO_FREQ.........: 0x0f003d7b
      GEN6_PMIER.................: 0x520e0302
      GEN6_PMIMR.................: 0x00731452
      GEN6_PMINTRMSK.............: 0x8be85600

      CPU Ratio Info:
      ------------------------------------
      CPU Low Frequency Mode.............: 800 MHz
      CPU Maximum non-Turbo Frequency....: 3500 MHz
      CPU Maximum Turbo Frequency........: 3900 MHz

      IGPU Info:
      ------------------------------------
      IGPU Current Frequency.............:  200 MHz
      IGPU Minimum Frequency.............:  200 MHz
      IGPU Maximum Non-Turbo Frequency...:  350 MHz
      IGPU Maximum Turbo Frequency.......: 1250 MHz
      IGPU Maximum limit.................: No Limit

      CPU P-States [ (35) 39 ] iGPU P-States [ (4) ]
      CPU C3-Cores [ 0 2 3 ]
      CPU C6-Cores [ 0 1 2 6 ]
      CPU C7-Cores [ 0 1 4 6 ]
      CPU P-States [ 29 (35) 39 ] iGPU P-States [ (4) ]
      CPU C3-Cores [ 0 2 3 7 ]
      CPU C6-Cores [ 0 1 2 3 4 6 ]
      CPU C7-Cores [ 0 1 2 3 4 6 ]
      CPU P-States [ 23 29 (35) 39 ] iGPU P-States [ (4) ]
      CPU C3-Cores [ 0 1 2 3 7 ]
      CPU C6-Cores [ 0 1 2 3 4 6 7 ]
      CPU C7-Cores [ 0 1 2 3 4 6 7 ]
      CPU P-States [ (8) 23 29 31 35 39 ] iGPU P-States [ (4) ]
      CPU C3-Cores [ 0 1 2 3 6 7 ]
      CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
      CPU P-States [ (8) 23 24 29 31 35 39 ] iGPU P-States [ (4) ]
      CPU C7-Cores [ 0 1 2 3 4 5 6 7 ]
      CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
      CPU P-States [ (8) 18 23 24 29 31 35 39 ] iGPU P-States [ (4) ]
      CPU P-States [ (8) 18 23 24 29 31 35 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ (8) 18 23 24 26 29 31 35 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ 8 18 23 24 26 27 29 31 35 37 (39) ] iGPU P-States [ (4) ]
      CPU P-States [ (8) 18 23 24 25 26 27 29 31 35 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ 8 18 23 24 25 26 27 29 31 32 35 37 (39) ] iGPU P-States [ (4) ]
      CPU P-States [ (8) 18 23 24 25 26 27 29 30 31 32 35 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ 8 18 21 23 24 25 26 27 29 30 31 32 (35) 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ 8 18 21 23 24 25 26 27 29 30 31 32 33 35 37 (39) ] iGPU P-States [ (4) ]
      CPU P-States [ (8) 18 21 23 24 25 26 27 28 29 30 31 32 33 35 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ 8 18 21 23 24 25 26 27 28 29 30 31 32 33 34 35 37 (39) ] iGPU P-States [ (4) ]
      CPU P-States [ (8) 18 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ (8) 17 18 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ (8) 17 18 19 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 ] iGPU P-States [ (4) ]
      (4) ]
      CPU P-States [ 8 15 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (35) 36 37 39 ] iGPU P-States [ (4) ]
      CPU P-States [ 8 15 17 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) ]
      CPU P-States [ 8 15 17 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) ]
      CPU P-States [ 8 15 17 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 ]
      CPU P-States [ (8) 15 17 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 (16) ]
      CPU P-States [ 8 15 17 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 16 (25) ]
      CPU P-States [ 8 15 17 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 16 (24) 25 ]
      CPU P-States [ 8 15 17 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 16 (23) 24 25 ]
      CPU P-States [ 8 15 17 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 16 (22) 23 24 25 ]
      CPU P-States [ 8 15 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 16 22 23 24 (25) ]
      CPU P-States [ 8 15 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 16 (19) 22 23 24 25 ]
      CPU P-States [ 8 15 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 (15) 16 19 22 23 24 25 ]
      CPU P-States [ 8 15 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 (14) 15 16 19 22 23 24 25 ]
      CPU P-States [ 8 15 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 (13) 14 15 16 19 22 23 24 25 ]
      CPU P-States [ (8) 15 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 (11) 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ 8 15 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 (10) 11 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ (8) 15 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 (9) 10 11 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ 8 15 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 (8) 9 10 11 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ (8) 15 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 11 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ (8) 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 11 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ (8) 13 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 11 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ (8) 12 13 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 11 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ 8 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 11 13 14 15 16 19 22 23 24 25 ]
      CPU P-States [ 8 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 11 13 14 15 16 19 22 23 24 25 ]
    Intel Power Gadget/Screenshot
    1. Core i7-4770K/HD4600
    • Screen Shot 2017-05-22 at 10.08.29 PM.png
    Tools
    1. IOReg: IORegistryExplorer_v2.1.zip (note 2, below)
    2. DPCIManager_v1.5.zip
    3. Piker-Alpha/AppleIntelInfo
    4. Intel® Power Gadget
      • Clover/Intel Power Gadget
        • Frequency scale is wrong with Clover
        • Fix, set config.plist/CPU/QPI/100
    5. Community Software/EFI Mounter v3
    6. Xcode - Apple Developer
    Notes
    1. System Definition/macpro6,1: socket LGA 2011 only
    2. Broadwell/5xxx - frequency vectors required
    3. 9 Series/LPC: ssdt_lpcb-9series.zip
    4. Graphics fix required for black screen: macOS 10.12.5 Update/Post #6
    Problem Reporting
    1. Description of problem
    2. OS X version/motherboard model/BIOS version/processor/graphics
    3. Procedure/Guide Used
    4. Copy of IOReg/File/Save a Copy As…, verify file (no ioreg.txt, screenshots)
    5. Copy of AppleIntelInfo/Terminal: cat /tmp/AppleIntelInfo.dat
      • Terminal/Shell/Export Text As...
    6. Copy Of Console/All Messages (last boot)
      • Console/File/Save a Copy As...
    7. Screenshot of Intel Power Gadget
    8. Clover (files only, no text pasted to Post)
      • EFI/CLOVER/config.plist
      • DPCIManager/Misc/Boot Log
      • EFI/CLOVER/ACPI/Patched/dsdt (if installed)
      • EFI/CLOVER/ACPI/Patched/ssdt (all)
    Credit
    Rehabman guide-native-power-management-for-laptops/Experimental technique: XCPM only and RehabMan/OS-X-Clover-Laptop-Config
    PikeRAlpha Xnu CPU Power Management | Pike's Universum
    and AppleIntelCPUPowerManagementInfo.kext | Pike's Universum
     
    illus1ve, pastrychef, gi10 and 4 others like this.

    Attached Files:

    • Screen Shot 2017-09-06 at 3.41.07 PM.png  (65.6 KB, 402 views)
    Last edited: Sep 6, 2017
  2. umran23

    umran23

    Joined:
    May 22, 2011
    Messages:
    122
    Mobo:
    ASUS ROG MAXIMUS VIII GENE LGA 1151 Intel Z170
    CPU:
    Intel i7 6700
    Graphics:
    MSI GTX 1070 Gaming X
    Mobile Phone:
    iOS
    May 25, 2017 at 12:48 PM #2
    umran23

    umran23

    Joined:
    May 22, 2011
    Messages:
    122
    Mobo:
    ASUS ROG MAXIMUS VIII GENE LGA 1151 Intel Z170
    CPU:
    Intel i7 6700
    Graphics:
    MSI GTX 1070 Gaming X
    Mobile Phone:
    iOS
    do i still need piker's ssdtPRgen to be in my Clover->Patched folder along with ssdt_xcpm?
     
  3. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,678
    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
    May 25, 2017 at 2:02 PM #3
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,678
    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
    No, remove the ssdtPRgen ssdt. Post #1, updated. Thanks.
     
    umran23 likes this.
  4. JCMunsonII

    JCMunsonII

    Joined:
    Apr 4, 2017
    Messages:
    673
    Mobo:
    ASUS ROG Maximus IX Hero
    CPU:
    Intel I7-7700K
    Graphics:
    EVGA nVidia 1070 FTW2
    Mac:
    iMac
    Mobile Phone:
    iOS
    May 25, 2017 at 2:12 PM #4
    JCMunsonII

    JCMunsonII

    Joined:
    Apr 4, 2017
    Messages:
    673
    Mobo:
    ASUS ROG Maximus IX Hero
    CPU:
    Intel I7-7700K
    Graphics:
    EVGA nVidia 1070 FTW2
    Mac:
    iMac
    Mobile Phone:
    iOS
    If one is using (or going to use) a dedicated GPU(such as an nVidia card), does that invalidate this process?

    Just for clarity, does this invalidate this process (and the subsequent ssdtPRGen)?
     
  5. toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,678
    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
    May 25, 2017 at 2:20 PM #5
    toleda

    toleda Moderator

    Joined:
    May 20, 2010
    Messages:
    20,678
    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
    No, This thread does not address discrete graphics power management.
    No. Starting with Experimental technique: XCPM only, the techniques is the same.
    ssdtPRGen applies to Sandy Bridge, Ivy Bridge and certain server processors.
     
  6. JCMunsonII

    JCMunsonII

    Joined:
    Apr 4, 2017
    Messages:
    673
    Mobo:
    ASUS ROG Maximus IX Hero
    CPU:
    Intel I7-7700K
    Graphics:
    EVGA nVidia 1070 FTW2
    Mac:
    iMac
    Mobile Phone:
    iOS
    May 25, 2017 at 2:24 PM #6
    JCMunsonII

    JCMunsonII

    Joined:
    Apr 4, 2017
    Messages:
    673
    Mobo:
    ASUS ROG Maximus IX Hero
    CPU:
    Intel I7-7700K
    Graphics:
    EVGA nVidia 1070 FTW2
    Mac:
    iMac
    Mobile Phone:
    iOS
    Thank you for the answers.

    Given my build, and also that I'm installing an nVidia GPU, would you recommend this procedure?
     
  7. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    160,470
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    May 25, 2017 at 2:28 PM #7
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    160,470
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    GPU is not relevant to CPU PM.
     
  8. JCMunsonII

    JCMunsonII

    Joined:
    Apr 4, 2017
    Messages:
    673
    Mobo:
    ASUS ROG Maximus IX Hero
    CPU:
    Intel I7-7700K
    Graphics:
    EVGA nVidia 1070 FTW2
    Mac:
    iMac
    Mobile Phone:
    iOS
    May 25, 2017 at 2:30 PM #8
    JCMunsonII

    JCMunsonII

    Joined:
    Apr 4, 2017
    Messages:
    673
    Mobo:
    ASUS ROG Maximus IX Hero
    CPU:
    Intel I7-7700K
    Graphics:
    EVGA nVidia 1070 FTW2
    Mac:
    iMac
    Mobile Phone:
    iOS
    Perhaps that should be noted in the OP as the way the OP is written it is easily misconstrued as such.
     
  9. JCMunsonII

    JCMunsonII

    Joined:
    Apr 4, 2017
    Messages:
    673
    Mobo:
    ASUS ROG Maximus IX Hero
    CPU:
    Intel I7-7700K
    Graphics:
    EVGA nVidia 1070 FTW2
    Mac:
    iMac
    Mobile Phone:
    iOS
    May 25, 2017 at 2:30 PM #9
    JCMunsonII

    JCMunsonII

    Joined:
    Apr 4, 2017
    Messages:
    673
    Mobo:
    ASUS ROG Maximus IX Hero
    CPU:
    Intel I7-7700K
    Graphics:
    EVGA nVidia 1070 FTW2
    Mac:
    iMac
    Mobile Phone:
    iOS
    Rephrased: Given my build, is this a recommended procedure?
     
  10. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    160,470
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    May 25, 2017 at 3:13 PM #10
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    160,470
    Mobo:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    I think the "XCMP only" method (SSDT-PluginType1.aml) can be recommended for any build with Haswell or later CPU.
    Also, it works also for versions prior to macOS.
     

Share This Page