Add HW_BID patch

This commit is contained in:
Mykola Grymalyuk
2021-10-05 20:44:29 -06:00
parent 0484e8e18c
commit 3aa6e76c15
2 changed files with 35 additions and 2 deletions

View File

@@ -203,6 +203,30 @@
<key>Skip</key> <key>Skip</key>
<integer>0</integer> <integer>0</integer>
</dict> </dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>Reroute HW_BID to OC_BID</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data>SABXAF8AQgBJAEQA</data>
<key>Identifier</key>
<string>Apple</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>Replace</key>
<data>TwBDAF8AQgBJAEQA</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
</array> </array>
<key>Quirks</key> <key>Quirks</key>
<dict> <dict>

View File

@@ -130,11 +130,20 @@ class BuildOpenCore:
if self.constants.allow_oc_everywhere is False: if self.constants.allow_oc_everywhere is False:
if self.constants.serial_settings == "None": if self.constants.serial_settings == "None":
# Credit to Parrotgeek1 for boot.efi and hv_vmm_present patch sets # Credit to Parrotgeek1 for boot.efi and hv_vmm_present patch sets
print("- Enabling Board ID exemption patch") # print("- Enabling Board ID exemption patch")
self.get_item_by_kv(self.config["Booter"]["Patch"], "Comment", "Skip Board ID check")["Enabled"] = True # self.get_item_by_kv(self.config["Booter"]["Patch"], "Comment", "Skip Board ID check")["Enabled"] = True
print("- Enabling VMM exemption patch") print("- Enabling VMM exemption patch")
self.get_item_by_kv(self.config["Kernel"]["Patch"], "Comment", "Reroute kern.hv_vmm_present patch (1)")["Enabled"] = True self.get_item_by_kv(self.config["Kernel"]["Patch"], "Comment", "Reroute kern.hv_vmm_present patch (1)")["Enabled"] = True
self.get_item_by_kv(self.config["Kernel"]["Patch"], "Comment", "Reroute kern.hv_vmm_present patch (2)")["Enabled"] = True self.get_item_by_kv(self.config["Kernel"]["Patch"], "Comment", "Reroute kern.hv_vmm_present patch (2)")["Enabled"] = True
# Patch HW_BID to OC_BID
# Set OC_BID to MacPro6,1 Board ID (Mac-F60DEB81FF30ACF6)
# Goal is to only allow OS booting through OCLP, otherwise failing
print("- Enabling HW_BID reroute")
self.get_item_by_kv(self.config["Booter"]["Patch"], "Comment", "Reroute HW_BID to OC_BID")["Enabled"] = True
self.config["NVRAM"]["Add"]["4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14"]["OC_BID"] = "Mac-F60DEB81FF30ACF6"
self.config["NVRAM"]["Delete"]["4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14"] += ["OC_BID"]
else: else:
print("- Enabling SMC exemption patch") print("- Enabling SMC exemption patch")
self.get_item_by_kv(self.config["Kernel"]["Patch"], "Identifier", "com.apple.driver.AppleSMC")["Enabled"] = True self.get_item_by_kv(self.config["Kernel"]["Patch"], "Identifier", "com.apple.driver.AppleSMC")["Enabled"] = True