Jump to content
30960 posts in this topic

Recommended Posts

Here is my config.plist i used :

 

 

 

 

<?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">

<plist version="1.0">

<dict>

                        <key>ACPI</key>

                        <dict>

                                               <key>DSDT</key>

                                               <dict>

                                                                       <key>Debug</key>

                                                                       <false/>

                                                                       <key>DropOEM_DSM</key>

                                                                       <dict>

                                                                                              <key>ATI</key>

                                                                                              <false/>

                                                                                              <key>Firewire</key>

                                                                                              <false/>

                                                                                              <key>HDA</key>

                                                                                              <false/>

                                                                                              <key>HDMI</key>

                                                                                              <false/>

                                                                                              <key>IDE</key>

                                                                                              <false/>

                                                                                              <key>IntelGFX</key>

                                                                                              <false/>

                                                                                              <key>LAN</key>

                                                                                              <true/>

                                                                                              <key>LPC</key>

                                                                                              <true/>

                                                                                              <key>NVidia</key>

                                                                                              <false/>

                                                                                              <key>SATA</key>

                                                                                              <false/>

                                                                                              <key>SmBUS</key>

                                                                                              <true/>

                                                                                              <key>USB</key>

                                                                                              <false/>

                                                                                              <key>WIFI</key>

                                                                                              <true/>

                                                                       </dict>

                                                                       <key>Fixes</key>

                                                                       <dict>

                                                                                              <key>AddIMEI_80000</key>

                                                                                              <true/>

                                                                                              <key>FIX_RTC_20000</key>

                                                                                              <true/>

                                                                                              <key>FixDisplay_0100</key>

                                                                                              <true/>

                                                                                              <key>FixHPET_0010</key>

                                                                                              <true/>

                                                                       </dict>

                                                                       <key>Name</key>

                                                                       <string>DSDT-or.aml</string>

                                                                       <key>Patches</key>

                                                                       <array>

                                                                                              <dict>

                                                                                                                      <key>Comment</key>

                                                                                                                      <string>change GFX0 to IGPU</string>

                                                                                                                      <key>Disabled</key>

                                                                                                                      <false/>

                                                                                                                      <key>Find</key>

                                                                                                                      <data>

                                                                                                                      R0ZYMA==

                                                                                                                      </data>

                                                                                                                      <key>Replace</key>

                                                                                                                      <data>

                                                                                                                      SUdQVQ==

                                                                                                                      </data>

                                                                                              </dict>

                                                                       </array>

                                                                       <key>ReuseFFFF</key>

                                                                       <false/>

                                               </dict>

                                               <key>DropTables</key>

                                               <array>

                                                                       <dict>

                                                                                              <key>Signature</key>

                                                                                              <string>MCFG</string>

                                                                       </dict>

                                                                       <dict>

                                                                                              <key>Signature</key>

                                                                                              <string>SSDT</string>

                                                                                              <key>TableId</key>

                                                                                              <string>CpuPm</string>

                                                                       </dict>

                                                                       <dict>

                                                                                              <key>Signature</key>

                                                                                              <string>SSDT</string>

                                                                                              <key>TableId</key>

                                                                                              <string>Cpu0Ist</string>

                                                                       </dict>

                                                                       <dict>

                                                                                              <key>Signature</key>

                                                                                              <string>DMAR</string>

                                                                       </dict>

                                               </array>

                                               <key>HaltEnabler</key>

                                               <true/>

                                               <key>SSDT</key>

                                               <dict>

                                                                       <key>DropOem</key>

                                                                       <true/>

                                                                       <key>EnableC6</key>

                                                                       <true/>

                                                                       <key>Generate</key>

                                                                       <dict>

                                                                                              <key>CStates</key>

                                                                                              <true/>

                                                                                              <key>PStates</key>

                                                                                              <true/>

                                                                       </dict>

                                                                       <key>MaxMultiplier</key>

                                                                       <integer>28</integer>

                                                                       <key>MinMultiplier</key>

                                                                       <integer>16</integer>

                                               </dict>

                        </dict>

                        <key>Boot</key>

                        <dict>

                                               <key>Arguments</key>

                                               <string>-v dart=0 darkwake=0 IGPEnabler=Yes -igfxbeta -alcbeta -lilubeta -radlogo -raddvi</string>

                                               <key>Debug</key>

                                               <false/>

                                               <key>DefaultVolume</key>

                                               <string>Macintosh HD</string>

                                               <key>Legacy</key>

                                               <string>PBR</string>

                                               <key>Log</key>

                                               <true/>

                                               <key>Secure</key>

                                               <false/>

                                               <key>Timeout</key>

                                               <integer>3</integer>

                                               <key>XMPDetection</key>

                                               <false/>

                        </dict>

                        <key>CPU</key>

                        <dict>

                                               <key>BusSpeedkHz</key>

                                               <integer>100000</integer>

                                               <key>C2</key>

                                               <true/>

                                               <key>FrequencyMHz</key>

                                               <integer>2800</integer>

                                               <key>QPI</key>

                                               <integer>5000</integer>

                                               <key>TDP</key>

                                               <integer>53</integer>

                                               <key>UseARTFrequency</key>

                                               <false/>

                        </dict>

                        <key>Devices</key>

                        <dict>

                                               <key>Audio</key>

                                               <dict>

                                                                       <key>Inject</key>

                                                                       <string>1</string>

                                               </dict>

                                               <key>FakeID</key>

                                               <dict>

                                                                       <key>ATI</key>

                                                                       <string>0x0</string>

                                                                       <key>IMEI</key>

                                                                       <string>0x0</string>

                                                                       <key>IntelGFX</key>

                                                                       <string>0x04128086</string>

                                                                       <key>LAN</key>

                                                                       <string>0x0</string>

                                                                       <key>NVidia</key>

                                                                       <string>0x0</string>

                                                                       <key>SATA</key>

                                                                       <string>0x0</string>

                                                                       <key>WIFI</key>

                                                                       <string>0x14e44311</string>

                                                                       <key>XHCI</key>

                                                                       <string>0x0</string>

                                               </dict>

                                               <key>USB</key>

                                               <dict>

                                                                       <key>FixOwnership</key>

                                                                       <false/>

                                                                       <key>Inject</key>

                                                                       <false/>

                                               </dict>

                        </dict>

                        <key>DisableDrivers</key>

                        <array>

                                               <string>Nothing</string>

                        </array>

                        <key>GUI</key>

                        <dict>

                                               <key>Hide</key>

                                               <array>

                                                                       <string>Windows</string>

                                                                       <string>\EFI\BOOT\BOOTX64.EFI</string>

                                               </array>

                                               <key>Language</key>

                                               <string>en:0</string>

                                               <key>Mouse</key>

                                               <dict>

                                                                       <key>DoubleClick</key>

                                                                       <integer>500</integer>

                                                                       <key>Enabled</key>

                                                                       <true/>

                                                                       <key>Mirror</key>

                                                                       <false/>

                                                                       <key>Speed</key>

                                                                       <integer>8</integer>

                                               </dict>

                                               <key>Scan</key>

                                               <dict>

                                                                       <key>Entries</key>

                                                                       <true/>

                                                                       <key>Legacy</key>

                                                                       <string>First</string>

                                                                       <key>Linux</key>

                                                                       <false/>

                                                                       <key>Tool</key>

                                                                       <true/>

                                               </dict>

                                               <key>ScreenResolution</key>

                                               <string>1600x900</string>

                                               <key>Theme</key>

                                               <string>in_box</string>

                        </dict>

                        <key>Graphics</key>

                        <dict>

                                               <key>DualLink</key>

                                               <integer>0</integer>

                                               <key>EDID</key>

                                               <dict>

                                                                       <key>Inject</key>

                                                                       <false/>

                                               </dict>

                                               <key>Inject</key>

                                               <dict>

                                                                       <key>ATI</key>

                                                                       <false/>

                                                                       <key>Intel</key>

                                                                       <true/>

                                                                       <key>NVidia</key>

                                                                       <false/>

                                               </dict>

                                               <key>ig-platform-id</key>

                                               <string>0x0a260006</string>

                        </dict>

                        <key>KernelAndKextPatches</key>

                        <dict>

                                               <key>AppleRTC</key>

                                               <false/>

                                               <key>AsusAICPUPM</key>

                                               <false/>

                                               <key>Debug</key>

                                               <false/>

                                               <key>DellSMBIOSPatch</key>

                                               <false/>

                                               <key>ForceKextsToLoad</key>

                                               <array>

                                                                       <string>AppleIntelHD5000Graphics</string>

                                                                       <string>AppleIntelFramebufferAzul</string>

                                               </array>

                                               <key>KernelCpu</key>

                                               <false/>

                                               <key>KernelHaswellE</key>

                                               <false/>

                                               <key>KernelLapic</key>

                                               <false/>

                                               <key>KernelPm</key>

                                               <false/>

                                               <key>KextsToPatch</key>

                                               <array>

                                                                       <dict>

                                                                                              <key>Comment</key>

                                                                                              <string>t1-10.12-AppleHDA/Realtek ALC...</string>

                                                                                              <key>Disabled</key>

                                                                                              <false/>

                                                                                              <key>Find</key>

                                                                                              <data>

                                                                                              ihnUEQ==

                                                                                              </data>

                                                                                              <key>Name</key>

                                                                                              <string>AppleHDA</string>

                                                                                              <key>Replace</key>

                                                                                              <data>

                                                                                              AAAAAA==

                                                                                              </data>

                                                                       </dict>

                                                                       <dict>

                                                                                              <key>Comment</key>

                                                                                              <string>t1-10.9-10.12-AppleHDA/Realtek ALC887</string>

                                                                                              <key>Disabled</key>

                                                                                              <false/>

                                                                                              <key>Find</key>

                                                                                              <data>

                                                                                              ixnUEQ==

                                                                                              </data>

                                                                                              <key>Name</key>

                                                                                              <string>AppleHDA</string>

                                                                                              <key>Replace</key>

                                                                                              <data>

                                                                                              hwjsEA==

                                                                                              </data>

                                                                       </dict>

                                                                       <dict>

                                                                                              <key>Comment</key>

                                                                                              <string>External icons patch</string>

                                                                                              <key>Disabled</key>

                                                                                              <false/>

                                                                                              <key>Find</key>

                                                                                              <data>

                                                                                              RXh0ZXJuYWw=

                                                                                              </data>

                                                                                              <key>Name</key>

                                                                                              <string>AppleAHCIPort</string>

                                                                                              <key>Replace</key>

                                                                                              <data>

                                                                                              SW50ZXJuYWw=

                                                                                              </data>

                                                                       </dict>

                                                                       <dict>

                                                                                              <key>Comment</key>

                                                                                              <string>Raise 15 port limit to 30 in AppleUSBXHCIPCI</string>

                                                                                              <key>Disabled</key>

                                                                                              <false/>

                                                                                              <key>Find</key>

                                                                                              <data>

                                                                                              g72M/v//EA==

                                                                                              </data>

                                                                                              <key>Name</key>

                                                                                              <string>AppleUSBXHCIPCI</string>

                                                                                              <key>Replace</key>

                                                                                              <data>

                                                                                              g72M/v//Hw==

                                                                                              </data>

                                                                       </dict>

                                                                       <dict>

                                                                                              <key>Disabled</key>

                                                                                              <false/>

                                                                                              <key>Find</key>

                                                                                              <data>

                                                                                              Oc92PA==

                                                                                              </data>

                                                                                              <key>Name</key>

                                                                                              <string>AppleIntelBDWGraphicsFramebuffer </string>

                                                                                              <key>Replace</key>

                                                                                              <data>

                                                                                              Oc93PA==

                                                                                              </data>

                                                                       </dict>

                                                                       <dict>

                                                                                              <key>Comment</key>

                                                                                              <string>AirPortBrcm4360 - fcvo</string>

                                                                                              <key>Disabled</key>

                                                                                              <false/>

                                                                                              <key>Find</key>

                                                                                              <string>gflSqgAAdSk=</string>

                                                                                              <key>MatchOS</key>

                                                                                              <string>10.13 (17A315i)</string>

                                                                                              <key>Name</key>

                                                                                              <string>AirPortBrcm4311</string>

                                                                                              <key>Replace</key>

                                                                                              <string>gflSqgAAZpA=</string>

                                                                       </dict>

                                               </array>

                        </dict>

                        <key>RtVariables</key>

                        <dict>

                                               <key>BooterConfig</key>

                                               <string>0x28</string>

                                               <key>CsrActiveConfig</key>

                                               <string>0x67</string>

                                               <key>MLB</key>

                                               <string>C02032109R5DC771H</string>

                                               <key>ROM</key>

                                               <string>UseMacAddr0</string>

                        </dict>

                        <key>SMBIOS</key>

                        <dict>

                                               <key>BiosReleaseDate</key>

                                               <string>10/12/2012</string>

                                               <key>BiosVendor</key>

                                               <string>Apple Inc.</string>

                                               <key>BiosVersion</key>

                                               <string>MBP132.88Z.0226.B24.1704292117</string>

                                               <key>Board-ID</key>

                                               <string>Mac-FC02E91DDD3FA6A4</string>

                                               <key>BoardManufacturer</key>

                                               <string>Apple Inc.</string>

                                               <key>BoardType</key>

                                               <integer>10</integer>

                                               <key>ChassisAssetTag</key>

                                               <string>iMac-Aluminum</string>

                                               <key>ChassisManufacturer</key>

                                               <string>Apple Inc.</string>

                                               <key>ChassisType</key>

                                               <string>0x13</string>

                                               <key>Family</key>

                                               <string>iMac</string>

                                               <key>LocationInChassis</key>

                                               <string>Part Component</string>

                                               <key>Manufacturer</key>

                                               <string>Apple Inc.</string>

                                               <key>Mobile</key>

                                               <false/>

                                               <key>ProductName</key>

                                               <string>iMac13,2</string>

                                               <key>SerialNumber</key>

                                               <string>C02LWA9TDNMP</string>

                                               <key>SmUUID</key>

                                               <string>C27A4549-A438-53B9-89F1-B3C90299B544</string>

                                               <key>Trust</key>

                                               <false/>

                                               <key>Version</key>

                                               <string>1.0</string>

                        </dict>

                        <key>SystemParameters</key>

                        <dict>

                                               <key>#BacklightLevel</key>

                                               <string>0x0501</string>

                                               <key>#CustomUUID</key>

                                               <string>511CE201-1000-4000-9999-010203040506</string>

                                               <key>#NvidiaWeb</key>

                                               <false/>

                                               <key>InjectKexts</key>

                                               <string>Detect</string>

                                               <key>InjectSystemID</key>

                                               <true/>

                        </dict>

</dict>

</plist>

 

 

 

 

Sorry i'm not able to uplooad the file in attachment (had just removed serial number)

Edited by ErmaC
Added Spoiler TAG

For everyone wondering, there is no zipping of anything in the build script. What happened was that slice zipped up a clover binary in the build output folder for someone for some thing, I can't remember where/when (obviously recent) but if you look I'm sure you will find it. He then didn't remove the zip from the output of the build so when he built the next time it was still there and accidentally included in the package.

 

@xtddd,

 

nmano has a HASWELL-E so it should be cool with some minor patching. What CPU do you have? Usually the MacPro models are the worst ones to attempt use.

 

Do these errors not appear in the Console.app system log??? Or can you not boot into system?

 

Is this stuff not in the log???

 

 

Actually as far as I know there is no way to get the classic dmesg kernel log other than watching the kernel verbose boot.  You may find bits and pieces from the logs found in /var/logs or the console app in utilities but you won't find these type of messages displayed in a neat organized way that dmesg use to display them unless I am looking in the wrong places?

@sherlocks,

 

It's a patch for specific CPUs that must be patched in order to boot, it's not a you can disable it and still get anywhere useful kinda thing. It doesn't apply to all CPUs, or even all Haswell+, so yes it should just detect it needs to patch for these CPUs because they can't boot without patches.

 

EDIT: Also the KernelPm patch will not be auto-enabled if you have it specifically set to false in your config.plist. And since you said uncheck I'm assuming you're using configurator, which does some stupid stuff like output almost every key with a value, even though the key not being present also has meaning in some cases - like for autodetection.

 

@oSxFr33k,

 

dmesg is an aggregate of all kernel messages from all sources, you may have to look in multiple logs to find stuff. But I mean you could just say:

dmesg > somefile.txt
  • Like 2

@sherlocks,

 

It's a patch for specific CPUs that must be patched in order to boot, it's not a you can disable it and still get anywhere useful kinda thing. It doesn't apply to all CPUs, or even all Haswell+, so yes it should just detect it needs to patch for these CPUs because they can't boot without patches.

 

@oSxFr33k,

 

dmesg is an aggregate of all kernel messages from all sources, you may have to look in multiple logs to find stuff. But I mean you could just say:

dmesg > somefile.txt

Just use boolean check HSWlow option in GUI or config.plist if user want. Now i never chance manual patch for debug and check system.

Most of system can use kernel patch manual and can check to trace each patch for work.

But now i lost this oppertunity on my skylake pentium.

 

EDIT1

i uncheck kernelPM in GUI. Still no luck. Stop aptiofix message.

 

EDIT2

also i cant see force use patch for specific cpu in clover. Example HawellE patch also support boolean option. User consider enable patch or disable. HaswellE also can't boot without some kernel patch.

 

EDIT3

I will test KernelPM test in detail.

 

EDIT4
on Skylake Desktop, no need KernelPM option. auto-detection works. but my skylake laptop is not working. need kernelpm option. 
anyway we can test and consider KernelPM option if not works
 

나의 LG-F800S 의 Tapatalk에서 보냄

@Sherlocks I will look into your issue separately.

 

For me, here's my Celeron G1840 without -xcpm and any kernel patches:

1. 10.10 boot argument

attachicon.gifinitial-no-xcpm-argv.jpeg

2. KHSWLowEndPatch() works correctly

attachicon.gifkhswlepatch-ok.jpeg

3. Clover automatically append "-xcpm" at the end if miss add "-xcpm"

attachicon.gifappend-xcpm.jpeg

4. XCPM load correctly

attachicon.gifxcpm-ok.jpeg

5. 10.12.6 - installer boot argument

attachicon.gif10.12.6-installer.jpeg

6. 10.12.6 - KHSWLowEndPatch(): _bootstrap, _cpu_info

attachicon.gif10.12.6-installer-KHSWLowEndPatch.jpeg

7. 10.12.6 installer - XCPM-OK

attachicon.gif10.12.6-installer-XCPM-OK.jpeg

 

@Loloflat6 also reported works without any additional patches. So I need to look your issue separately.

 

syscl

 

yes.

i have to remove all stuff. it's working

 

but if added manual patch like previous patch(xcpm_bootstrap, cpuid_set_info_rdmsr, and some patches in kernel patch), can't boot

also i first saw message "kernelRelocBase = 0" on your test file. 

 

EDIT1.

all pentium user with sierra should be remove all stuff if release official clover package. if don't remove all kernel patches like me(prefer manual patch),

will cause to UUID error with can't load specific driver(can't boot) on kernel message and random kernel panic.

 

thanks in advance

  • Like 1

@syscl

Maybe it's better to only append -xcpm from 10.8.5 to 10.11.6? Adding -xcpm on 10.12+ is just harmless though...

 

@Sherlocks

Any great assumption found? On why you have to remove all manual related patches.

Idk.

To check issues, i use patch one by one on 4137.

And checked

Cpuid set info remsr - cause issue

Xcpm idle wrmsr - cause issue

Xcpm bootstrap - cause issue

And some custom kernel patch for me - cause some issue

 

I cant use these patches and some custom kernel patch on 4137.

 

I prefer manual patch. Never use now. Have to disable all kernel patches. If dont disable, happen UUID error and specific drivers load issue.

 

나의 LG-F800S 의 Tapatalk에서 보냄

Just use boolean check HSWlow option in GUI or config.plist if user want. Now i never chance manual patch for debug and check system.

Most of system can use kernel patch manual and can check to trace each patch for work.

But now i lost this oppertunity on my skylake pentium.

 

How so put some debug in there... You can literally debug anything that you can change the source.

 

 

EDIT1

i uncheck kernelPM in GUI. Still no luck. Stop aptiofix message.

 

Well you disabled it in the GUI, it is detected before that, so yeah of course it's not going to work - you disabled it after it was auto detected and enabled.

 

 

EDIT2

also i cant see force use patch for specific cpu in clover. Example HawellE patch also support boolean option. User consider enable patch or disable. HaswellE also can't boot without some kernel patch.

 

Yeah, I was kinda making that point, that the level of keys for things that must be done is getting out of hand. If all Haswell-E need patched then they should just be patched. Why are you going to turn it off if that means it will no longer work??

 

 

EDIT3

I will test KernelPM test in detail.

 

EDIT4
on Skylake Desktop, no need KernelPM option. auto-detection works. but my skylake laptop is not working. need kernelpm option. 
anyway we can test and consider KernelPM option if not works

 

You probably need KernelPM, it's needed on pretty much every machine I've ever seen. I've had multiple unlocked CPUs and unlocked mobo chipsets and almost all still had locked MSR 0xE2. That's because it's a write-once bit, and firmware almost always writes this bit when initializing, it's only cleared by reset.

 

 

yes.

i have to remove all stuff. it's working

 

but if added manual patch like previous patch(xcpm_bootstrap, cpuid_set_info_rdmsr, and some patches in kernel patch), can't boot

also i first saw message "kernelRelocBase = 0" on your test file. 

 

EDIT1.

all pentium user with sierra should be remove all stuff if release official clover package. if don't remove all kernel patches like me(prefer manual patch),

will cause to UUID error with can't load specific driver(can't boot) on kernel message and random kernel panic.

 

thanks in advance

 

 

Idk.

To check issues, i use patch one by one on 4137.

And checked

Cpuid set info remsr - cause issue

Xcpm idle wrmsr - cause issue

Xcpm bootstrap - cause issue

And some custom kernel patch for me - cause some issue

 

I cant use these patches and some custom kernel patch on 4137.

 

I prefer manual patch. Never use now. Have to disable all kernel patches. If dont disable, happen UUID error and specific drivers load issue.

 

나의 LG-F800S 의 Tapatalk에서 보냄

 

That's ridiculous, it's using the exact same patch. You're just doing something wrong man. There's no reason that the patch works for others, and only a manual patch works for you. Also you need to use all the patches together, you can't just choose some of them, they work together. So saying you tried each one by one, is at best misguided.

  • Like 1

@apianti

Yeah, I was kinda making that point, that the level of keys for things that must be done is getting out of hand. If all Haswell-E need patched then they should just be patched. Why are you going to turn it off if that means it will no longer work??
-because I can’t use manual kernel patch like other system by forced use. issue here.
-If the Haswell-E patch has been compulsorily used, Haswell-E users may not have been able to use the custom patch at this time. This is because it is currently considered by Boolean for Haswell-E users.
 
You probably need KernelPM, it's needed on pretty much every machine I've ever seen. I've had multiple unlocked CPUs and unlocked mobo chipsets and almost all still had locked MSR 0xE2. That's because it's a write-once bit, and firmware almost always writes this bit when initializing, it's only cleared by reset.
-you are right. When I tested it, I showed different results for each system.
 
That's ridiculous, it's using the exact same patch. You're just doing something wrong man. There's no reason that the patch works for others, and only a manual patch works for you. Also you need to use all the patches together, you can't just choose some of them, they work together. So saying you tried each one by one, is at best misguided.
-I know. But it’s report to confirm bug where is happen.
-I know I need to use all the patches to boot. This is not a boot issue. When you insert each patch, you can see problems with UUID errors and driver loading problems even if you just check the kernel log with -v.
-In other words, All current Pentium users should remove all kernel patches after release official clover package. This is the part I have seen. As a result, forced use will cause problems for previous users (including myself) and they will not be able to use personal kernel patches.
 
thanks in advance

Actually as far as I know there is no way to get the classic dmesg kernel log other than watching the kernel verbose boot.  You may find bits and pieces from the logs found in /var/logs or the console app in utilities but you won't find these type of messages displayed in a neat organized way that dmesg use to display them unless I am looking in the wrong places?

For a much easier way to see the Mac log, please use maclog(http://www.insanelymac.com/forum/topic/319998-get-system-log-from-1012-much-much-easierby-just-a-simply-click/?hl=%2Bmaclog&do=findComment&comment=2346366)

 

syscl

Hello @apiant Haswell-E also has some issues: need add some patches manually. I will try to improve it once Celeron/Pentium on Skylake+ issue fixed :).

 

 

@Sherlocks Thank you for detail information. You said KernelPM still need on you Pentium right? But you said you have patched MSR 0xE2 lock...On MSI H87M-G43(unlocked MSR 0xE2 manually), I never use KernelPM=True. I will made a new Clover for you to see if it works!

 

Edited: @apiant pointed out your MSR 0xE2 still locked(clear 15bit at boot), need KernelPM unconditionally in this case.

 

syscl

  • Like 1

For a much easier way to see the Mac log, please use maclog(http://www.insanelymac.com/forum/topic/319998-get-system-log-from-1012-much-much-easierby-just-a-simply-click/?hl=%2Bmaclog&do=findComment&comment=2346366)

 

syscl

 

Hello @apiant Haswell-E also has some issues: need add some patches manually. I will try to improve it once Celeron/Pentium on Skylake+ issue fixed :).

 

 

@Sherlocks Thank you for detail information. You said KernelPM still need on you Pentium right? But you said you have patched MSR 0xE2 lock...On MSI H87M-G43(unlocked MSR 0xE2 manually), I never use KernelPM=True. I will made a new Clover for you to see if it works!

 

Edited: @apiant pointed out your MSR 0xE2 still locked(clear 15bit at boot), need KernelPM unconditionally in this case.

 

syscl

Okay i want to consider boolean HSWLowEnd after apianti say. Because never use custom kernel patch with force use. I reported this true in detail

 

I think kernelPM is good. No need to consider auto patch. On some system, no need it but other system need kernel patch. Its not clear.

My skylake desktop(no patch 0xE02 in bios.vanilla) - no need kernelpm

My skylake laptop(vanilla bios) - need kernelpm

 

나의 LG-F800S 의 Tapatalk에서 보냄

Okay i want to consider boolean HSWLowEnd after apianti say. Because never use custom kernel patch with force use. I reported this true in detail

 

I think kernelPM is good. No need to consider auto patch. On some system, no need it but other system need kernel patch. Its not clear.

My skylake desktop(no patch 0xE02 in bios.vanilla) - no need kernelpm

My skylake laptop(vanilla bios) - need kernelpm

 

나의 LG-F800S 의 Tapatalk에서 보냄

@Sherlocks and @apanti

 

I found out the bug that @Sherlocks encounter, now add or remove kernel patches behave the same. I am now going to add some more improvement inside it then push it to source forge.

 

Thank you,

syscl

@Sherlocks and @apanti

 

I found out the bug that @Sherlocks encounter, now add or remove kernel patches behave the same. I am now going to add some more improvement inside it then push it to source forge.

 

Thank you,

syscl

Yes. Surely has bug. We dont need to consider more complex situation according to users's kernel patch.

I recommend boolean method to avoid complex situation to debug kernel patch. Anyway we can't correctly debug problem if force HSWLowEnd patch

 

나의 LG-F800S 의 Tapatalk에서 보냄

Yes. Surely has bug. We dont need to consider more complex situation according to users's kernel patch.

I recommend boolean method to avoid complex situation to debug kernel patch. Anyway we can't correctly debug problem if force HSWLowEnd patch

 

나의 LG-F800S 의 Tapatalk에서 보냄

Actually you can add DBG(...) manually and set time interval while debugging... 

 

syscl

Actually you can add DBG(...) manually and set time interval while debugging...

 

syscl

I know. I dont mention DBG method.

Sorry for my english.

You just add kernel patch on 4137. Then see clover behavior with kernel log. Already i tested enough to check this true. I like to find bug and report

 

Yeah basic code is good and working now if remove all.

 

But

1. If user has kernel patch in config.plist

2. has Bootarg 'xcpm'

3. Dont want to instant reboot patch.

 

This case if user want to use kernel patch.

 

After has this code, we have to remove all and cant debug any kernel patch in config.plist then cant see that is works or not. Because clover force use HSWLowEnd patch on all pentium and celeron.

 

Like HaswellE patch, just support boolean method. If user want it, just check on config.plist or GUI. Too easy method.

Sorry repeat but just suggest it.

 

 

 

 

 

나의 LG-F800S 의 Tapatalk에서 보냄

I know. I dont mention DBG method.

Sorry for my english.

You just add kernel patch on 4137. Then see clover behavior with kernel log. Already i tested enough to check this true. I like to find bug and report

 

Yeah basic code is good and working now if remove all.

 

But

1. If user has kernel patch in config.plist

2. has Bootarg 'xcpm'

3. Dont want to instant reboot patch.

 

This case if user want to use kernel patch.

 

After has this code, we have to remove all and cant debug any kernel patch in config.plist then cant see that is works or not. Because clover force use HSWLowEnd patch on all pentium and celeron.

 

Like HaswellE patch, just support boolean method. If user want it, just check on config.plist or GUI. Too easy method.

Sorry repeat but just suggest it.

 

 

 

 

 

나의 LG-F800S 의 Tapatalk에서 보냄

I've committed r4138, now no matter you add kernel patches or not, the code should work fine.

 

As your questions, kernel patches are all applied conditionally, if people use new version of system(e.g. 10.14+), old patches won't be applied until developers add new patches inside it. So haswell+ low-end kernel related patches will be safe. 

 

About add -xcpm on 10.12.x this argument is useless, so no matter add -xcpm or not, it's not a big deal.

 

Tell me if I miss some points. 

 

Thank you,

syscl

  • Like 1

@sherlocks,

 

I misunderstood, you meant remove your patches from your config. I thought you were advocating against removing the patches from source for automatically. Also there is no reason for patches that are required to be boolean enabled, it causes the user to figure out why they are having a problem. I have two major issues with the source as it's evolved, expecting too much of the user with things that don't even need to be brought to their attention and that the GUI was terrible but has gotten way worse over time. Ever get stuck in a reboot loop from changing an option in the menu? Because I have, more than once...

 

@syscl,

 

You're on the right path, as I said before the only change really need to be made was for < 10.11.6 which is just adding that argument apparently, so I'm sure you can just add it when it detects these CPUs and the patches should still be cool because they should be a unique pattern that won't be found in a kernel not needing patched (or the patch should be made longer to be unique). And in fact please do remove the boolean for Haswell-E and detect it instead. There's no point in the user needing to turn it off. Also maybe switch these types of built in patches to use the kernel/kext patching interface that already exists so that they are debugged as sherlocks and others probably expects.

  • Like 1

I've committed r4138, now no matter you add kernel patches or not, the code should work fine.

 

As your questions, kernel patches are all applied conditionally, if people use new version of system(e.g. 10.14+), old patches won't be applied until developers add new patches inside it. So haswell+ low-end kernel related patches will be safe. 

 

About add -xcpm on 10.12.x this argument is useless, so no matter add -xcpm or not, it's not a big deal.

 

Tell me if I miss some points. 

 

Thank you,

syscl

 

May i try  r4138 if you put it. ^_^

@sherlocks,

 

I misunderstood, you meant remove your patches from your config. I thought you were advocating against removing the patches from source for automatically. Also there is no reason for patches that are required to be boolean enabled, it causes the user to figure out why they are having a problem. I have two major issues with the source as it's evolved, expecting too much of the user with things that don't even need to be brought to their attention and that the GUI was terrible but has gotten way worse over time. Ever get stuck in a reboot loop from changing an option in the menu? Because I have, more than once...

 

@syscl,

 

You're on the right path, as I said before the only change really need to be made was for < 10.11.6 which is just adding that argument apparently, so I'm sure you can just add it when it detects these CPUs and the patches should still be cool because they should be a unique pattern that won't be found in a kernel not needing patched (or the patch should be made longer to be unique). And in fact please do remove the boolean for Haswell-E and detect it instead. There's no point in the user needing to turn it off. Also maybe switch these types of built in patches to use the kernel/kext patching interface that already exists so that they are debugged as sherlocks and others probably expects.

HaswellE BroadwellE xcpm patches not completed. If always use forced use, happen another issue. There is that need to consider many facts for stable system.

 

Now low frequency and high performance issue on some cpu(broadwellE). I received feedback from user. And confirmed. Why always have forced use for only user? It is consider only user. Not consider developer and debug. Why we cant have chance like before? At least need to disable forced use... Or turn off option. Developer or coder cant find more correct problem to trace each patches on kernel patch part in config.plist.

 

Summary

4133 and lower

1. User and developer and coder have oppertunity that can use patch or not from check it on KextandKernelPatches in config.plist

 

4134 and over

1. No chance. Because always forced use.

2. Only consider user. Not consider coder and developer for kernel dev or find pattern to confirm works or check stable system.

 

Just one of reason that add one line in gui? Hmm...

 

나의 LG-F800S 의 Tapatalk에서 보냄

  • Like 1

I don't think any patch should be mandatory except InjectKext stuffs. (There's even also a boolean for that, isn't it)

 

By the way, looks like with syscl's latest code, if os_version == 10.11.6 && use_xcpm_idle = TRUE then the function will return false. (Due to unsupported macOS 10.11)

your log is wrong both old and new. because your config.plist has dummy option and not clear.

if have problem like you, all clover users has problem. as result, this case include only you.

 

try this with clover r4128. and please upload full log.

once again, this is not clover bug.

 

need to move this discussion to general discussion thread.

Sherlocks, YOU ARE AWESOME!!! It worked! Thank you!

Hello, 

 

I've added a new function EnableExtCpuXCPM() for unsupported Cpu to enable XCPM support on r4140. Till now only Broadwell-E/EP has been added, more support will be added later on. 

 

The major problem for me now is that I don't have Broadwell-E/EP platform to test if all the related patches works or not. It's an initial version to enable XCPM on this CPUs.

 

@apanti, since now copious amount of CPUs related patches will be added(Haswell-E, IVY-E, ...), @Sherlocks suggestion may make sense. Can we a boolean key that can disable the execution of EnableExtCpuXCPM? Like a boolean key DisableExtCpuXCPM for people want to disable this feature. We can replace Haswell-E with DisableExtCpuXCPM.

 

Here's a prebuilt version of r4140

r4140.zip

 

Wait for your reports :)

 

syscl

  • Like 1

Hello,

 

I've added a new function EnableExtCpuXCPM() for unsupported Cpu to enable XCPM support on r4140. Till now only Broadwell-E/EP has been added, more support will be added later on.

 

The major problem for me now is that I don't have Broadwell-E/EP platform to test if all the related patches works or not. It's an initial version to enable XCPM on this CPUs.

 

@apanti, since now copious amount of CPUs related patches will be added(Haswell-E, IVY-E, ...), @Sherlocks suggestion may make sense. Can we a boolean key that can disable the execution of EnableExtCpuXCPM? Like a boolean key DisableExtCpuXCPM for people want to disable this feature. We can replace Haswell-E with DisableExtCpuXCPM.

 

Here's a prebuilt version of r4140

attachicon.gifr4140.zip

 

Wait for your reports :)

 

syscl

Now i say last.

Xcpm patches not completed(not perfect).

Low freq and high performance issue that i mentioned It means each kernel patches need to check confirm on each user system.

 

Why should force use this xcpm patch? There is no choice now. It causes to comfuse situtation. This is not best way. Also not clear for stable system. Also cant minimize patches. Never

 

I dont understand it.

 

나의 LG-F800S 의 Tapatalk에서 보냄

Now i say last.

Xcpm patches not completed(not perfect). It means each kernel patches need to check confirm on each user system.

 

Why should force use this xcpm patch? There is no choice now. It causes to comfuse situtation. This is not best way. Also not clear for stable system. Also cant minimize patches. Never

 

I dont understand it.

 

나의 LG-F800S 의 Tapatalk에서 보냄

@Sherlocks there will be an option called DisableExtCpuXCPM to disable all this patches with one boolean key. Will add it.

 

By the way, if new system doesn't contain specific patches, then SearchAndReplace will not replace non-exist pattern which means it will be safe on newer system.. 

 

I will add the boolean key for users who don't want the force patch...But I need finish this patch first..

 

Thank you,

syscl

×
×
  • Create New...