Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

Please try the following Clover(r4136) without any Celeron patches and without "-xcpm" argument. 

attachicon.gifr4136.zip

 

Wait for your report.

 

syscl

 

i tested skylake pentium system today. should be disable all kernel patch that add by me. without disable. i never boot osx, also shown strange kernel bug log.

 

i'm not recommend that force pentium series usage patch r4134 and 4136. i never use manual patch(kernel patch and anythig) on 4136. i think better boolen method on kernelandkextpatches like dellsmbiospatch.

because i can't catch exact reason about bug.

also i first see randomly panic.

  • Like 1
Link to comment
Share on other sites

i tested skylake pentium system today. should be disable all kernel patch that add by me. without disable. i never boot osx, also shown strange kernel bug log.

 

i'm not recommend that force pentium series usage patch r4134 and 4136. i never use manual patch(kernel patch and anythig) on 4136. i think better boolen method on kernelandkextpatches like dellsmbiospatch.

because i can't catch exact reason about bug.

also i first see randomly panic.

Yes, that's why I added patches for Skylake Celeron/Pentium on r4137: Apply MSR 0xE2 _xcpm_idle conditionally.

 

Edit: With this patch(r4137) @Sherlocks reported Skylake Pentium booted without problems. 

 

syscl

  • Like 1
Link to comment
Share on other sites

That's cool but why do you need to add a key for a patch that must be done for specific CPUs? Why not just perform the patch when those CPUs are detected? First detect check the cpuid, then the cpu description string, and finally cpu features (this stuff is all detected on start, you'd only need to check it). This will allow you to determine CPUs that need said patch. There are becoming way too many config keys that do stuff that could just be done by detection....

Force use is not good for debug. I see clover doesnt use force patch about kernel and kexts. Almost findandreplace and boolean method to minimize patch and stable system according to system. Now never get oppertunity disable this patch.

 

I prefer manual patch on kernel patch part in config.plist for debug and checking system behavior.

 

I suggest boolean method like kernelhaswelle patch.

 

나의 LG-F800S 의 Tapatalk에서 보냄

 

EDIT1.

8bbe9a1b8b05adccefaefaa7c6d8dfa5.jpg

 

Here. I never use any manual kernel patch. Cause problem

  • Like 1
Link to comment
Share on other sites

i tested skylake pentium system today. should be disable all kernel patch that add by me. without disable. i never boot osx, also shown strange kernel bug log.

 

i'm not recommend that force pentium series usage patch r4134 and 4136. i never use manual patch(kernel patch and anythig) on 4136. i think better boolen method on kernelandkextpatches like dellsmbiospatch.

because i can't catch exact reason about bug.

also i first see randomly panic.

 

 

 

For me Clover 4136 works on

- High Sierra

- Maverick

 

without any Kernel patch and FakeCpuid on config.plist : no KP

But i have not removed my SSDT.aml on ACPI/Patched

 

For me it works.

  • Like 1
Link to comment
Share on other sites

@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

post-950366-0-53570300-1501869751_thumb.jpeg

2. KHSWLowEndPatch() works correctly

post-950366-0-22508900-1501869870_thumb.jpeg

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

post-950366-0-43507400-1501869901_thumb.jpeg

4. XCPM load correctly

post-950366-0-93405900-1501869912_thumb.jpeg

5. 10.12.6 - installer boot argument

post-950366-0-49751200-1501870742_thumb.jpeg

6. 10.12.6 - KHSWLowEndPatch(): _bootstrap, _cpu_info

post-950366-0-52783600-1501870753_thumb.jpeg

7. 10.12.6 installer - XCPM-OK

post-950366-0-71798300-1501870805_thumb.jpeg

 

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

 

syscl

  • Like 1
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

@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
Link to comment
Share on other sites

@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에서 보냄

Link to comment
Share on other sites

@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
Link to comment
Share on other sites

@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에서 보냄

Link to comment
Share on other sites

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
Link to comment
Share on other sites

@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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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에서 보냄

Link to comment
Share on other sites

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

Link to comment
Share on other sites

@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에서 보냄

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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에서 보냄

Link to comment
Share on other sites

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
Link to comment
Share on other sites

@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
Link to comment
Share on other sites

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. ^_^

Link to comment
Share on other sites

@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
Link to comment
Share on other sites

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)

Link to comment
Share on other sites

×
×
  • Create New...