SavageAUS Posted August 3, 2017 Share Posted August 3, 2017 One your duallink set 1. Get log Two remove duallinl on config.plist. get log Thanks in advance 나의 LG-F800S 의 Tapatalk에서 보냄 bootlog.log.duallink.txt bootlog.log.txt Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473562 Share on other sites More sharing options...
Sherlocks Posted August 3, 2017 Share Posted August 3, 2017 One your duallink set 1. Get log Two remove duallinl on config.plist. get log Thanks in advance 나의 LG-F800S 의 Tapatalk에서 보냄 Why you use duallink 1? 나의 LG-F800S 의 Tapatalk에서 보냄 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473564 Share on other sites More sharing options...
SavageAUS Posted August 3, 2017 Share Posted August 3, 2017 Why you use duallink 1? 나의 LG-F800S 의 Tapatalk에서 보냄 Isn't that what you wanted to test? Sent from my SM-G930F using Tapatalk Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473571 Share on other sites More sharing options...
Sherlocks Posted August 3, 2017 Share Posted August 3, 2017 Isn't that what you wanted to test? Sent from my SM-G930F using Tapatalk For test, set 1 log is fine.On r4131, remove duallink on config.plist, then get log? Clover can read resolution on your system. I recommend remove duallink on your config. Then clover automately detect duallink. 나의 LG-F800S 의 Tapatalk에서 보냄 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473573 Share on other sites More sharing options...
apianti Posted August 3, 2017 Share Posted August 3, 2017 Hello guys, long time no see! It has been a while that I haven't had enough time to pull some changes to Clover. I have made a new change for Intel Haswell low-end CPU, especially for Haswell Pentiumn and Celeron and newer platforms. Here's the change I made based on the latest r4131. And a new boolean key KernelHSWLowEndPatch has been introduced in KernelAndKextPatches section. Requirement: CPU: Haswell Pentium/Celeron or newer Intel low-end process Advantages: No need to inject FakeCPUID manually No need to add kernel patches manually(clean config.plist) Automatically applying HWP speedshift for Skylake and newer process © syscl Here's the code I've changed, and a prebuilt version of CLOVERX64.eft based on r4131 Credit also: Pike R.Alpha, Sherlocks, stinga11, vit9696, slice Thanks in advance, syscl 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.... 2 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473576 Share on other sites More sharing options...
SavageAUS Posted August 3, 2017 Share Posted August 3, 2017 For test, set 1 log is fine. On r4131, remove duallink on config.plist, then get log? Clover can read resolution on your system. I recommend remove duallink on your config. Then clover automately detect duallink. 나의 LG-F800S 의 Tapatalk에서 보냄 I did post a log without duallink 1 in config.plist. It's the one that just says bootlog. Sent from my SM-G930F using Tapatalk Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473579 Share on other sites More sharing options...
Sherlocks Posted August 3, 2017 Share Posted August 3, 2017 I did post a log without duallink 1 in config.plist. It's the one that just says bootlog. Sent from my SM-G930F using Tapatalk Log Without duallink shown r4097.... 나의 LG-F800S 의 Tapatalk에서 보냄 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473583 Share on other sites More sharing options...
SavageAUS Posted August 3, 2017 Share Posted August 3, 2017 Log Without duallink shown r4097.... 나의 LG-F800S 의 Tapatalk에서 보냄 My bad. bootlog.log.txt Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473585 Share on other sites More sharing options...
Sherlocks Posted August 3, 2017 Share Posted August 3, 2017 My bad. bootlog.log.txt okay. duallink is good. all confirmed. thanks for log. Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473592 Share on other sites More sharing options...
SavageAUS Posted August 3, 2017 Share Posted August 3, 2017 okay. duallink is good. all confirmed. thanks for log. Your welcome, So leave duallink as it is? blank. Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473595 Share on other sites More sharing options...
Sherlocks Posted August 3, 2017 Share Posted August 3, 2017 Your welcome, So leave duallink as it is? blank. i recommend removed duallink for various situation on config.plist if you have problem that clover can't read correct resolution on some system(replace LCD screen hardware for high resolution), at time, you try to use duallink option. check link 1 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473598 Share on other sites More sharing options...
syscl Posted August 3, 2017 Share Posted August 3, 2017 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.... Thank you, I will do this change and upload it. Base on @apianti suggestion, I remove the setting section in CloverGUI and added auto detection for Haswell+ Celeron/Pentium, no more settings are required. Now Clover can make Pentium and Celeron work without any additional patches! Here's the source and prebuilt Clover src_and_bin.zip @Sherlocks @Slice @vandroiy2012 @stinga11 please give the latest change a try on Celeron/Pentium(>= Haswell), thank you! Have a good day, syscl 6 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473612 Share on other sites More sharing options...
Funky frank Posted August 3, 2017 Share Posted August 3, 2017 Please, how do I enable 1920x1080 resolution in clover for geforce 1050ti? Pretty please! Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473643 Share on other sites More sharing options...
PMheart Posted August 3, 2017 Share Posted August 3, 2017 Thank you, I will do this change and upload it. Base on @apianti suggestion, I remove the setting section in CloverGUI and added auto detection for Haswell+ Celeron/Pentium, no more settings are required. Now Clover can make Pentium and Celeron work without any additional patches! Here's the source and prebuilt Clover src_and_bin.zip @Sherlocks @Slice @vandroiy2012 @stinga11 please give the latest change a try on Celeron/Pentium(>= Haswell), thank you! Have a good day, syscl Hi, I think for 10.11 or earlier versions of OS X, -xcpm boot-args should also be added to enable XCPM. (Or patch _xcpm_bootstrap() as well) And unsupported MSRs might be problematic... (Instant reboot or so) Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473645 Share on other sites More sharing options...
apianti Posted August 3, 2017 Share Posted August 3, 2017 Thank you, I will do this change and upload it. Base on @apianti suggestion, I remove the setting section in CloverGUI and added auto detection for Haswell+ Celeron/Pentium, no more settings are required. Now Clover can make Pentium and Celeron work without any additional patches! Here's the source and prebuilt Clover @Sherlocks @Slice @vandroiy2012 @stinga11 please give the latest change a try on Celeron/Pentium(>= Haswell), thank you! Have a good day, syscl This looks good, has there been a lot of testing of this? I can commit the changes for you (that may take a minute as I am just now getting set back up) but I could also make you a developer on the project and you can commit the changes yourself, if you'd like. Let me know but if you do want to be added, just please don't go crazy lol. EDIT: I went ahead and committed the changes to revision 4134 but still let me know if you want added, in case you want to make additional changes or add other nice features. Hi, I think for 10.11 or earlier versions of OS X, -xcpm boot-args should also be added to enable XCPM. (Or patch _xcpm_bootstrap() as well) And unsupported MSRs might be problematic... (Instant reboot or so) That's what this is doing: if (os_version < AsciiOSVersionToUint64("10.8.5")) { DBG("Haswell+ CPU requires macOS version at least 10.8.5, aborted\n"); DBG("KernelHSWLowEndPatch() <===FALSE\n"); return FALSE; } /** * _xcpm_bootstrap - IvyBridge (c) Pike R.Alpha */ DBG("Searching _xcpm_bootstrap...\n"); if (os_version <= AsciiOSVersionToUint64("10.12.5")) { else if (os_version >= AsciiOSVersionToUint64("10.12.6") && os_version < AsciiOSVersionToUint64("10.13")) { else if (os_version >= AsciiOSVersionToUint64("10.13") && os_version < AsciiOSVersionToUint64("10.14")){ 3 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473721 Share on other sites More sharing options...
PMheart Posted August 3, 2017 Share Posted August 3, 2017 This looks good, has there been a lot of testing of this? I can commit the changes for you (that may take a minute as I am just now getting set back up) but I could also make you a developer on the project and you can commit the changes yourself, if you'd like. Let me know but if you do want to be added, just please don't go crazy lol. EDIT: I went ahead and committed the changes to revision 4134 but still let me know if you want added, in case you want to make additional changes or add other nice features. That's what this is doing: if (os_version < AsciiOSVersionToUint64("10.8.5")) { DBG("Haswell+ CPU requires macOS version at least 10.8.5, aborted\n"); DBG("KernelHSWLowEndPatch() <===FALSE\n"); return FALSE; } /** * _xcpm_bootstrap - IvyBridge (c) Pike R.Alpha */ DBG("Searching _xcpm_bootstrap...\n"); if (os_version <= AsciiOSVersionToUint64("10.12.5")) { else if (os_version >= AsciiOSVersionToUint64("10.12.6") && os_version < AsciiOSVersionToUint64("10.13")) { else if (os_version >= AsciiOSVersionToUint64("10.13") && os_version < AsciiOSVersionToUint64("10.14")){ Nope... You will only get something like if (bytes[i+0] == 0x83 && bytes[i+1] == 0xC3 && bytes[i+2] == 0xC4 && bytes[i+3] == 0x83 && bytes[i+4] == 0xFB && bytes[i+5] == 0x22) { on 10.12.0 - 10.12.5, as for earlier versions, you need to add -xcpm or find out the corresponding patches. And also. In case some MSRs are unsupported... Then it will trigger an instant reboot. Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473796 Share on other sites More sharing options...
apianti Posted August 3, 2017 Share Posted August 3, 2017 Nope... You will only get something like if (bytes[i+0] == 0x83 && bytes[i+1] == 0xC3 && bytes[i+2] == 0xC4 && bytes[i+3] == 0x83 && bytes[i+4] == 0xFB && bytes[i+5] == 0x22) { on 10.12.0 - 10.12.5, as for earlier versions, you need to add -xcpm or find out the corresponding patches. And also. In case some MSRs are unsupported... Then it will trigger an instant reboot. Nah, you are misreading what's happening: if (bytes[i+0] == 0x83 && bytes[i+1] == 0xC3 && bytes[i+2] == 0xC4 && bytes[i+3] == 0x83 && bytes[i+4] == 0xFB && bytes[i+5] == 0x22) { // syscl - we found _xcpm_bootstrap DBG("Found _xcpm_bootstrap\n"); patchLocation = i + 2; break; } Then later: // now substitule it to fix _xcpm_bootstrap bytes[patchLocation] = 0xC6; DBG("Applied _xcpm_bootstrap patch\n"); See it's patching _xcpm_bootstrap. EDIT: It also patches _cpuid_set_info_rdmsr and MSR 0xE2 _xcpm_idle instant reboot. EDIT2: Would be best to just get some tests and see if it works or not, but it looks like it will work. Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473808 Share on other sites More sharing options...
PMheart Posted August 3, 2017 Share Posted August 3, 2017 Nah, you are misreading what's happening: if (bytes[i+0] == 0x83 && bytes[i+1] == 0xC3 && bytes[i+2] == 0xC4 && bytes[i+3] == 0x83 && bytes[i+4] == 0xFB && bytes[i+5] == 0x22) { // syscl - we found _xcpm_bootstrap DBG("Found _xcpm_bootstrap\n"); patchLocation = i + 2; break; } Then later: // now substitule it to fix _xcpm_bootstrap bytes[patchLocation] = 0xC6; DBG("Applied _xcpm_bootstrap patch\n"); See it's patching _xcpm_bootstrap. This will be applied to a system which >= 10.8.5 && <= 10.12.5, right? I mean, 83 c3 c4 83 fb 22 is only there on 10.12.0 - 10.12.5, so earlier versions of OS X like 10.11 will still stay in the lack of XCPM. (Cuz not patched) Entry->KernelAndKextPatches->FakeCPUID = (UINT32)(0x0306A0); // correct FakeCPUID KernelCPUIDPatch((UINT8*)KernelData, Entry); More catastrophically. This will trigger AICPUPM loading (due to this Ivy Bridge CPU ID), and Haswell+ Celeron/Pentium is not supported by AICPUPM, which will lead to AICPUPM KP. So... On <= 10.11 systems there will be a KP with this code I guess. Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473810 Share on other sites More sharing options...
syscl Posted August 3, 2017 Share Posted August 3, 2017 This looks good, has there been a lot of testing of this? I can commit the changes for you (that may take a minute as I am just now getting set back up) but I could also make you a developer on the project and you can commit the changes yourself, if you'd like. Let me know but if you do want to be added, just please don't go crazy lol. EDIT: I went ahead and committed the changes to revision 4134 but still let me know if you want added, in case you want to make additional changes or add other nice features. That's what this is doing: if (os_version < AsciiOSVersionToUint64("10.8.5")) { DBG("Haswell+ CPU requires macOS version at least 10.8.5, aborted\n"); DBG("KernelHSWLowEndPatch() <===FALSE\n"); return FALSE; } /** * _xcpm_bootstrap - IvyBridge (c) Pike R.Alpha */ DBG("Searching _xcpm_bootstrap...\n"); if (os_version <= AsciiOSVersionToUint64("10.12.5")) { else if (os_version >= AsciiOSVersionToUint64("10.12.6") && os_version < AsciiOSVersionToUint64("10.13")) { else if (os_version >= AsciiOSVersionToUint64("10.13") && os_version < AsciiOSVersionToUint64("10.14")){ OK! Yes I want to add more changes. I will commit more change and add xcpm for 10.10.x and 10.11.x as well. I need some test once I finish. Anyway, your idea is good, and I will try to give it more improvement! Have a nice day, syscl Hi, I think for 10.11 or earlier versions of OS X, -xcpm boot-args should also be added to enable XCPM. (Or patch _xcpm_bootstrap() as well) And unsupported MSRs might be problematic... (Instant reboot or so) Yes, I was thinking of adding -xcpm for 10.10.x-10.11.x, and at the first, we need to commit the first change. Then we can do the following change(e.g. -xcpm enforce for Haswell+ Celeron/Pentium...) Thank you, syscl 1 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473814 Share on other sites More sharing options...
PMheart Posted August 3, 2017 Share Posted August 3, 2017 Yes, I was thinking of adding -xcpm for 10.10.x-10.11.x, and at the first, we need to commit the first change. Then we can do the following change(e.g. -xcpm enforce for Haswell+ Celeron/Pentium...) Thank you, syscl With your code I guess there will be a KP on 10.8.5 - 10.11.x due to AICPUPM unsupported and XCPM not enabled/patched. So for now should we change something like: (See attachment below) kernel_patcher.c.zip Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473817 Share on other sites More sharing options...
apianti Posted August 3, 2017 Share Posted August 3, 2017 This will be applied to a system which >= 10.8.5 && <= 10.12.5, right? I mean, 83 c3 c4 83 fb 22 is only there on 10.12.0 - 10.12.5, so earlier versions of OS X like 10.11 will still stay in the lack of XCPM. (Cuz not patched) Entry->KernelAndKextPatches->FakeCPUID = (UINT32)(0x0306A0); // correct FakeCPUID KernelCPUIDPatch((UINT8*)KernelData, Entry); More catastrophically. This will trigger AICPUPM loading (due to this Ivy Bridge CPU ID), and Haswell+ Celeron/Pentium is not supported by AICPUPM, which will lead to AICPUPM KP. So... On <= 10.11 systems there will be a KP with this code I guess. Oh, I misunderstood you. Is there even a known patch for this? This patch came out for 10.11.6, which is pretty much the beginning of 10.12, so it has that sequence. Did you actually check < 10.11.6? OK! Yes I want to add more changes. I will commit more change and add xcpm for 10.10.x and 10.11.x as well. I need some test once I finish. Anyway, your idea is good, and I will try to give it more improvement! Have a nice day, syscl Yes, I was thinking of adding -xcpm for 10.10.x-10.11.x, and at the first, we need to commit the first change. Then we can do the following change(e.g. -xcpm enforce for Haswell+ Celeron/Pentium...) Thank you, syscl I committed your last changes already to revision 4134. What is your sourceforge username and I will add you to the dev team for the repo. 2 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473837 Share on other sites More sharing options...
PMheart Posted August 3, 2017 Share Posted August 3, 2017 Oh, I misunderstood you. Is there even a known patch for this? This patch came out for 10.11.6, which is pretty much the beginning of 10.12, so it has that sequence. Did you actually check < 10.11.6? Well, this became popular because Apple removed -xcpm support as of 10.12 and at that time Pike found some helpful patches. As for 10.8.5+ && 10.11- I think the best way is adding -xcpm kernel flag instead of patching something. There will be for sure some similar patches, but I'm just too lazy to find that out. (And also lack of disassembly environment for the time being...) By the way, could you please commit my new kernel_patcher.c to prevent KP on 10.11- systems if the code looks good? Thanks in advance. Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473838 Share on other sites More sharing options...
syscl Posted August 3, 2017 Share Posted August 3, 2017 With your code I guess there will be a KP on 10.8.5 - 10.11.x due to AICPUPM unsupported and XCPM not enabled/patched. So for now should we change something like: (See attachment below) kernel_patcher.c.zip 10.11- is supported and 10.10 is supported w/o _bootstrap patch. I've posted a guide about that very long time ago. Difference is we need to applied -xcpm for 10.11- manually. We can do it by passing the argument "-xcpm" while we detect Haswell+ Celeron/Pentium on 10.11-. On 10.12.x and newer, we need _bootstrap patches to stop kernel panics. FYI, I've tested Clover r4134 on my MSI H87m-G41 + Celeron G1840(Haswell Refresh) flawlessly. I will test 10.10 and older version once I download the old image. Thank you, syscl Oh, I misunderstood you. Is there even a known patch for this? This patch came out for 10.11.6, which is pretty much the beginning of 10.12, so it has that sequence. Did you actually check < 10.11.6? I committed your last changes already to revision 4134. What is your sourceforge username and I will add you to the dev team for the repo. As for 10.10-10.11, no need _bootstrap patches, only FakeCPUID and -xcpm is enough. That's why I am sure to make that change and put FakeCPUID at the beginning of KernelHSWLowEndPatch(...). On 10.12.x and later we need _bootstrap and _xcpm_idle patches to stop kernel panics on Haswell+ Celeron/Pentium. My username is syscl on sourceforge Thank you, syscl 2 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473841 Share on other sites More sharing options...
PMheart Posted August 3, 2017 Share Posted August 3, 2017 10.11- is supported and 10.10 is supported w/o _bootstrap patch. I've posted a guide about that very long time ago. Difference is we need to applied -xcpm for 10.11- manually. We can do it by passing the argument "-xcpm" while we detect Haswell+ Celeron/Pentium on 10.11-. On 10.12.x and newer, we need _bootstrap patches to stop kernel panics. FYI, I've tested Clover r4134 on my MSI H87m-G41 + Celeron G1840(Haswell Refresh) flawlessly. I will test 10.10 and older version once I download the old image. Thank you, syscl Hmm, well, will there be a KP w/o XCPM but with AICPUPM? (AICPUPM is invoked by FakeCPUID = 0x306A0) If so, on 10.11- your code may lead to a KP, because FakeCPUID = 0x306A0 has been set, and AICPUPM loads on unsupported Haswell Pentium/Celeron. (-xcpm not set, therefore no XCPM support but AICPUPM, and it is unsupported, then a KP occurs) Please try booting 10.11 with Clover 4134, without -xcpm flag. In case a KP really happens... Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473844 Share on other sites More sharing options...
Sherlocks Posted August 3, 2017 Share Posted August 3, 2017 10.11- is supported and 10.10 is supported w/o _bootstrap patch. I've posted a guide about that very long time ago. Difference is we need to applied -xcpm for 10.11- manually. We can do it by passing the argument "-xcpm" while we detect Haswell+ Celeron/Pentium on 10.11-. On 10.12.x and newer, we need _bootstrap patches to stop kernel panics. FYI, I've tested Clover r4134 on my MSI H87m-G41 + Celeron G1840(Haswell Refresh) flawlessly. I will test 10.10 and older version once I download the old image. Thank you, syscl your are right. 10.11 and older FakeCPUID 0x0306A0 bootarg "-xcpm" kernel pm(if hasn't msr patch in bios) 10.12 and newer FakeCPUID 0x0306A0 _bootstrap C6 _cpuid_set_info_rdmsr kernel pm(if hasn't msr patch in bios) actually i don't need MSR 0xE2 _xcpm_idle instant reboot on my skylake pentium. but i think that want to use hwp, maybe need it. sorry my english. 2 Link to comment https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page/553/#findComment-2473849 Share on other sites More sharing options...
Recommended Posts