Add universal map support

This commit is contained in:
Mykola Grymalyuk
2021-03-01 16:13:57 -07:00
parent 0cb98121e4
commit 831878494d
3 changed files with 209 additions and 126 deletions

View File

@@ -559,3 +559,155 @@ Xacmini = [
"Macmini6,1",
"Macmini6,2",
]
EHCI = [
"MacPro3,1"
]
EHC1 = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro3,1",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"MacPro4,1",
"MacPro5,1",
]
EHC2 = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro3,1",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"MacPro4,1",
"MacPro5,1",
]
OHC1 = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro3,1",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"Macmini4,1",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
]
IHEHC1 = [
"iMac13,1",
"iMac13,2",
"iMac13,3"
]
IHEHC2 = [
"MacBookPro9,1"
]
IH = [
"MacPro6,1"
]

View File

@@ -128,6 +128,62 @@ class BuildOpenCore:
Path(self.constants.map_kext_folder).mkdir()
Path(self.constants.map_contents_folder).mkdir()
shutil.copy(usb_map_path, self.constants.map_contents_folder)
self.get_kext_by_bundle_path("USB-Map.kext")["Enabled"] = True
self.new_map_ls = Path(self.constants.map_contents_folder) / Path(f"Info.plist")
self.map_config = plistlib.load(Path(self.new_map_ls).open("rb"))
# TODO: Set check as global variable
if self.model in ModelArray.MacBookAir61:
print("- Spoofing to MacBookAir6,1")
spoofed_map = "MacBookAir6,1"
elif self.model in ModelArray.MacBookAir62:
print("- Spoofing to MacBookAir6,2")
spoofed_map = "MacBookAir6,2"
elif self.model in ModelArray.MacBookPro111:
print("- Spoofing to MacBookPro11,1")
spoofed_map = "MacBookPro11,1"
elif self.model in ModelArray.MacBookPro113:
print("- Spoofing to MacBookPro11,3")
spoofed_map = "MacBookPro11,3"
elif self.model in ModelArray.Macmini71:
print("- Spoofing to Macmini7,1")
spoofed_map = "Macmini7,1"
elif self.model in ModelArray.iMac151:
print("- Spoofing to iMac15,1")
spoofed_map = "iMac15,1"
elif self.model in ModelArray.iMac144:
print("- Spoofing to iMac14,4")
spoofed_map = "iMac14,4"
elif self.model in ModelArray.MacPro71:
print("- Spoofing to MacPro7,1")
spoofed_map = "MacPro7,1"
self.map_config["IOKitPersonalities_x86_64"][self.model]["model"] = spoofed_map
if self.model in ModelArray.EHCI:
model_EHCI = f"{self.model}-EHCI"
self.map_config["IOKitPersonalities_x86_64"][model_EHCI]["model"] = spoofed_map
if self.model in ModelArray.EHC1:
model_EHC1 = f"{self.model}-EHC1"
self.map_config["IOKitPersonalities_x86_64"][model_EHC1]["model"] = spoofed_map
if self.model in ModelArray.EHC2:
model_EHC2 = f"{self.model}-EHC2"
self.map_config["IOKitPersonalities_x86_64"][model_EHC2]["model"] = spoofed_map
if self.model in ModelArray.OHC1:
model_OHC1 = f"{self.model}-OHC1"
model_OHC2 = f"{self.model}-OHC2"
self.map_config["IOKitPersonalities_x86_64"][model_OHC1]["model"] = spoofed_map
self.map_config["IOKitPersonalities_x86_64"][model_OHC2]["model"] = spoofed_map
if self.model in ModelArray.IHEHC1:
model_IHEHC1 = f"{self.model}-InternalHub-EHC1"
model_IHEHC1IH = f"{self.model}-InternalHub-EHC1-InternalHub"
self.map_config["IOKitPersonalities_x86_64"][model_IHEHC1]["model"] = spoofed_map
self.map_config["IOKitPersonalities_x86_64"][model_IHEHC1IH]["model"] = spoofed_map
if self.model in ModelArray.IHEHC2:
model_IHEHC2 = f"{self.model}-InternalHub-EHC2"
self.map_config["IOKitPersonalities_x86_64"][model_IHEHC2]["model"] = spoofed_map
if self.model in ModelArray.IH:
model_IH = f"{self.model}-InternalHub"
self.map_config["IOKitPersonalities_x86_64"][model_IH]["model"] = spoofed_map
plistlib.dump(self.map_config, Path(self.new_map_ls).open("wb"), sort_keys=True)
if self.model in ModelArray.DualGPUPatch:
print("- Adding dual GPU patch")
@@ -145,6 +201,7 @@ class BuildOpenCore:
def set_smbios(self):
spoofed_model = self.model
# TODO: Set check as global variable
if self.model in ModelArray.MacBookAir61:
print("- Spoofing to MacBookAir6,1")
spoofed_model = "MacBookAir6,1"

View File

@@ -2986,132 +2986,6 @@
<key>model</key>
<string>XacPro4,1</string>
</dict>
<key>MacPro5,1-EH01</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBHostMergeProperties</string>
<key>IOClass</key>
<string>AppleUSBHostMergeProperties</string>
<key>IONameMatch</key>
<string>EH01</string>
<key>IOProviderClass</key>
<string>AppleUSBEHCIPCI</string>
<key>IOProviderMergeProperties</key>
<dict>
<key>port-count</key>
<data>BgAAAA==</data>
<key>ports</key>
<dict>
<key>PRT1</key>
<dict>
<key>UsbConnector</key>
<integer>0</integer>
<key>port</key>
<data>AQAAAA==</data>
</dict>
<key>PRT2</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>AgAAAA==</data>
</dict>
<key>PRT3</key>
<dict>
<key>UsbConnector</key>
<integer>0</integer>
<key>port</key>
<data>AwAAAA==</data>
</dict>
<key>PRT4</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>BAAAAA==</data>
</dict>
<key>PRT5</key>
<dict>
<key>UsbConnector</key>
<integer>0</integer>
<key>port</key>
<data>BQAAAA==</data>
</dict>
<key>PRT6</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>BgAAAA==</data>
</dict>
</dict>
</dict>
<key>model</key>
<string>XacPro5,1</string>
</dict>
<key>MacPro5,1-EH02</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBHostMergeProperties</string>
<key>IOClass</key>
<string>AppleUSBHostMergeProperties</string>
<key>IONameMatch</key>
<string>EH02</string>
<key>IOProviderClass</key>
<string>AppleUSBEHCIPCI</string>
<key>IOProviderMergeProperties</key>
<dict>
<key>port-count</key>
<data>BgAAAA==</data>
<key>ports</key>
<dict>
<key>PRT1</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>AQAAAA==</data>
</dict>
<key>PRT2</key>
<dict>
<key>UsbConnector</key>
<integer>0</integer>
<key>port</key>
<data>AgAAAA==</data>
</dict>
<key>PRT3</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>AwAAAA==</data>
</dict>
<key>PRT4</key>
<dict>
<key>UsbConnector</key>
<integer>0</integer>
<key>port</key>
<data>BAAAAA==</data>
</dict>
<key>PRT5</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>BQAAAA==</data>
</dict>
<key>PRT6</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>BgAAAA==</data>
</dict>
</dict>
</dict>
<key>model</key>
<string>XacPro5,1</string>
</dict>
<key>Macmini3,1-EHC1</key>
<dict>
<key>CFBundleIdentifier</key>