Jump to content

PMheart

Coders
  • Content Count

    1,013
  • Joined

  • Last visited

  • Days Won

    26

Reputation Activity

  1. Like
    PMheart got a reaction from ITzTravelInTime in [pre-release] macOS Big Sur in VMWare   
    Hello,
     
    I am sorry that I might be unable to help, if OpenCore fails to load kexts...
     
    PMheart
  2. Like
    PMheart got a reaction from ITzTravelInTime in [pre-release] macOS Big Sur in VMWare   
    Hello,
     
    I am sorry that I might be unable to help, if OpenCore fails to load kexts...
     
    PMheart
  3. Like
    PMheart got a reaction from ITzTravelInTime in [pre-release] macOS Big Sur in VMWare   
    Hello,
     
    I am sorry that I might be unable to help, if OpenCore fails to load kexts...
     
    PMheart
  4. Like
    PMheart reacted to gengik84 in [pre-release] macOS Big Sur in VMWare   
    First beta... build 20A4299v 
     
    Useful information:
    macOSDeveloperBetaAccessUtility.dmg.zip How to install macOS Big Sur on PC | Macintosh | Hackintosh
  5. Like
    PMheart got a reaction from nmano in Lilu — kext and process patcher   
    That's amazing ! But now it's a little late... Time for some sleep. Will check later. 
     
    Sent from my iPhone 7 using Tapatalk
  6. Like
    PMheart got a reaction from nmano in OpenCore Discussion   
    Hi @obus and @fabiosun
     
    Could you please try if these two patches work? (which is supposed to perform the same thing as what FakeCPUID in Clover does)
     
    #1 Base: _cpuid_set_info Comment: FakeCPUID - Model 0xE (0x5E, SKL), 10.14 Count: 1 Enabled: YES Find: 89C1C0E904880D Identifier: kernel Limit: 0 Mask: (LEAVE THIS EMPTY) MatchKernel: 18. Replace: B90E000000880D ReplaceMask: (LEAVE THIS EMPTY) Skip: 0 #2 Base: _cpuid_set_info Comment: FakeCPUID - Ext 0x5 (0x5E, SKL), 10.14 Count: 1 Enabled: YES Find: 89C1C1E91080 Identifier: kernel Limit: 0 Mask: (LEAVE THIS EMPTY) MatchKernel: 18. Replace: B90500000080 ReplaceMask: (LEAVE THIS EMPTY) Skip: 0  
    Or this full Patch entry:
    <key>Kernel</key> <dict> <key>Patch</key> <array> <dict> <key>Base</key> <string>_cpuid_set_info</string> <key>Comment</key> <string>FakeCPUID - Model 0xE (0x5E, SKL), 10.14</string> <key>Count</key> <integer>1</integer> <key>Enabled</key> <true/> <key>Find</key> <data> icHA6QSIDQ== </data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data> </data> <key>MatchKernel</key> <string>18.</string> <key>Replace</key> <data> uQ4AAACIDQ== </data> <key>ReplaceMask</key> <data> </data> <key>Skip</key> <integer>0</integer> </dict> <dict> <key>Base</key> <string>_cpuid_set_info</string> <key>Comment</key> <string>FakeCPUID - Ext 0x5 (0x5E, SKL), 10.14</string> <key>Count</key> <integer>1</integer> <key>Enabled</key> <true/> <key>Find</key> <data> icHB6RCA </data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data> </data> <key>MatchKernel</key> <string>18.</string> <key>Replace</key> <data> uQUAAACA </data> <key>ReplaceMask</key> <data> </data> <key>Skip</key> <integer>0</integer> </dict> </array> </dict>  
    Note: Assuming that both of you are using and testing under 10.14, those 2 patches above were made based off 10.14.4 (18E226), for earlier versions, please send me the kernel and I will take a look.
  7. Like
    PMheart got a reaction from nmano in OpenCore Discussion   
    Hi,
     
    If what you need is 0x0106E3 in Clover, this is the equivalent for you:
    #1 Base: _cpuid_set_info Comment: FakeCPUID - Model 0xE (0x1E, Lynnfield), 10.14 Count: 1 Enabled: YES Find: 89C1C0E904880D Identifier: kernel Limit: 0 Mask: (LEAVE THIS EMPTY) MatchKernel: 18. Replace: B90E000000880D ReplaceMask: (LEAVE THIS EMPTY) Skip: 0 #2 Base: _cpuid_set_info Comment: FakeCPUID - Ext 0x1 (0x1E, Lynnfield), 10.14 Count: 1 Enabled: YES Find: 89C1C1E91080 Identifier: kernel Limit: 0 Mask: (LEAVE THIS EMPTY) MatchKernel: 18. Replace: B90100000080 ReplaceMask: (LEAVE THIS EMPTY) Skip: 0  
    Confirmed under 10.14.5 (18F132).
    Enjoy.
     
    PMheart
  8. Like
    PMheart got a reaction from mickenblue in Ivy-Bridge XCPM Kernelpatch for 10.12   
    Same here. 
    IVB too and enabled XCPM. All works fine now.
    BTW you can use an injector to fix X86PlatformPlugin. This will patch vanilla X86PP on the fly.
    AppleX86PlatformPluginInjector.kext.zip
    Notes:
    1. Put your patched [board-id].plist to ./AppleX86PlatformPluginInjector.kext/C*/R*
    2. Install AppleX86PlatformPluginInjector.kext to /L*/E* [Recommended] or /S*/L*/E*
    3. You can keep SIP in place. (Injector is not affected by SIP.)
     
    And I don't think to block all MSRs is a good way. Just do some experiments to find out which MSR(s) trigger the reboot and just block it(them). You can check this at https://pikeralpha.wordpress.com/2016/07/26/xcpm-for-unsupported-processor/comment-page-1/#comment-6301 (The byte values don't change so far, 16C60b.)
     
    Enjoy. 
     
    PMheart
  9. Like
    PMheart got a reaction from nmano in OpenCore Discussion   
    Should we rename OpenCorePkg to something like OpenCore instead?
    (not referring to the repo itself on GitHub, but this sub-forum)
  10. Like
    PMheart got a reaction from C.Frio in [Pre-Release] macOS Catalina 10.15.1   
    Hi,
     
    Sorry, I am afraid not. Apple has restricted the writing permission as of 10.15. `sudo mount -uw /` stopped working starting at certain beta as well...
     
    Ref: https://developer.apple.com/videos/play/wwdc2019/710/
     
    PMheart
    By the way, just a quick tip, I got Safari Preferences and Messages hang after downgrading to 10.15 (19A583) from 10.15.1 b1 (19B68f) on my real MacBook9,1.
     
    For this good please do not go back and currently I do not see any solutions other than upgrading to the upcoming b2. Furthermore, it is impossible to update to 10.15.1 b1 from 10.15 supplemental update (19A602).
  11. Like
    PMheart got a reaction from C.Frio in [Pre-Release] macOS Catalina 10.15.1   
    Hi,
     
    Sorry, I am afraid not. Apple has restricted the writing permission as of 10.15. `sudo mount -uw /` stopped working starting at certain beta as well...
     
    Ref: https://developer.apple.com/videos/play/wwdc2019/710/
     
    PMheart
    By the way, just a quick tip, I got Safari Preferences and Messages hang after downgrading to 10.15 (19A583) from 10.15.1 b1 (19B68f) on my real MacBook9,1.
     
    For this good please do not go back and currently I do not see any solutions other than upgrading to the upcoming b2. Furthermore, it is impossible to update to 10.15.1 b1 from 10.15 supplemental update (19A602).
  12. Like
    PMheart got a reaction from C.Frio in [Pre-Release] macOS Catalina 10.15.1   
    Hi,
     
    Sorry, I am afraid not. Apple has restricted the writing permission as of 10.15. `sudo mount -uw /` stopped working starting at certain beta as well...
     
    Ref: https://developer.apple.com/videos/play/wwdc2019/710/
     
    PMheart
    By the way, just a quick tip, I got Safari Preferences and Messages hang after downgrading to 10.15 (19A583) from 10.15.1 b1 (19B68f) on my real MacBook9,1.
     
    For this good please do not go back and currently I do not see any solutions other than upgrading to the upcoming b2. Furthermore, it is impossible to update to 10.15.1 b1 from 10.15 supplemental update (19A602).
  13. Like
    PMheart got a reaction from C.Frio in [Pre-Release] macOS Catalina 10.15.1   
    Hi,
     
    Sorry, I am afraid not. Apple has restricted the writing permission as of 10.15. `sudo mount -uw /` stopped working starting at certain beta as well...
     
    Ref: https://developer.apple.com/videos/play/wwdc2019/710/
     
    PMheart
    By the way, just a quick tip, I got Safari Preferences and Messages hang after downgrading to 10.15 (19A583) from 10.15.1 b1 (19B68f) on my real MacBook9,1.
     
    For this good please do not go back and currently I do not see any solutions other than upgrading to the upcoming b2. Furthermore, it is impossible to update to 10.15.1 b1 from 10.15 supplemental update (19A602).
  14. Sad
    PMheart got a reaction from STLVNUB in macOS Catalina 10.15 is out !!!   
    Same error here. I ended up with upgrading to 19A583 and manually downloading the archive from developer.apple.com/download/more...
  15. Sad
    PMheart got a reaction from STLVNUB in macOS Catalina 10.15 is out !!!   
    Same error here. I ended up with upgrading to 19A583 and manually downloading the archive from developer.apple.com/download/more...
  16. Like
    PMheart got a reaction from cicetto in Ivy-Bridge XCPM Kernelpatch for 10.12   
    First run
    ioreg -p IODeviceTree -d 2 -k board-id | grep board-id | sed -e 's/ *["=<>]//g' -e 's/board-id//' in Terminal. You will get something like this:
    Mac-F60DEB81FF30ACF6 This is your board-id. X86PlatformPlugin will read it.
    Locate to /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources, you will find various these kinds of plist. (e.g. Mac-F60DEB81FF30ACF6.plist )
    Make some modifications to it. For example. With freqVectorsEdit.sh.
    But the modified plist will be restored to vanilla one after system update. So you can put it/them inside AppleX86PlatformPluginInjector.kext/C*/R* and install it to /S/L/E or /L/E, and it will keep working after system update.
  17. Like
    PMheart got a reaction from hardcorehenry in OpenCore Discussion   
    Sorry for the late reply! Finally I got the point, thanks a lot!
     
    Oh, 0 vs 9 is not of vital significance as it stands for stepping, which is rather ignored by macOS.
  18. Like
    PMheart got a reaction from hardcorehenry in OpenCore Discussion   
    Sorry for my stupidness. I still didn't get it. Might you want to make this patch a quirk or?
  19. Like
    PMheart reacted to eritius in Help installing Mojave on Xeon W-2175 and Asus WS C422 mobo   
    I've been working with @vit9696 and @PMheart on adding better support for Xeon Scalable (Skylake-SP) CPUs to Open Core. So far, that means treating them as a Xeon W and properly calculating their CPU frequency based on their Always Running Timer (ART) which runs at 25 Mhz rather than 24 Mhz which every other Intel Skylake or later CPU uses.
     
    I also was finally able to get the Xeon Golds running without emulating or faking the CPUID and using the processors' native ID 0x050654. It turns out that XNU wants to have complete control over MSR 1AAh (MISC_PWR_MGMT). And like some other MSRs, it gets locked by the firmware. You can tell the MSR is locked if bit 13 (0x2000) is set. Looking at some of the MSR dumps in here, values like 0x403040 indicate that it's locked just like mine is. My motherboard had no BIOS settings to configure this lock, even hidden.
     
    Writing to that MSR when it is locked causes a panic. Faking the CPUID and other patches served to avoid this code but did more than that. Instead, I added a patch that removes any attempts by XNU to write to MISC_PWR_MGMT. If you compile the latest Open Core and enable AppleXcpmExtraMsrs, this patch will now be applied.
    https://github.com/acidanthera/OcSupportPkg/pull/12
     
    At the moment, XNU only writes to MISC_PWR_MGMT if the CPU is a Xeon W (or Scalable). It attempts to enable SpeedShift (set 0x40) and HWP (unset bit 0), which you can configure from your BIOS. If MISC_PWR_MGMT's low byte is set to 0x40, then you're already in the state that XNU is trying to achieve.
  20. Like
    PMheart got a reaction from gengik84 in OpenCore Discussion   
    One difference is that Clover handles ACPI modifications to macOS *ONLY*, while OC applies to all OS.
     
    You have to ensure the compatibility with every OS booted.
  21. Like
    PMheart got a reaction from cecekpawon in Clover General discussion   
    function abort() { echo "ERROR: ${1}" 1>&2 exit 1 } # # Get the latest release tag on GitHub. # # @param author Name of user/organization on GitHub # @param repo Repository belonging to the author # # @return latest tag of author/repo # function getGitHubLatestReleaseTag() { local author="$1" local repo="$2" if [ -z "${author}" ] || [ -z "${repo}" ]; then echo 'Author or repository is null!' 1>&2 exit 1 fi local url="https://api.github.com/repos/${author}/${repo}/releases" local tag="$(curl --silent "${url}" | grep 'tag_name' | head -n 1 | awk -F ":" '{print $2}' | tr -d '"' | tr -d ',' | tr -d ' ')" if [ -z "${tag}" ]; then abort "WARNING: Failed to retrieve latest tag of release from ${author}/${repo}." 1>&2 fi echo "${tag}" } # # Download a file from release page of author/repo. # # @param author Name of user/organization on GitHub # @param repo Repository belonging to the given author # @param tag Tag to search for, or null for latest # @param fileName Asset of the tag # function downloadGitHubRelease() { local author="$1" local repo="$2" local tag="$3" local fileName="$4" if [ -z "${author}" ] || [ -z "${repo}" ] || [ -z "${fileName}" ]; then abort 'Author/repository/file name is null!' fi if [ -z "${tag}" ]; then tag="$(getGitHubLatestReleaseTag "${author}" "${repo}")" fi local url="https://github.com/${author}/${repo}/releases/download/${tag}/${fileName}" curl --silent -L "${url}" -o "${fileName}" || abort "Failed to download ${fileName}!" } Tiny functions extracted from one of my scripts for download from GitHub release page.
     
    For this specific case, let's abstract it based on tag and fileName:
    - tag is Rxx, which can be retrieved by getGitHubLatestReleaseTag()
    - fileName, generally RELEASE is grabbed, then it would be "AptioFix-${tag}-RELEASE.zip"
  22. Like
    PMheart got a reaction from cecekpawon in Clover General discussion   
    function abort() { echo "ERROR: ${1}" 1>&2 exit 1 } # # Get the latest release tag on GitHub. # # @param author Name of user/organization on GitHub # @param repo Repository belonging to the author # # @return latest tag of author/repo # function getGitHubLatestReleaseTag() { local author="$1" local repo="$2" if [ -z "${author}" ] || [ -z "${repo}" ]; then echo 'Author or repository is null!' 1>&2 exit 1 fi local url="https://api.github.com/repos/${author}/${repo}/releases" local tag="$(curl --silent "${url}" | grep 'tag_name' | head -n 1 | awk -F ":" '{print $2}' | tr -d '"' | tr -d ',' | tr -d ' ')" if [ -z "${tag}" ]; then abort "WARNING: Failed to retrieve latest tag of release from ${author}/${repo}." 1>&2 fi echo "${tag}" } # # Download a file from release page of author/repo. # # @param author Name of user/organization on GitHub # @param repo Repository belonging to the given author # @param tag Tag to search for, or null for latest # @param fileName Asset of the tag # function downloadGitHubRelease() { local author="$1" local repo="$2" local tag="$3" local fileName="$4" if [ -z "${author}" ] || [ -z "${repo}" ] || [ -z "${fileName}" ]; then abort 'Author/repository/file name is null!' fi if [ -z "${tag}" ]; then tag="$(getGitHubLatestReleaseTag "${author}" "${repo}")" fi local url="https://github.com/${author}/${repo}/releases/download/${tag}/${fileName}" curl --silent -L "${url}" -o "${fileName}" || abort "Failed to download ${fileName}!" } Tiny functions extracted from one of my scripts for download from GitHub release page.
     
    For this specific case, let's abstract it based on tag and fileName:
    - tag is Rxx, which can be retrieved by getGitHubLatestReleaseTag()
    - fileName, generally RELEASE is grabbed, then it would be "AptioFix-${tag}-RELEASE.zip"
  23. Like
    PMheart got a reaction from cecekpawon in Clover General discussion   
    function abort() { echo "ERROR: ${1}" 1>&2 exit 1 } # # Get the latest release tag on GitHub. # # @param author Name of user/organization on GitHub # @param repo Repository belonging to the author # # @return latest tag of author/repo # function getGitHubLatestReleaseTag() { local author="$1" local repo="$2" if [ -z "${author}" ] || [ -z "${repo}" ]; then echo 'Author or repository is null!' 1>&2 exit 1 fi local url="https://api.github.com/repos/${author}/${repo}/releases" local tag="$(curl --silent "${url}" | grep 'tag_name' | head -n 1 | awk -F ":" '{print $2}' | tr -d '"' | tr -d ',' | tr -d ' ')" if [ -z "${tag}" ]; then abort "WARNING: Failed to retrieve latest tag of release from ${author}/${repo}." 1>&2 fi echo "${tag}" } # # Download a file from release page of author/repo. # # @param author Name of user/organization on GitHub # @param repo Repository belonging to the given author # @param tag Tag to search for, or null for latest # @param fileName Asset of the tag # function downloadGitHubRelease() { local author="$1" local repo="$2" local tag="$3" local fileName="$4" if [ -z "${author}" ] || [ -z "${repo}" ] || [ -z "${fileName}" ]; then abort 'Author/repository/file name is null!' fi if [ -z "${tag}" ]; then tag="$(getGitHubLatestReleaseTag "${author}" "${repo}")" fi local url="https://github.com/${author}/${repo}/releases/download/${tag}/${fileName}" curl --silent -L "${url}" -o "${fileName}" || abort "Failed to download ${fileName}!" } Tiny functions extracted from one of my scripts for download from GitHub release page.
     
    For this specific case, let's abstract it based on tag and fileName:
    - tag is Rxx, which can be retrieved by getGitHubLatestReleaseTag()
    - fileName, generally RELEASE is grabbed, then it would be "AptioFix-${tag}-RELEASE.zip"
  24. Like
    PMheart got a reaction from cecekpawon in Clover General discussion   
    function abort() { echo "ERROR: ${1}" 1>&2 exit 1 } # # Get the latest release tag on GitHub. # # @param author Name of user/organization on GitHub # @param repo Repository belonging to the author # # @return latest tag of author/repo # function getGitHubLatestReleaseTag() { local author="$1" local repo="$2" if [ -z "${author}" ] || [ -z "${repo}" ]; then echo 'Author or repository is null!' 1>&2 exit 1 fi local url="https://api.github.com/repos/${author}/${repo}/releases" local tag="$(curl --silent "${url}" | grep 'tag_name' | head -n 1 | awk -F ":" '{print $2}' | tr -d '"' | tr -d ',' | tr -d ' ')" if [ -z "${tag}" ]; then abort "WARNING: Failed to retrieve latest tag of release from ${author}/${repo}." 1>&2 fi echo "${tag}" } # # Download a file from release page of author/repo. # # @param author Name of user/organization on GitHub # @param repo Repository belonging to the given author # @param tag Tag to search for, or null for latest # @param fileName Asset of the tag # function downloadGitHubRelease() { local author="$1" local repo="$2" local tag="$3" local fileName="$4" if [ -z "${author}" ] || [ -z "${repo}" ] || [ -z "${fileName}" ]; then abort 'Author/repository/file name is null!' fi if [ -z "${tag}" ]; then tag="$(getGitHubLatestReleaseTag "${author}" "${repo}")" fi local url="https://github.com/${author}/${repo}/releases/download/${tag}/${fileName}" curl --silent -L "${url}" -o "${fileName}" || abort "Failed to download ${fileName}!" } Tiny functions extracted from one of my scripts for download from GitHub release page.
     
    For this specific case, let's abstract it based on tag and fileName:
    - tag is Rxx, which can be retrieved by getGitHubLatestReleaseTag()
    - fileName, generally RELEASE is grabbed, then it would be "AptioFix-${tag}-RELEASE.zip"
  25. Like
    PMheart got a reaction from chris1111 in [pre-release] macOS Catalina   
    I don't have Java installed (i.e no panel in System Preferences for sure) and was trying to install it, yet what I got is just the infinite installation as mentioned by @URBANsUNITED.
    Anyway, let's wait for the next update.  
×