diff --git a/Xcode/CloverX64TestNewParser/CloverMock/rEFIt_UEFI/Platform/Platform.h b/Xcode/CloverX64TestNewParser/CloverMock/rEFIt_UEFI/Platform/Platform.h index e36e38c46..7ca7f7cd6 100644 --- a/Xcode/CloverX64TestNewParser/CloverMock/rEFIt_UEFI/Platform/Platform.h +++ b/Xcode/CloverX64TestNewParser/CloverMock/rEFIt_UEFI/Platform/Platform.h @@ -26,6 +26,7 @@ extern "C" { #include #include "../../../../../rEFIt_UEFI/Platform/BootLog.h" //#include "BootLog.h" +#include // this is just to define DEBUG, because Slice wrongly did some #ifdef DEBUG #ifdef __cplusplus } diff --git a/Xcode/CloverX64TestNewParser/CloverX64TestNewParser.xcodeproj/project.pbxproj b/Xcode/CloverX64TestNewParser/CloverX64TestNewParser.xcodeproj/project.pbxproj index 00bc32602..9e83afbaa 100644 --- a/Xcode/CloverX64TestNewParser/CloverX64TestNewParser.xcodeproj/project.pbxproj +++ b/Xcode/CloverX64TestNewParser/CloverX64TestNewParser.xcodeproj/project.pbxproj @@ -13,27 +13,11 @@ 9A28CD1F241BB61B00F3D247 /* abort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD1D241BB61B00F3D247 /* abort.cpp */; }; 9A28CD22241BB61B00F3D247 /* strlen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD1E241BB61B00F3D247 /* strlen.cpp */; }; 9A358B2025CF115200A3850D /* Config_GUI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358AF425CF115100A3850D /* Config_GUI.cpp */; }; - 9A358B2125CF115200A3850D /* Config_RtVariables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358AF525CF115100A3850D /* Config_RtVariables.cpp */; }; - 9A358B2225CF115200A3850D /* Config_SMBIOS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358AF625CF115100A3850D /* Config_SMBIOS.cpp */; }; - 9A358B2325CF115200A3850D /* Config_Devices_Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358AF925CF115100A3850D /* Config_Devices_Audio.cpp */; }; - 9A358B2425CF115200A3850D /* Config_KernelAndKextPatches.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358AFC25CF115100A3850D /* Config_KernelAndKextPatches.cpp */; }; - 9A358B2525CF115200A3850D /* Config_Quirks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358AFD25CF115100A3850D /* Config_Quirks.cpp */; }; - 9A358B2625CF115200A3850D /* Config_CPU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0025CF115100A3850D /* Config_CPU.cpp */; }; - 9A358B2725CF115200A3850D /* Config_Devices_FakeID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0325CF115100A3850D /* Config_Devices_FakeID.cpp */; }; - 9A358B2825CF115200A3850D /* Config_ACPI_SSDT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0625CF115100A3850D /* Config_ACPI_SSDT.cpp */; }; - 9A358B2925CF115200A3850D /* Config_Boot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0725CF115100A3850D /* Config_Boot.cpp */; }; - 9A358B2A25CF115200A3850D /* Config_Devices_AddProperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0825CF115100A3850D /* Config_Devices_AddProperties.cpp */; }; - 9A358B2B25CF115200A3850D /* ConfigPlist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0A25CF115100A3850D /* ConfigPlist.cpp */; }; - 9A358B2C25CF115200A3850D /* Config_Devices_USB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0B25CF115100A3850D /* Config_Devices_USB.cpp */; }; - 9A358B2D25CF115200A3850D /* Config_Devices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0C25CF115100A3850D /* Config_Devices.cpp */; }; + 9A358B2B25CF115200A3850D /* ConfigPlistClass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0A25CF115100A3850D /* ConfigPlistClass.cpp */; }; 9A358B2E25CF115200A3850D /* Config_ACPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B0F25CF115100A3850D /* Config_ACPI.cpp */; }; 9A358B2F25CF115200A3850D /* Config_Devices_Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B1025CF115100A3850D /* Config_Devices_Properties.cpp */; }; - 9A358B3025CF115200A3850D /* Config_Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B1225CF115100A3850D /* Config_Graphics.cpp */; }; - 9A358B3125CF115200A3850D /* Config_SystemParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B1525CF115100A3850D /* Config_SystemParameters.cpp */; }; 9A358B3225CF115200A3850D /* CompareSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B1625CF115100A3850D /* CompareSettings.cpp */; }; 9A358B3325CF115200A3850D /* Config_ACPI_DSDT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B1725CF115100A3850D /* Config_ACPI_DSDT.cpp */; }; - 9A358B3425CF115200A3850D /* Config_BootGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B1825CF115100A3850D /* Config_BootGraphics.cpp */; }; - 9A358B3525CF115200A3850D /* Config_Devices_Arbitrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B1925CF115100A3850D /* Config_Devices_Arbitrary.cpp */; }; 9A358B3D25CF117A00A3850D /* XmlLiteCompositeTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B3925CF117A00A3850D /* XmlLiteCompositeTypes.cpp */; }; 9A358B3E25CF117A00A3850D /* XmlLiteParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A358B3A25CF117A00A3850D /* XmlLiteParser.cpp */; }; 9A36E4F024F3B537007A1107 /* TagString8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A36E4DB24F3B536007A1107 /* TagString8.cpp */; }; @@ -64,6 +48,14 @@ 9A9037E725CFE7D100F14179 /* config-test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9037E425CFE7D000F14179 /* config-test.cpp */; }; 9A9223312402FD1000483CBA /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9223302402FD1000483CBA /* main.cpp */; }; 9A9AEB8D243F73CE00FBD7D8 /* unicode_conversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9AEB8C243F73CE00FBD7D8 /* unicode_conversions.cpp */; }; + 9AA316CD260EF75A0033D29F /* CompareSettingsBoot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA316CB260EF75A0033D29F /* CompareSettingsBoot.cpp */; }; + 9AA316D0260EF7760033D29F /* CompareField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA316CE260EF7750033D29F /* CompareField.cpp */; }; + 9AA316D3260EFC410033D29F /* CompareSettingsACPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA316D1260EFC410033D29F /* CompareSettingsACPI.cpp */; }; + 9AA316D6260F0CBE0033D29F /* CompareSettingsGUI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA316D4260F0CBE0033D29F /* CompareSettingsGUI.cpp */; }; + 9AA316D9260F259F0033D29F /* CompareSettingsCPU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA316D8260F259F0033D29F /* CompareSettingsCPU.cpp */; }; + 9AA316DC260F267A0033D29F /* CompareSettingsSystemParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA316DA260F26790033D29F /* CompareSettingsSystemParameters.cpp */; }; + 9AA316DF260F277A0033D29F /* CompareSettingsKernelAndKextPatches.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA316DE260F27790033D29F /* CompareSettingsKernelAndKextPatches.cpp */; }; + 9AA316E2260F2BE60033D29F /* CompareSettingsGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA316E0260F2BE50033D29F /* CompareSettingsGraphics.cpp */; }; 9AA3918F25CC75420099DC1F /* Settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A852C0E25CC39E900C5662E /* Settings.cpp */; }; 9AA918C125CD4B7900BD5E8B /* lib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA918BC25CD4B5900BD5E8B /* lib.cpp */; }; 9AA918C725CD4CD300BD5E8B /* BmLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA918C625CD4CD300BD5E8B /* BmLib.cpp */; }; @@ -280,43 +272,27 @@ 9A28CD1D241BB61B00F3D247 /* abort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abort.cpp; sourceTree = ""; }; 9A28CD1E241BB61B00F3D247 /* strlen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strlen.cpp; sourceTree = ""; }; 9A358AF425CF115100A3850D /* Config_GUI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_GUI.cpp; sourceTree = ""; }; - 9A358AF525CF115100A3850D /* Config_RtVariables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_RtVariables.cpp; sourceTree = ""; }; - 9A358AF625CF115100A3850D /* Config_SMBIOS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_SMBIOS.cpp; sourceTree = ""; }; 9A358AF725CF115100A3850D /* Config_KernelAndKextPatches.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_KernelAndKextPatches.h; sourceTree = ""; }; 9A358AF825CF115100A3850D /* Config_Graphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_Graphics.h; sourceTree = ""; }; - 9A358AF925CF115100A3850D /* Config_Devices_Audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Devices_Audio.cpp; sourceTree = ""; }; 9A358AFA25CF115100A3850D /* Config_ACPI_DSDT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_ACPI_DSDT.h; sourceTree = ""; }; - 9A358AFB25CF115100A3850D /* ConfigPlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigPlist.h; sourceTree = ""; }; - 9A358AFC25CF115100A3850D /* Config_KernelAndKextPatches.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_KernelAndKextPatches.cpp; sourceTree = ""; }; - 9A358AFD25CF115100A3850D /* Config_Quirks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Quirks.cpp; sourceTree = ""; }; + 9A358AFB25CF115100A3850D /* ConfigPlistClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigPlistClass.h; sourceTree = ""; }; 9A358AFE25CF115100A3850D /* CompareSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareSettings.h; sourceTree = ""; }; 9A358AFF25CF115100A3850D /* Config_Devices_Audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_Devices_Audio.h; sourceTree = ""; }; - 9A358B0025CF115100A3850D /* Config_CPU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_CPU.cpp; sourceTree = ""; }; 9A358B0125CF115100A3850D /* Config_Quirks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_Quirks.h; sourceTree = ""; }; 9A358B0225CF115100A3850D /* Config_ACPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_ACPI.h; sourceTree = ""; }; - 9A358B0325CF115100A3850D /* Config_Devices_FakeID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Devices_FakeID.cpp; sourceTree = ""; }; 9A358B0425CF115100A3850D /* Config_Devices_Properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_Devices_Properties.h; sourceTree = ""; }; 9A358B0525CF115100A3850D /* Config_Boot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_Boot.h; sourceTree = ""; }; - 9A358B0625CF115100A3850D /* Config_ACPI_SSDT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_ACPI_SSDT.cpp; sourceTree = ""; }; - 9A358B0725CF115100A3850D /* Config_Boot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Boot.cpp; sourceTree = ""; }; - 9A358B0825CF115100A3850D /* Config_Devices_AddProperties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Devices_AddProperties.cpp; sourceTree = ""; }; 9A358B0925CF115100A3850D /* Config_Devices_Arbitrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_Devices_Arbitrary.h; sourceTree = ""; }; - 9A358B0A25CF115100A3850D /* ConfigPlist.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConfigPlist.cpp; sourceTree = ""; }; - 9A358B0B25CF115100A3850D /* Config_Devices_USB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Devices_USB.cpp; sourceTree = ""; }; - 9A358B0C25CF115100A3850D /* Config_Devices.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Devices.cpp; sourceTree = ""; }; + 9A358B0A25CF115100A3850D /* ConfigPlistClass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConfigPlistClass.cpp; sourceTree = ""; }; 9A358B0D25CF115100A3850D /* Config_SystemParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_SystemParameters.h; sourceTree = ""; }; 9A358B0E25CF115100A3850D /* Config_SMBIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_SMBIOS.h; sourceTree = ""; }; 9A358B0F25CF115100A3850D /* Config_ACPI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_ACPI.cpp; sourceTree = ""; }; 9A358B1025CF115100A3850D /* Config_Devices_Properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Devices_Properties.cpp; sourceTree = ""; }; 9A358B1125CF115100A3850D /* Config_Devices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_Devices.h; sourceTree = ""; }; - 9A358B1225CF115100A3850D /* Config_Graphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Graphics.cpp; sourceTree = ""; }; 9A358B1325CF115100A3850D /* Config_CPU.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_CPU.h; sourceTree = ""; }; 9A358B1425CF115100A3850D /* Config_BootGraphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_BootGraphics.h; sourceTree = ""; }; - 9A358B1525CF115100A3850D /* Config_SystemParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_SystemParameters.cpp; sourceTree = ""; }; 9A358B1625CF115100A3850D /* CompareSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareSettings.cpp; sourceTree = ""; }; 9A358B1725CF115100A3850D /* Config_ACPI_DSDT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_ACPI_DSDT.cpp; sourceTree = ""; }; - 9A358B1825CF115100A3850D /* Config_BootGraphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_BootGraphics.cpp; sourceTree = ""; }; - 9A358B1925CF115100A3850D /* Config_Devices_Arbitrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Config_Devices_Arbitrary.cpp; sourceTree = ""; }; 9A358B1A25CF115100A3850D /* Config_ACPI_SSDT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_ACPI_SSDT.h; sourceTree = ""; }; 9A358B1B25CF115100A3850D /* Config_GUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_GUI.h; sourceTree = ""; }; 9A358B1C25CF115100A3850D /* Config_RtVariables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Config_RtVariables.h; sourceTree = ""; }; @@ -392,6 +368,22 @@ 9A9223302402FD1000483CBA /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; 9A9AEB8B243F73CE00FBD7D8 /* unicode_conversions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unicode_conversions.h; sourceTree = ""; }; 9A9AEB8C243F73CE00FBD7D8 /* unicode_conversions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c.preprocessed; fileEncoding = 4; path = unicode_conversions.cpp; sourceTree = ""; }; + 9AA316CB260EF75A0033D29F /* CompareSettingsBoot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareSettingsBoot.cpp; sourceTree = ""; }; + 9AA316CC260EF75A0033D29F /* CompareSettingsBoot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareSettingsBoot.h; sourceTree = ""; }; + 9AA316CE260EF7750033D29F /* CompareField.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareField.cpp; sourceTree = ""; }; + 9AA316CF260EF7760033D29F /* CompareField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareField.h; sourceTree = ""; }; + 9AA316D1260EFC410033D29F /* CompareSettingsACPI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareSettingsACPI.cpp; sourceTree = ""; }; + 9AA316D2260EFC410033D29F /* CompareSettingsACPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareSettingsACPI.h; sourceTree = ""; }; + 9AA316D4260F0CBE0033D29F /* CompareSettingsGUI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareSettingsGUI.cpp; sourceTree = ""; }; + 9AA316D5260F0CBE0033D29F /* CompareSettingsGUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareSettingsGUI.h; sourceTree = ""; }; + 9AA316D7260F259F0033D29F /* CompareSettingsCPU.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareSettingsCPU.h; sourceTree = ""; }; + 9AA316D8260F259F0033D29F /* CompareSettingsCPU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareSettingsCPU.cpp; sourceTree = ""; }; + 9AA316DA260F26790033D29F /* CompareSettingsSystemParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareSettingsSystemParameters.cpp; sourceTree = ""; }; + 9AA316DB260F267A0033D29F /* CompareSettingsSystemParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareSettingsSystemParameters.h; sourceTree = ""; }; + 9AA316DD260F27790033D29F /* CompareSettingsKernelAndKextPatches.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareSettingsKernelAndKextPatches.h; sourceTree = ""; }; + 9AA316DE260F27790033D29F /* CompareSettingsKernelAndKextPatches.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareSettingsKernelAndKextPatches.cpp; sourceTree = ""; }; + 9AA316E0260F2BE50033D29F /* CompareSettingsGraphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompareSettingsGraphics.cpp; sourceTree = ""; }; + 9AA316E1260F2BE60033D29F /* CompareSettingsGraphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompareSettingsGraphics.h; sourceTree = ""; }; 9AA3911825CC56840099DC1F /* FixBiosDsdt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FixBiosDsdt.h; sourceTree = ""; }; 9AA3911A25CC56E60099DC1F /* Devices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Devices.h; sourceTree = ""; }; 9AA3911B25CC56E60099DC1F /* printlib-test-cpp_conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "printlib-test-cpp_conf.h"; sourceTree = ""; }; @@ -5387,50 +5379,50 @@ 9A358AF325CF115100A3850D /* ConfigPlist */ = { isa = PBXGroup; children = ( + 9AA316CE260EF7750033D29F /* CompareField.cpp */, + 9AA316CF260EF7760033D29F /* CompareField.h */, 9A358B1625CF115100A3850D /* CompareSettings.cpp */, 9A358AFE25CF115100A3850D /* CompareSettings.h */, + 9AA316CB260EF75A0033D29F /* CompareSettingsBoot.cpp */, + 9AA316CC260EF75A0033D29F /* CompareSettingsBoot.h */, + 9AA316D1260EFC410033D29F /* CompareSettingsACPI.cpp */, + 9AA316D2260EFC410033D29F /* CompareSettingsACPI.h */, + 9AA316D4260F0CBE0033D29F /* CompareSettingsGUI.cpp */, + 9AA316D5260F0CBE0033D29F /* CompareSettingsGUI.h */, + 9AA316D8260F259F0033D29F /* CompareSettingsCPU.cpp */, + 9AA316D7260F259F0033D29F /* CompareSettingsCPU.h */, + 9AA316DA260F26790033D29F /* CompareSettingsSystemParameters.cpp */, + 9AA316DB260F267A0033D29F /* CompareSettingsSystemParameters.h */, + 9AA316DE260F27790033D29F /* CompareSettingsKernelAndKextPatches.cpp */, + 9AA316DD260F27790033D29F /* CompareSettingsKernelAndKextPatches.h */, + 9AA316E0260F2BE50033D29F /* CompareSettingsGraphics.cpp */, + 9AA316E1260F2BE60033D29F /* CompareSettingsGraphics.h */, 9A358B1725CF115100A3850D /* Config_ACPI_DSDT.cpp */, 9A358AFA25CF115100A3850D /* Config_ACPI_DSDT.h */, - 9A358B0625CF115100A3850D /* Config_ACPI_SSDT.cpp */, 9A358B1A25CF115100A3850D /* Config_ACPI_SSDT.h */, 9A358B0F25CF115100A3850D /* Config_ACPI.cpp */, 9A358B0225CF115100A3850D /* Config_ACPI.h */, - 9A358B0725CF115100A3850D /* Config_Boot.cpp */, 9A358B0525CF115100A3850D /* Config_Boot.h */, - 9A358B1825CF115100A3850D /* Config_BootGraphics.cpp */, 9A358B1425CF115100A3850D /* Config_BootGraphics.h */, - 9A358B0025CF115100A3850D /* Config_CPU.cpp */, 9A358B1325CF115100A3850D /* Config_CPU.h */, - 9A358B0825CF115100A3850D /* Config_Devices_AddProperties.cpp */, 9A358B1F25CF115100A3850D /* Config_Devices_AddProperties.h */, - 9A358B1925CF115100A3850D /* Config_Devices_Arbitrary.cpp */, 9A358B0925CF115100A3850D /* Config_Devices_Arbitrary.h */, - 9A358AF925CF115100A3850D /* Config_Devices_Audio.cpp */, 9A358AFF25CF115100A3850D /* Config_Devices_Audio.h */, - 9A358B0325CF115100A3850D /* Config_Devices_FakeID.cpp */, 9A358B1D25CF115100A3850D /* Config_Devices_FakeID.h */, 9A358B1025CF115100A3850D /* Config_Devices_Properties.cpp */, 9A358B0425CF115100A3850D /* Config_Devices_Properties.h */, - 9A358B0B25CF115100A3850D /* Config_Devices_USB.cpp */, 9A358B1E25CF115100A3850D /* Config_Devices_USB.h */, - 9A358B0C25CF115100A3850D /* Config_Devices.cpp */, 9A358B1125CF115100A3850D /* Config_Devices.h */, - 9A358B1225CF115100A3850D /* Config_Graphics.cpp */, 9A358AF825CF115100A3850D /* Config_Graphics.h */, 9A358AF425CF115100A3850D /* Config_GUI.cpp */, 9A358B1B25CF115100A3850D /* Config_GUI.h */, - 9A358AFC25CF115100A3850D /* Config_KernelAndKextPatches.cpp */, 9A358AF725CF115100A3850D /* Config_KernelAndKextPatches.h */, - 9A358AFD25CF115100A3850D /* Config_Quirks.cpp */, 9A358B0125CF115100A3850D /* Config_Quirks.h */, - 9A358AF525CF115100A3850D /* Config_RtVariables.cpp */, 9A358B1C25CF115100A3850D /* Config_RtVariables.h */, - 9A358AF625CF115100A3850D /* Config_SMBIOS.cpp */, 9A358B0E25CF115100A3850D /* Config_SMBIOS.h */, - 9A358B1525CF115100A3850D /* Config_SystemParameters.cpp */, 9A358B0D25CF115100A3850D /* Config_SystemParameters.h */, - 9A358B0A25CF115100A3850D /* ConfigPlist.cpp */, - 9A358AFB25CF115100A3850D /* ConfigPlist.h */, + 9A358B0A25CF115100A3850D /* ConfigPlistClass.cpp */, + 9A358AFB25CF115100A3850D /* ConfigPlistClass.h */, ); path = ConfigPlist; sourceTree = ""; @@ -15902,8 +15894,8 @@ 9A36E50424F3B537007A1107 /* TagInt64.cpp in Sources */, 9A36E50024F3B537007A1107 /* TagDict.cpp in Sources */, 9A4C576B255AAD07004F0B21 /* MacOsVersion.cpp in Sources */, - 9A358B2325CF115200A3850D /* Config_Devices_Audio.cpp in Sources */, 9A36E50C24F3B537007A1107 /* TagData.cpp in Sources */, + 9AA316DC260F267A0033D29F /* CompareSettingsSystemParameters.cpp in Sources */, 9AD0358C25C57A4500E58351 /* MemoryAllocationLib.c in Sources */, 9AA9253025CD74CC00BD5E8B /* secureboot.cpp in Sources */, 9AA924FB25CD5B2E00BD5E8B /* AcpiPatcher.cpp in Sources */, @@ -15916,6 +15908,7 @@ 9AFDD0BD25CE731000EEAF06 /* strlen_test.cpp in Sources */, 9A358B3D25CF117A00A3850D /* XmlLiteCompositeTypes.cpp in Sources */, 9AA9250325CD5B2E00BD5E8B /* StateGenerator.cpp in Sources */, + 9AA316D9260F259F0033D29F /* CompareSettingsCPU.cpp in Sources */, 9AA9253125CD74CC00BD5E8B /* securemenu.cpp in Sources */, 9AD0EB24260A497600093F23 /* XmlLiteSimpleTypes.cpp in Sources */, 9AFDD0A525CE731000EEAF06 /* all_tests.cpp in Sources */, @@ -15926,7 +15919,6 @@ 9A28CD22241BB61B00F3D247 /* strlen.cpp in Sources */, 9AA9248325CD5B2E00BD5E8B /* Volumes.cpp in Sources */, 9AA9241F25CD5B2E00BD5E8B /* LegacyBiosThunk.cpp in Sources */, - 9A358B2125CF115200A3850D /* Config_RtVariables.cpp in Sources */, 9AA9246325CD5B2E00BD5E8B /* HdaCodecDump.cpp in Sources */, 9AA9259125CD770F00BD5E8B /* scroll_images.cpp in Sources */, 9AFDD05425CDBC1800EEAF06 /* printf_lite.c in Sources */, @@ -15936,12 +15928,10 @@ 9AFDD09525CE731000EEAF06 /* strcmp_test.cpp in Sources */, 9A36E52624F3BB6B007A1107 /* FloatLib.cpp in Sources */, 9AFDD09125CE731000EEAF06 /* MacOsVersion_test.cpp in Sources */, - 9A358B2525CF115200A3850D /* Config_Quirks.cpp in Sources */, 9AA924F725CD5B2E00BD5E8B /* DevicePath.cpp in Sources */, 9A838CB425347C36008303F5 /* MemoryOperation.c in Sources */, 9AA9252B25CD74CC00BD5E8B /* tool.cpp in Sources */, 9AA9241325CD5B2E00BD5E8B /* SelfOem.cpp in Sources */, - 9A358B2D25CF115200A3850D /* Config_Devices.cpp in Sources */, 9AA9252C25CD74CC00BD5E8B /* lockedgraphics.cpp in Sources */, 9A358B2E25CF115200A3850D /* Config_ACPI.cpp in Sources */, 9AA9E4EE25CD283400BD5E8B /* XIcon.cpp in Sources */, @@ -15950,12 +15940,13 @@ 9AA9247B25CD5B2E00BD5E8B /* platformdata.cpp in Sources */, 9AA9E4EA25CD283400BD5E8B /* XImage.cpp in Sources */, 9AA9241B25CD5B2E00BD5E8B /* Edid.cpp in Sources */, - 9A358B3525CF115200A3850D /* Config_Devices_Arbitrary.cpp in Sources */, 9AA9252D25CD74CC00BD5E8B /* securehash.cpp in Sources */, + 9AA316E2260F2BE60033D29F /* CompareSettingsGraphics.cpp in Sources */, 9AA9252E25CD74CC00BD5E8B /* legacy.cpp in Sources */, 9AA924A725CD5B2E00BD5E8B /* Self.cpp in Sources */, 9AA925A125CD770F00BD5E8B /* VectorGraphics.cpp in Sources */, 9A9223312402FD1000483CBA /* main.cpp in Sources */, + 9AA316D3260EFC410033D29F /* CompareSettingsACPI.cpp in Sources */, 9AA924D725CD5B2E00BD5E8B /* cpu.cpp in Sources */, 9AA9242B25CD5B2E00BD5E8B /* spd.cpp in Sources */, 9AA925DE25CD967800BD5E8B /* SafeString.c in Sources */, @@ -15964,12 +15955,12 @@ 9AA924CF25CD5B2E00BD5E8B /* hda.cpp in Sources */, 9AA9249725CD5B2E00BD5E8B /* Hibernate.cpp in Sources */, 9AFDD0B925CE731000EEAF06 /* XToolsCommon_test.cpp in Sources */, + 9AA316D6260F0CBE0033D29F /* CompareSettingsGUI.cpp in Sources */, 9AA9E4F625CD283400BD5E8B /* XCinema.cpp in Sources */, 9AA924F325CD5B2E00BD5E8B /* device_inject.cpp in Sources */, 9AA9247F25CD5B2E00BD5E8B /* sound.cpp in Sources */, 9AFDD0A125CE731000EEAF06 /* find_replace_mask_Clover_tests.cpp in Sources */, 9AA9249F25CD5B2E00BD5E8B /* nvidia.cpp in Sources */, - 9A358B3125CF115200A3850D /* Config_SystemParameters.cpp in Sources */, 9AA9249B25CD5B2E00BD5E8B /* APFS.cpp in Sources */, 9AA9257925CD770F00BD5E8B /* text.cpp in Sources */, 9A9037E725CFE7D100F14179 /* config-test.cpp in Sources */, @@ -15978,6 +15969,7 @@ 9A358B2F25CF115200A3850D /* Config_Devices_Properties.cpp in Sources */, 9AA9241725CD5B2E00BD5E8B /* BdsConnect.cpp in Sources */, 9AFDD0B525CE731000EEAF06 /* XString_test.cpp in Sources */, + 9AA316D0260EF7760033D29F /* CompareField.cpp in Sources */, 9AA925C425CD900800BD5E8B /* posix_additions.cpp in Sources */, 9A36E4FC24F3B537007A1107 /* TagBool.cpp in Sources */, 9AA9248B25CD5B2E00BD5E8B /* Nvram.cpp in Sources */, @@ -15987,7 +15979,6 @@ 9AA924DB25CD5B2E00BD5E8B /* StartupSound.cpp in Sources */, 9AA9253B25CD764900BD5E8B /* REFIT_MENU_SCREEN.cpp in Sources */, 9AA9259D25CD770F00BD5E8B /* lodepng.cpp in Sources */, - 9A358B2225CF115200A3850D /* Config_SMBIOS.cpp in Sources */, 9AA925B325CD79AB00BD5E8B /* icns.cpp in Sources */, 9A36E4F424F3B537007A1107 /* plist.cpp in Sources */, 9AA924D325CD5B2E00BD5E8B /* Events.cpp in Sources */, @@ -16008,15 +15999,12 @@ 9A358B2025CF115200A3850D /* Config_GUI.cpp in Sources */, 9A9037E625CFE7D100F14179 /* xml_lite-test.cpp in Sources */, 9A358B3E25CF117A00A3850D /* XmlLiteParser.cpp in Sources */, + 9AA316DF260F277A0033D29F /* CompareSettingsKernelAndKextPatches.cpp in Sources */, 9AA924AB25CD5B2E00BD5E8B /* Net.cpp in Sources */, 9AA9248F25CD5B2E00BD5E8B /* LegacyBoot.cpp in Sources */, 9AA924FF25CD5B2E00BD5E8B /* KERNEL_AND_KEXT_PATCHES.cpp in Sources */, - 9A358B3425CF115200A3850D /* Config_BootGraphics.cpp in Sources */, - 9A358B2C25CF115200A3850D /* Config_Devices_USB.cpp in Sources */, 9AA9253225CD74CC00BD5E8B /* securevars.cpp in Sources */, 9AFDD05025CDBAA700EEAF06 /* MemLogLib.c in Sources */, - 9A358B2425CF115200A3850D /* Config_KernelAndKextPatches.cpp in Sources */, - 9A358B2825CF115200A3850D /* Config_ACPI_SSDT.cpp in Sources */, 9AA9242325CD5B2E00BD5E8B /* PlatformDriverOverride.cpp in Sources */, 9AA918C725CD4CD300BD5E8B /* BmLib.cpp in Sources */, 9AA924E725CD5B2E00BD5E8B /* gma.cpp in Sources */, @@ -16026,20 +16014,17 @@ 9AA924EB25CD5B2E00BD5E8B /* kernel_patcher.cpp in Sources */, 9AA9253325CD74CC00BD5E8B /* common.cpp in Sources */, 9AFDD09925CE731000EEAF06 /* printlib-test.cpp in Sources */, - 9A358B2B25CF115200A3850D /* ConfigPlist.cpp in Sources */, - 9A358B2625CF115200A3850D /* Config_CPU.cpp in Sources */, + 9A358B2B25CF115200A3850D /* ConfigPlistClass.cpp in Sources */, 9AA9E50225CD2FF400BD5E8B /* Utils.cpp in Sources */, 9AFDD0B125CE731000EEAF06 /* strncmp_test.cpp in Sources */, + 9AA316CD260EF75A0033D29F /* CompareSettingsBoot.cpp in Sources */, 9AA925CE25CD94C600BD5E8B /* BootLog.cpp in Sources */, - 9A358B3025CF115200A3850D /* Config_Graphics.cpp in Sources */, 9A36E51024F3B537007A1107 /* TagArray.cpp in Sources */, 9A272A7F25D5062E00F03E19 /* DataHub.cpp in Sources */, 9A0D113825FF58420040555F /* strcasecmp_test.cpp in Sources */, 9AA918C125CD4B7900BD5E8B /* lib.cpp in Sources */, 9A36E4F024F3B537007A1107 /* TagString8.cpp in Sources */, 9AFDD08D25CE731000EEAF06 /* plist_tests.cpp in Sources */, - 9A358B2725CF115200A3850D /* Config_Devices_FakeID.cpp in Sources */, - 9A358B2925CF115200A3850D /* Config_Boot.cpp in Sources */, 9AA9E53D25CD306700BD5E8B /* loader.cpp in Sources */, 9AA924C725CD5B2E00BD5E8B /* Injectors.cpp in Sources */, 9AA9258925CD770F00BD5E8B /* load_icns.cpp in Sources */, @@ -16057,7 +16042,6 @@ 9AA925C025CD87B600BD5E8B /* BasicIO.cpp in Sources */, 9A838CBA25348237008303F5 /* BaseMemoryLib.c in Sources */, 9AA9259925CD770F00BD5E8B /* egemb_font.cpp in Sources */, - 9A358B2A25CF115200A3850D /* Config_Devices_AddProperties.cpp in Sources */, 9A36E51424F3B537007A1107 /* TagFloat.cpp in Sources */, 9AA9259525CD770F00BD5E8B /* image.cpp in Sources */, 9AD7B15026079F5D00E850D1 /* REFIT_MAINMENU_SCREEN.cpp in Sources */, diff --git a/Xcode/CloverX64TestNewParser/src/main.cpp b/Xcode/CloverX64TestNewParser/src/main.cpp index aaec86430..bc72f149f 100755 --- a/Xcode/CloverX64TestNewParser/src/main.cpp +++ b/Xcode/CloverX64TestNewParser/src/main.cpp @@ -16,7 +16,7 @@ #include "../../../../../cpp_tests/Include/xcode_utf_fixed.h" #include "ConfigSample1.h" -#include "../../../rEFIt_UEFI/Platform/ConfigPlist/ConfigPlist.h" +#include "../../../rEFIt_UEFI/Platform/ConfigPlist/ConfigPlistClass.h" #include "../../../rEFIt_UEFI/Platform/ConfigPlist/CompareSettings.h" @@ -75,7 +75,7 @@ int test1() printf("GetUserSettings returns %s\n", efiStrError(Status)); bool b; - ConfigPlist configPlist; + ConfigPlistClass configPlist; XmlLiteParser xmlLiteParser; xmlLiteParser.init(source, newLen); @@ -94,8 +94,8 @@ int test1() } printf("\n"); - printf("=== [ CompareEarlyUserSettingsWithConfigPlist ] ====================\n"); - return CompareEarlyUserSettingsWithConfigPlist(settings, configPlist) ? 0 : -1; + printf("=== [ CompareOldNewSettings ] ====================\n"); + return CompareOldNewSettings(settings, configPlist) ? 0 : -1; } diff --git a/rEFIt_UEFI/Platform/Settings.cpp b/rEFIt_UEFI/Platform/Settings.cpp index 39beea7b9..557a9faef 100755 --- a/rEFIt_UEFI/Platform/Settings.cpp +++ b/rEFIt_UEFI/Platform/Settings.cpp @@ -230,9 +230,9 @@ CUSTOM_LOADER_ENTRY::CUSTOM_LOADER_ENTRY(const CUSTOM_LOADER_ENTRY_SETTINGS& _se XString8Array CUSTOM_LOADER_SUBENTRY::getLoadOptions() const { - if ( settings.m_Arguments.isDefined() ) return Split(settings.m_Arguments.value(), " "); + if ( settings._Arguments.isDefined() ) return Split(settings._Arguments.value(), " "); XString8Array LoadOptions = parent.getLoadOptions(); - LoadOptions.import(Split(settings.m_AddArguments, " ")); + LoadOptions.import(Split(settings._AddArguments, " ")); if (LoadOptions.isEmpty() && OSTYPE_IS_WINDOWS(parent.settings.Type)) { LoadOptions.Add("-s"); LoadOptions.Add("-h"); @@ -244,9 +244,9 @@ XString8Array CUSTOM_LOADER_SUBENTRY::getLoadOptions() const UINT8 CUSTOM_LOADER_SUBENTRY::getFlags(bool NoCachesDefault) const { UINT8 Flags = parent.getFlags(NoCachesDefault); - if ( settings.m_Arguments.isDefined() ) Flags = OSFLAG_SET(Flags, OSFLAG_NODEFAULTARGS); - if ( settings.m_NoCaches.isDefined() ) { - if ( settings.m_NoCaches.value() ) Flags = OSFLAG_SET(Flags, OSFLAG_NOCACHES); + if ( settings._Arguments.isDefined() ) Flags = OSFLAG_SET(Flags, OSFLAG_NODEFAULTARGS); + if ( settings._NoCaches.isDefined() ) { + if ( settings._NoCaches.value() ) Flags = OSFLAG_SET(Flags, OSFLAG_NOCACHES); else Flags = OSFLAG_UNSET(Flags, OSFLAG_NOCACHES); } return Flags; @@ -265,13 +265,13 @@ XString8Array CUSTOM_LOADER_ENTRY::getLoadOptions() const return LoadOptions; } const XString8& CUSTOM_LOADER_SUBENTRY::getTitle() const { - if ( settings.m_Title.isDefined() ) return settings.m_Title.value(); - if ( settings.m_FullTitle.isDefined() ) return NullXString8; + if ( settings._Title.isDefined() ) return settings._Title.value(); + if ( settings._FullTitle.isDefined() ) return NullXString8; return parent.settings.dgetTitle(); }; const XString8& CUSTOM_LOADER_SUBENTRY::getFullTitle() const { - if ( settings.m_FullTitle.isDefined() ) return settings.m_FullTitle.value(); - if ( settings.m_Title.isDefined() ) return NullXString8; + if ( settings._FullTitle.isDefined() ) return settings._FullTitle.value(); + if ( settings._Title.isDefined() ) return NullXString8; return parent.settings.FullTitle; }; @@ -1553,25 +1553,25 @@ FillinCustomSubEntry ( // } else { // Entry->Options.SPrintf("%s", Prop->getString()->stringValue()); // } - Entry->m_AddArguments = Prop->getString()->stringValue(); + Entry->_AddArguments = Prop->getString()->stringValue(); // Entry->LoadOptions.import(Split(Prop->getString()->stringValue(), " ")); } else { Prop = DictPointer->propertyForKey("Arguments"); if (Prop != NULL && (Prop->isString())) { // Entry->Options.SPrintf("%s", Prop->getString()->stringValue()); - Entry->m_Arguments = Prop->getString()->stringValue(); + Entry->_Arguments = Prop->getString()->stringValue(); // Entry->LoadOptions = Split(Prop->getString()->stringValue(), " "); // Entry->Flags = OSFLAG_SET(Entry->Flags, OSFLAG_NODEFAULTARGS); } } Prop = DictPointer->propertyForKey("Title"); if (Prop != NULL && (Prop->isString())) { - Entry->m_Title = Prop->getString()->stringValue(); + Entry->_Title = Prop->getString()->stringValue(); // Entry->FullTitle.setEmpty(); // jief : erase the copy from the parent } Prop = DictPointer->propertyForKey("FullTitle"); if (Prop != NULL && (Prop->isString())) { - Entry->m_FullTitle = Prop->getString()->stringValue(); + Entry->_FullTitle = Prop->getString()->stringValue(); // Entry->Title.setEmpty(); // jief : erase the copy from the parent. Could also be the previous settings, but Title is not used when FullTitle exists. } @@ -1705,11 +1705,11 @@ FillinCustomSubEntry ( // Entry->LoadOptions.Add("-s"); // Entry->LoadOptions.Add("-h"); // } - if (Entry->m_Title.dgetValue().isEmpty()) { + if (Entry->_Title.dgetValue().isEmpty()) { if (OSTYPE_IS_OSX_RECOVERY(parentType)) { - Entry->m_Title = "Recovery"_XS8; + Entry->_Title = "Recovery"_XS8; } else if (OSTYPE_IS_OSX_INSTALLER(parentType)) { - Entry->m_Title = "Install macOS"_XS8; + Entry->_Title = "Install macOS"_XS8; } } // if (Entry->Image.isEmpty() && (Entry->ImagePath.isEmpty())) { @@ -1759,12 +1759,12 @@ FillinCustomSubEntry ( if (Prop != NULL) { if (IsPropertyNotNullAndTrue(Prop)) { // Entry->Flags = OSFLAG_SET(Entry->Flags, OSFLAG_NOCACHES); - Entry->m_NoCaches = true; + Entry->_NoCaches = true; } else { // Use global settings if (gSettings.SystemParameters.NoCaches) { // Entry->Flags = OSFLAG_SET(Entry->Flags, OSFLAG_NOCACHES); - Entry->m_NoCaches = false; + Entry->_NoCaches = false; } } } @@ -2492,7 +2492,7 @@ EFI_STATUS GetEarlyUserSettings ( if (BootDict != NULL) { const TagStruct* Prop = BootDict->propertyForKey("Timeout"); if (Prop != NULL) { - gSettings.Boot.Timeout = (INT32)GetPropertyAsInteger(Prop, gSettings.Boot.Timeout); + gSettings.Boot.Timeout = GetPropertyAsInteger(Prop, gSettings.Boot.Timeout); DBG("timeout set to %lld\n", gSettings.Boot.Timeout); } @@ -3095,7 +3095,7 @@ EFI_STATUS GetEarlyUserSettings ( const TagStruct* Prop = GraphicsDict->propertyForKey("PatchVBios"); gSettings.Graphics.PatchVBios = IsPropertyNotNullAndTrue(Prop); - gSettings.Graphics.PatchVBiosBytesNew.setEmpty(); + gSettings.Graphics.PatchVBiosBytes.setEmpty(); const TagArray* Dict2 = GraphicsDict->arrayPropertyForKey("PatchVBiosBytes"); // array of dict if (Dict2 != NULL) { @@ -3139,7 +3139,7 @@ EFI_STATUS GetEarlyUserSettings ( // VBiosPatch->NumberOfBytes = FindSize; // go to next entry // ++gSettings.Graphics.PatchVBiosBytesCount; - gSettings.Graphics.PatchVBiosBytesNew.AddReference(VBiosPatchPtr, true); + gSettings.Graphics.PatchVBiosBytes.AddReference(VBiosPatchPtr, true); } else { // error - release mem delete VBiosPatchPtr; @@ -3185,6 +3185,7 @@ EFI_STATUS GetEarlyUserSettings ( MsgLog("MALFORMED PLIST : DisableDrivers must be an array of string"); continue; } + if ( Prop->getString()->stringValue().notEmpty() ) gSettings.DisabledDriverArray.Add(Prop->getString()->stringValue()); } } @@ -4014,8 +4015,8 @@ static void getACPISettings(const TagDict *CfgDict, SETTINGS_DATA& gSettings) gSettings.ACPI.DSDT.DSDTPatchArray.setEmpty(); for (i = 0; i < Count; i++) { - DSDT_Patch* dsdtPatchPtr = new DSDT_Patch(); - DSDT_Patch& dsdtPatch = *dsdtPatchPtr; + SETTINGS_DATA::ACPIClass::DSDTClass::DSDT_Patch* dsdtPatchPtr = new SETTINGS_DATA::ACPIClass::DSDTClass::DSDT_Patch(); + SETTINGS_DATA::ACPIClass::DSDTClass::DSDT_Patch& dsdtPatch = *dsdtPatchPtr; UINTN Size = 0; const TagDict* Prop2 = PatchesArray->dictElementAt(i,"DSDT/Patches"_XS8); DBG(" - [%02lld]:", i); @@ -5505,18 +5506,18 @@ EFI_STATUS GetUserSettings(const TagDict* CfgDict, SETTINGS_DATA& gSettings) //else gUuid value from SMBIOS // DBG("Finally use %s\n", strguid(&gUuid)); - gSettings.SystemParameters.InjectSystemID = 2; + gSettings.SystemParameters._InjectSystemID = 2; Prop = SystemParametersDict->propertyForKey("InjectSystemID"); if ( Prop ) { - if ( Prop->isBool() ) gSettings.SystemParameters.InjectSystemID = Prop->getBool()->boolValue(); + if ( Prop->isBool() ) gSettings.SystemParameters._InjectSystemID = Prop->getBool()->boolValue(); else if ( Prop->isString() ) { // TODO a function that takes a string and return if it's true or false - if ( Prop->getString()->stringValue().equalIC("true") ) gSettings.SystemParameters.InjectSystemID = 1; - else if ( Prop->getString()->stringValue()[0] == 'y' ) gSettings.SystemParameters.InjectSystemID = 1; - else if ( Prop->getString()->stringValue()[0] == 'Y' ) gSettings.SystemParameters.InjectSystemID = 1; - else if ( Prop->getString()->stringValue().equalIC("false") ) gSettings.SystemParameters.InjectSystemID = 0; - else if ( Prop->getString()->stringValue().equalIC("n") ) gSettings.SystemParameters.InjectSystemID = 0; - else if ( Prop->getString()->stringValue().equalIC("N") ) gSettings.SystemParameters.InjectSystemID = 0; + if ( Prop->getString()->stringValue().equalIC("true") ) gSettings.SystemParameters._InjectSystemID = 1; + else if ( Prop->getString()->stringValue()[0] == 'y' ) gSettings.SystemParameters._InjectSystemID = 1; + else if ( Prop->getString()->stringValue()[0] == 'Y' ) gSettings.SystemParameters._InjectSystemID = 1; + else if ( Prop->getString()->stringValue().equalIC("false") ) gSettings.SystemParameters._InjectSystemID = 0; + else if ( Prop->getString()->stringValue().equalIC("n") ) gSettings.SystemParameters._InjectSystemID = 0; + else if ( Prop->getString()->stringValue().equalIC("N") ) gSettings.SystemParameters._InjectSystemID = 0; else { DBG("MALFORMED PLIST : SMBIOS/InjectSystemID must be true, yes, false, no, or non existant"); } diff --git a/rEFIt_UEFI/Platform/Settings.h b/rEFIt_UEFI/Platform/Settings.h index ab52eeac2..cc1d1c942 100644 --- a/rEFIt_UEFI/Platform/Settings.h +++ b/rEFIt_UEFI/Platform/Settings.h @@ -14,6 +14,8 @@ #include "../cpp_lib/undefinable.h" #include "../entry_scan/loader.h" // for KERNEL_SCAN_xxx constants //#include "card_vlist.h" +#include "ConfigPlist/ConfigPlistClass.h" + #define CLOVER_SIGN SIGNATURE_32('C','l','v','r') @@ -135,31 +137,32 @@ public: class CUSTOM_LOADER_SUBENTRY_SETTINGS; class CUSTOM_LOADER_SUBENTRY; -class GUI_Custom_SubEntry_Class; -template class XmlArray; +//class ConfigPlistClass; +//class ConfigPlistClass::GUI_Custom_Entry_Class; +//template class XmlArray; -void CompareCustomSubEntries(const XString8& label, const XObjArray& olDCustomEntries, const XmlArray& newCustomEntries); -BOOLEAN FillinCustomSubEntry(UINT8 parentType, IN OUT CUSTOM_LOADER_SUBENTRY_SETTINGS *Entry, const TagDict* DictPointer, IN BOOLEAN SubEntry); +//void CompareCustomSubEntries(const XString8& label, const XObjArray& olDCustomEntries, const XmlArray& newCustomEntries); +//BOOLEAN FillinCustomSubEntry(UINT8 parentType, IN OUT CUSTOM_LOADER_SUBENTRY_SETTINGS *Entry, const TagDict* DictPointer, IN BOOLEAN SubEntry); class CUSTOM_LOADER_SUBENTRY_SETTINGS { public: bool Disabled = 0; -protected: - // member defined with m_ prefix should not be accessed from outside. I left them public for now for CompareCustomEntries() - undefinable_XString8 m_Arguments = undefinable_XString8(); - XString8 m_AddArguments = XString8(); +public: // temporary, must be protected: + // member defined with _ prefix should not be accessed from outside. I left them public for now for CompareCustomEntries() + undefinable_XString8 _Arguments = undefinable_XString8(); + XString8 _AddArguments = XString8(); - undefinable_XString8 m_FullTitle = undefinable_XString8(); - undefinable_XString8 m_Title = undefinable_XString8(); + undefinable_XString8 _FullTitle = undefinable_XString8(); + undefinable_XString8 _Title = undefinable_XString8(); - undefinable_bool m_NoCaches = undefinable_bool(); + undefinable_bool _NoCaches = undefinable_bool(); public: - friend void ::CompareCustomSubEntries(const XString8& label, const XObjArray& olDCustomEntries, const XmlArray& newCustomEntries); - friend BOOLEAN FillinCustomSubEntry(UINT8 parentType, IN OUT CUSTOM_LOADER_SUBENTRY_SETTINGS *Entry, const TagDict* DictPointer, IN BOOLEAN SubEntry); - friend class ::CUSTOM_LOADER_SUBENTRY; +// friend void ::CompareCustomSubEntries(const XString8& label, const XObjArray& olDCustomEntries, const XmlArray& newCustomEntries); +// friend BOOLEAN FillinCustomSubEntry(UINT8 parentType, IN OUT CUSTOM_LOADER_SUBENTRY_SETTINGS *Entry, const TagDict* DictPointer, IN BOOLEAN SubEntry); +// friend class ::CUSTOM_LOADER_SUBENTRY; }; class CUSTOM_LOADER_ENTRY; @@ -179,11 +182,11 @@ public: const XString8& getFullTitle() const; }; -class GUI_Custom_Entry_Class; +//class GUI_Custom_Entry_Class; class CUSTOM_LOADER_ENTRY_SETTINGS; - -void CompareCustomEntries(const XString8& label, const XObjArray& olDCustomEntries, const XmlArray& newCustomEntries); -BOOLEAN FillinCustomEntry(IN OUT CUSTOM_LOADER_ENTRY_SETTINGS *Entry, const TagDict* DictPointer, IN BOOLEAN SubEntry); +// +//void CompareCustomEntries(const XString8& label, const XObjArray& olDCustomEntries, const XmlArray& newCustomEntries); +//BOOLEAN FillinCustomEntry(IN OUT CUSTOM_LOADER_ENTRY_SETTINGS *Entry, const TagDict* DictPointer, IN BOOLEAN SubEntry); extern const XString8 defaultInstallTitle; extern const XString8 defaultRecoveryTitle; @@ -194,23 +197,13 @@ class CUSTOM_LOADER_ENTRY_SETTINGS { public: bool Disabled = 0; - XObjArray SubEntriesSettings = XObjArray(); -protected: - XStringW m_ImagePath = XStringW(); -public: XBuffer ImageData = XBuffer(); -protected: - XStringW m_DriveImagePath = XStringW(); -public: XBuffer DriveImageData = XBuffer(); XStringW Volume = XStringW(); XStringW Path = XStringW(); undefinable_XString8 Arguments = undefinable_XString8(); XString8 AddArguments = XString8(); XString8 FullTitle = XStringW(); -protected: - XString8 m_Title = XStringW(); -public: XStringW Settings = XStringW(); // path of a config.plist that'll be read at the beginning of startloader CHAR16 Hotkey = 0; BOOLEAN CommonSettings = 0; @@ -220,17 +213,21 @@ public: UINT8 Type = 0; UINT8 VolumeType = 0; UINT8 KernelScan = KERNEL_SCAN_ALL; -protected: - UINT8 CustomLogoTypeSettings = 0; -public: XString8 CustomLogoAsXString8 = XString8(); XBuffer CustomLogoAsData = XBuffer(); EFI_GRAPHICS_OUTPUT_BLT_PIXEL BootBgColor = EFI_GRAPHICS_OUTPUT_BLT_PIXEL({0,0,0,0}); INT8 InjectKexts = -1; undefinable_bool NoCaches = undefinable_bool(); + XObjArray SubEntriesSettings = XObjArray(); +public: // temporary, must be protected: + XStringW m_DriveImagePath = XStringW(); + XString8 m_Title = XStringW(); + UINT8 CustomLogoTypeSettings = 0; + XStringW m_ImagePath = XStringW(); +public: friend class ::CUSTOM_LOADER_ENTRY; - friend void ::CompareCustomEntries(const XString8& label, const XObjArray& olDCustomEntries, const XmlArray& newCustomEntries); +// friend void ::CompareCustomEntries(const XString8& label, const XObjArray& olDCustomEntries, const XmlArray& newCustomEntries); friend BOOLEAN FillinCustomEntry(IN OUT CUSTOM_LOADER_ENTRY_SETTINGS *Entry, const TagDict* DictPointer, IN BOOLEAN SubEntry); @@ -413,23 +410,6 @@ public: DEV_PROPERTY& operator=(const DEV_PROPERTY&) = delete; }; -//#pragma GCC diagnostic error "-Wpadded" - -class DSDT_Patch -{ -public : - bool Disabled = bool(); - XString8 PatchDsdtLabel = XString8(); - XBuffer PatchDsdtFind = XBuffer(); - XBuffer PatchDsdtReplace = XBuffer(); - XBuffer PatchDsdtTgt = XBuffer(); - INPUT_ITEM PatchDsdtMenuItem = INPUT_ITEM(); - - DSDT_Patch() = default; // default is fine if there is only native type and objects that have copy ctor - DSDT_Patch(const DSDT_Patch& other) = default; // default is fine if there is only native type and objects that have copy ctor - DSDT_Patch& operator = ( const DSDT_Patch & ) = default; // default is fine if there is only native type and objects that have copy ctor -}; - class MMIOWhiteList { public : @@ -476,9 +456,9 @@ public: class SETTINGS_DATA; -class ConfigPlist; +class ConfigPlistClass; class TagDict; -bool CompareEarlyUserSettingsWithConfigPlist(const SETTINGS_DATA& olDSettings, const ConfigPlist& configPlist); +//bool CompareOldNewSettings(const SETTINGS_DATA& , const ConfigPlistClass& ); EFI_STATUS GetUserSettings(const TagDict* CfgDict, SETTINGS_DATA& gSettings); class SETTINGS_DATA { @@ -503,8 +483,8 @@ public: bool HibernationFixup = false; bool SignatureFixup = false; INT8 SecureSetting = 0; // 0 == false, 1 == true, -1 == undefined -// UINT8 SecureBoot = 0; -// UINT8 SecureBootSetupMode = 0; + //UINT8 SecureBoot = 0; + //UINT8 SecureBootSetupMode = 0; UINT8 SecureBootPolicy = 0; // Secure boot white/black list XStringWArray SecureBootWhiteList = XStringWArray(); @@ -516,7 +496,7 @@ public: UINT8 CustomLogoType = 0; XString8 CustomLogoAsXString8 = XString8(); XBuffer CustomLogoAsData = XBuffer(); - } Boot = BootClass(); + }; class ACPIClass { @@ -529,11 +509,21 @@ public: UINT32 TabLength = 0; bool OtherOS = 0; }; - XObjArray ACPIDropTablesArray = XObjArray(); class DSDTClass { public: + class DSDT_Patch + { + public : + bool Disabled = bool(); + XString8 PatchDsdtLabel = XString8(); + XBuffer PatchDsdtFind = XBuffer(); + XBuffer PatchDsdtReplace = XBuffer(); + XBuffer PatchDsdtTgt = XBuffer(); + INPUT_ITEM PatchDsdtMenuItem = INPUT_ITEM(); + }; + XStringW DsdtName = XStringW(); bool DebugDSDT = 0; bool Rtc8Allowed = 0; @@ -542,7 +532,7 @@ public: bool ReuseFFFF = 0; bool SuspendOverride = 0; XObjArray DSDTPatchArray = XObjArray(); - } DSDT = DSDTClass(); + }; class SSDTClass { @@ -555,44 +545,65 @@ public: bool GenerateAPSN = 0; bool GenerateAPLF = 0; bool GeneratePluginType = 0; - } Generate = GenerateClass(); - bool DropSSDTSetting = 0; - bool NoOemTableId = 0; - bool NoDynamicExtract = 0; - bool EnableISS = 0; - bool EnableC7 = 0; - bool _EnableC6 = 0; - bool _EnableC4 = 0; - bool _EnableC2 = 0; + }; + + bool DropSSDTSetting = 0; + bool NoOemTableId = 0; + bool NoDynamicExtract = 0; + bool EnableISS = 0; + bool EnableC7 = 0; + bool _EnableC6 = 0; + bool _EnableC4 = 0; + bool _EnableC2 = 0; UINT16 _C3Latency = 0; UINT8 PLimitDict = 0; UINT8 UnderVoltStep = 0; - bool DoubleFirstState = 0; + bool DoubleFirstState = 0; UINT8 MinMultiplier = 0; UINT8 MaxMultiplier = 0; UINT8 PluginType = 0; - } SSDT = SSDTClass(); + GenerateClass Generate = GenerateClass(); + }; - UINT64 ResetAddr = 0; - UINT8 ResetVal = 0; - bool SlpSmiEnable = 0; - bool FixHeaders = 0; - bool FixMCFG = 0; - bool NoASPM = 0; - bool smartUPS = 0; - bool PatchNMI = 0; - bool AutoMerge = 0; - XStringWArray DisabledAML = XStringWArray(); - XString8Array SortedACPI = XString8Array(); - XObjArray DeviceRename = XObjArray(); - - } ACPI = ACPIClass(); + UINT64 ResetAddr = 0; + UINT8 ResetVal = 0; + bool SlpSmiEnable = 0; + bool FixHeaders = 0; + bool FixMCFG = 0; + bool NoASPM = 0; + bool smartUPS = 0; + bool PatchNMI = 0; + bool AutoMerge = 0; + XStringWArray DisabledAML = XStringWArray(); + XString8Array SortedACPI = XString8Array(); + XObjArray DeviceRename = XObjArray(); + XObjArray ACPIDropTablesArray = XObjArray(); + DSDTClass DSDT = DSDTClass(); + SSDTClass SSDT = SSDTClass(); + }; class GUIClass { public: + class MouseClass { + public: + INTN PointerSpeed = 0; + bool PointerEnabled = 0; + UINT64 DoubleClickTime = 0; + bool PointerMirror = 0; + } ; + class ScanClass { + public: + bool DisableEntryScan = 0; + bool DisableToolScan = 0; + UINT8 KernelScan = 0; + bool LinuxScan = 0; + bool LegacyFirst = false; + bool NoLegacy = false; + }; + INT32 Timezone = -1; XStringW Theme = XStringW(); -// bool DarkEmbedded = 0; + //bool DarkEmbedded = 0; XString8 EmbeddedThemeType = XString8(); bool PlayAsync = 0; bool CustomIcons = false; @@ -602,31 +613,17 @@ public: bool ProvideConsoleGop = 0; INTN ConsoleMode = 0; LANGUAGES Language = english; - bool KbdPrevLang = 0; - class MouseClass { - public: - INTN PointerSpeed = 0; - bool PointerEnabled = 0; - UINT64 DoubleClickTime = 0; - bool PointerMirror = 0; - } Mouse = MouseClass(); + bool KbdPrevLang = 0; XString8Array HVHideStrings = XString8Array(); - class ScanClass { - public: - bool DisableEntryScan = 0; - bool DisableToolScan = 0; - UINT8 KernelScan = 0; - bool LinuxScan = 0; - bool LegacyFirst = false; - bool NoLegacy = false; - } Scan = ScanClass(); + ScanClass Scan = ScanClass(); + MouseClass Mouse = MouseClass(); XObjArray CustomEntriesSettings = XObjArray(); XObjArray CustomLegacySettings = XObjArray(); XObjArray CustomToolSettings = XObjArray(); - bool getDarkEmbedded(bool isDaylight) const; + bool getDarkEmbedded(bool isDaylight) const; - } GUI = GUIClass(); + }; class CPUClass { public: @@ -646,7 +643,7 @@ public: undefinable_bool _EnableC4 = undefinable_bool(); undefinable_bool _EnableC2 = undefinable_bool(); undefinable_uint16 _C3Latency = undefinable_uint16(); - } CPU = CPUClass(); + }; class SystemParametersClass { public: @@ -656,24 +653,17 @@ public: uint16_t BacklightLevel = 0xFFFF; bool BacklightLevelConfig = false; XString8 CustomUuid = XString8(); - protected: - UINT8 InjectSystemID = 2; // 0=false, 1=true, other value = default. + public: // temporary, must be protected: + UINT8 _InjectSystemID = 2; // 0=false, 1=true, other value = default. public: bool NvidiaWeb = 0; friend class ::SETTINGS_DATA; - friend bool ::CompareEarlyUserSettingsWithConfigPlist(const SETTINGS_DATA& olDSettings, const ConfigPlist& configPlist); friend unsigned long long ::GetUserSettings(const TagDict* CfgDict, SETTINGS_DATA& gSettings); - - } SystemParameters = SystemParametersClass(); - - KERNEL_AND_KEXT_PATCHES KernelAndKextPatches = KERNEL_AND_KEXT_PATCHES(); + }; class GraphicsClass { public: - bool PatchVBios = bool(); - PatchVBiosBytesNewClass PatchVBiosBytesNew = PatchVBiosBytesNewClass(); - class EDIDClass { public: bool InjectEDID = bool(); @@ -682,16 +672,29 @@ public: UINT16 ProductEDID = UINT16(); UINT16 EdidFixHorizontalSyncPulseWidth = UINT16(); UINT8 EdidFixVideoInputSignal = UINT8(); - } EDID = EDIDClass(); + }; - undefinable_bool InjectAsBool = undefinable_bool(); class InjectAsDictClass { public: bool InjectIntel = bool(); bool InjectATI = bool(); bool InjectNVidia = bool(); - } InjectAsDict = InjectAsDictClass(); - + }; + + class GRAPHIC_CARD { + public: + UINT32 Signature = 0; + XString8 Model = XString8(); + UINT32 Id = 0; + UINT32 SubId = 0; + UINT64 VideoRam = 0; + UINTN VideoPorts = 0; + bool LoadVBios = 0; + }; + + bool PatchVBios = bool(); + PatchVBiosBytesNewClass PatchVBiosBytes = PatchVBiosBytesNewClass(); + undefinable_bool InjectAsBool = undefinable_bool(); bool RadeonDeInit = bool(); bool LoadVBios = bool(); UINT64 VRAM = bool(); @@ -706,29 +709,17 @@ public: INT8 BootDisplay = INT8(); UINT32 DualLink = UINT32(); UINT32 IgPlatform = UINT32(); //could also be snb-platform-id - - - class GRAPHIC_CARD { - public: - UINT32 Signature = 0; - XString8 Model = XString8(); - UINT32 Id = 0; - UINT32 SubId = 0; - UINT64 VideoRam = 0; - UINTN VideoPorts = 0; - bool LoadVBios = 0; - }; + EDIDClass EDID = EDIDClass(); + InjectAsDictClass InjectAsDict = InjectAsDictClass(); XObjArray gCardList = XObjArray(); -// bool getGraphicsInjector() const { return InjectAsBool.isDefined() ? InjectAsBool.value() : InjectAsDict.GraphicsInjector; } + //bool getGraphicsInjector() const { return InjectAsBool.isDefined() ? InjectAsBool.value() : InjectAsDict.GraphicsInjector; } bool InjectIntel() const { return InjectAsBool.isDefined() ? InjectAsBool.value() : InjectAsDict.InjectIntel; } bool InjectATI() const { return InjectAsBool.isDefined() ? InjectAsBool.value() : InjectAsDict.InjectATI; } bool InjectNVidia() const { return InjectAsBool.isDefined() ? InjectAsBool.value() : InjectAsDict.InjectNVidia; } - - - } Graphics = GraphicsClass(); + }; class DevicesClass { public: @@ -738,61 +729,52 @@ public: bool ResetHDA = bool(); } Audio = AudioClass(); - } Devices = DevicesClass(); + }; class QuirksClass { public: bool FuzzyMatch = bool(); XString8 OcKernelCache = XString8(); OC_KERNEL_QUIRKS OcKernelQuirks = OC_KERNEL_QUIRKS(); - } Quirks = QuirksClass(); - - XStringWArray DisabledDriverArray = XStringWArray(); + }; class RtVariablesClass { public: - - XString8 RtROMAsString = XString8(); - XBuffer RtROMAsData = XBuffer(); - XString8 RtMLBSetting = XString8(); - UINT32 CsrActiveConfig = UINT32(); - UINT16 BooterConfig = UINT16(); - XString8 BooterCfgStr = XString8(); + class RT_VARIABLES + { + public: + XString8 Comment = XStringW(); + XStringW Name = XStringW(); + EFI_GUID VarGuid = {0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}}; + }; + + XString8 RtROMAsString = XString8(); + XBuffer RtROMAsData = XBuffer(); + XString8 RtMLBSetting = XString8(); + UINT32 CsrActiveConfig = UINT32(); + UINT16 BooterConfig = UINT16(); + XString8 BooterCfgStr = XString8(); + XObjArray BlockRtVariableArray = XObjArray(); - class RT_VARIABLES - { - public: - XString8 Comment = XStringW(); - XStringW Name = XStringW(); - EFI_GUID VarGuid = {0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}}; - }; - XObjArray BlockRtVariableArray = XObjArray(); + bool GetLegacyLanAddress() const { + return RtROMAsString.equalIC("UseMacAddr0") || RtROMAsString.equalIC("UseMacAddr1"); + } - bool GetLegacyLanAddress() const { - return RtROMAsString.equalIC("UseMacAddr0") || RtROMAsString.equalIC("UseMacAddr1"); - } - - } RtVariables = RtVariablesClass(); + }; + BootClass Boot = BootClass(); + ACPIClass ACPI = ACPIClass(); + GUIClass GUI = GUIClass(); + CPUClass CPU = CPUClass(); + SystemParametersClass SystemParameters = SystemParametersClass(); + KERNEL_AND_KEXT_PATCHES KernelAndKextPatches = KERNEL_AND_KEXT_PATCHES(); + GraphicsClass Graphics = GraphicsClass(); + XStringWArray DisabledDriverArray = XStringWArray(); + QuirksClass Quirks = QuirksClass(); + RtVariablesClass RtVariables = RtVariablesClass(); + DevicesClass Devices = DevicesClass(); - bool getEnableC6() const { - if ( CPU._EnableC6.isDefined() ) return CPU._EnableC6.value(); - return ACPI.SSDT._EnableC6; - } - bool getEnableC4() const { - if ( CPU._EnableC4.isDefined() ) return CPU._EnableC4.value(); - return ACPI.SSDT._EnableC4; - } - bool getEnableC2() const { - if ( CPU._EnableC2.isDefined() ) return CPU._EnableC2.value(); - return ACPI.SSDT._EnableC2; - } - bool getC3Latency() const { - if ( CPU._C3Latency.isDefined() ) return CPU._C3Latency.value(); - return ACPI.SSDT._C3Latency; - } - // SMBIOS TYPE0 XString8 VendorName; XString8 RomVersion; @@ -1007,13 +989,31 @@ public: // If SmUUID is defined, return true by default. bool ShouldInjectSystemID() { if ( SystemParameters.CustomUuid.notEmpty() && SystemParameters.CustomUuid != nullGuid ) { - if ( SystemParameters.InjectSystemID == 2 ) return false; - else return SystemParameters.InjectSystemID; + if ( SystemParameters._InjectSystemID == 2 ) return false; + else return SystemParameters._InjectSystemID; } if ( SmUUID.isEmpty() || SmUUID == nullGuid ) return false; - if ( SystemParameters.InjectSystemID == 2 ) return true; - return SystemParameters.InjectSystemID; + if ( SystemParameters._InjectSystemID == 2 ) return true; + return SystemParameters._InjectSystemID; } + + bool getEnableC6() const { + if ( CPU._EnableC6.isDefined() ) return CPU._EnableC6.value(); + return ACPI.SSDT._EnableC6; + } + bool getEnableC4() const { + if ( CPU._EnableC4.isDefined() ) return CPU._EnableC4.value(); + return ACPI.SSDT._EnableC4; + } + bool getEnableC2() const { + if ( CPU._EnableC2.isDefined() ) return CPU._EnableC2.value(); + return ACPI.SSDT._EnableC2; + } + bool getC3Latency() const { + if ( CPU._C3Latency.isDefined() ) return CPU._C3Latency.value(); + return ACPI.SSDT._C3Latency; + } + }; //#pragma GCC diagnostic ignored "-Wpadded" @@ -1188,7 +1188,7 @@ public: XBuffer RtROM = XBuffer(); XString8 RtMLB = XString8(); - bool Turbo; + bool Turbo = true; REFIT_CONFIG() {}; REFIT_CONFIG(const REFIT_CONFIG& other) = delete; // Can be defined if needed diff --git a/rEFIt_UEFI/cpp_lib/undefinable.h b/rEFIt_UEFI/cpp_lib/undefinable.h index 13bc6ee7d..fc0d99d4e 100644 --- a/rEFIt_UEFI/cpp_lib/undefinable.h +++ b/rEFIt_UEFI/cpp_lib/undefinable.h @@ -44,7 +44,7 @@ class undefinable_bool : public undefinable using super = undefinable; public: undefinable_bool() { } - undefinable_bool(bool newValue) { super::operator=(newValue); } + explicit undefinable_bool(bool newValue) { super::operator=(newValue); } undefinable_bool& operator = (bool newValue) { super::operator=(newValue); return *this; } }; @@ -53,7 +53,7 @@ class undefinable_uint16 : public undefinable using super = undefinable; public: undefinable_uint16() { } - undefinable_uint16(uint32_t newValue) { super::operator=(newValue); } + explicit undefinable_uint16(uint32_t newValue) { super::operator=(newValue); } undefinable_uint16& operator = (uint16_t newValue) { super::operator=(newValue); return *this; } }; @@ -62,7 +62,7 @@ class undefinable_uint32 : public undefinable using super = undefinable; public: undefinable_uint32() { } - undefinable_uint32(uint32_t newValue) { super::operator=(newValue); } + explicit undefinable_uint32(uint32_t newValue) { super::operator=(newValue); } undefinable_uint32& operator = (uint32_t newValue) { super::operator=(newValue); return *this; } }; @@ -70,6 +70,8 @@ class undefinable_XString8 : public undefinable { using super = undefinable; public: + undefinable_XString8() { } + explicit undefinable_XString8(const XString8& newValue) { super::operator=(newValue); } undefinable_XString8& operator = (XString8 newValue) { super::operator=(newValue); return *this; } }; diff --git a/rEFIt_UEFI/cpp_unit_test/config-test.cpp b/rEFIt_UEFI/cpp_unit_test/config-test.cpp index cee6d9c11..235f0afe8 100755 --- a/rEFIt_UEFI/cpp_unit_test/config-test.cpp +++ b/rEFIt_UEFI/cpp_unit_test/config-test.cpp @@ -5,7 +5,7 @@ #include "../Platform/plist/plist.h" #include "../cpp_lib/XmlLiteSimpleTypes.h" #include "../cpp_lib/XmlLiteParser.h" -#include "../Platform/ConfigPlist/ConfigPlist.h" +#include "../Platform/ConfigPlist/ConfigPlistClass.h" static const char* config_all = "\n\n\n\n\n\n\n\n\n\n\n" @@ -902,7 +902,7 @@ int config_plist_tests() // size_t length; // bool isOpeningTag, isClosingTag; bool b; - ConfigPlist configPlistTest; + ConfigPlistClass configPlistTest; XmlLiteParser xmlLiteParser; // xmlLiteParser.init(config_all, strlen(config_all)); diff --git a/rEFIt_UEFI/entry_scan/loader.cpp b/rEFIt_UEFI/entry_scan/loader.cpp index f4e02d377..1c497088f 100644 --- a/rEFIt_UEFI/entry_scan/loader.cpp +++ b/rEFIt_UEFI/entry_scan/loader.cpp @@ -1609,11 +1609,15 @@ void ScanLoader(void) rootDmg.replaceAll('/', '\\'); REFIT_VOLUME* targetInstallVolume = Volumes.getVolumeWithApfsContainerUUIDAndFileSystemUUID(Volume->ApfsContainerUUID, Volume->ApfsTargetUUIDArray[i]); if ( targetInstallVolume ) { - if ( rootDmg.isEmpty() || FileExists(*targetInstallVolume->RootDir, rootDmg) ) { // rootDmg empty is accepted, to be compatible with previous code + EFI_FILE_PROTOCOL* TestFile; + EFI_STATUS Status = targetInstallVolume->RootDir->Open(targetInstallVolume->RootDir, &TestFile, L"\\", EFI_FILE_MODE_READ, 0); + if ( EFI_ERROR(Status) ) TestFile = NULL; // if the root of the volume can't be opened (most likely encrypted), add the installer anyway. + if ( rootDmg.isEmpty() || EFI_ERROR(Status) || FileExists(*targetInstallVolume->RootDir, rootDmg) ) { // rootDmg empty is accepted, to be compatible with previous code AddLoaderEntry(SWPrintf("\\%s\\com.apple.installer\\boot.efi", Volume->ApfsTargetUUIDArray[i].c_str()), NullXString8Array, FullTitleInstaller, LoaderTitleInstaller, Volume, NULL, OSTYPE_OSX_INSTALLER, 0); }else{ DBG(" Dead installer entry found (installer dmg boot file not found : '%s')\n", rootDmg.c_str()); } + if ( TestFile != NULL ) TestFile->Close(TestFile); }else{ DBG(" Dead installer entry found (target volume not found : '%s')\n", Volume->ApfsTargetUUIDArray[i].c_str()); } diff --git a/rEFIt_UEFI/include/OneLinerMacros.h b/rEFIt_UEFI/include/OneLinerMacros.h index 8ed34c389..898db8fb0 100644 --- a/rEFIt_UEFI/include/OneLinerMacros.h +++ b/rEFIt_UEFI/include/OneLinerMacros.h @@ -31,6 +31,12 @@ #define REG32(base, reg) (*(volatile UINT32 *)((UINTN)base + reg)) #define WRITEREG32(base, reg, value) REG32((base), (reg)) = value + +#define CONCAT2(x, y) x ## y +#define CONCAT(x, y) CONCAT2(x, y) +#define STRINGIZE(x) #x + + #ifdef __cplusplus #include "../cpp_util/remove_ref.h" diff --git a/rEFIt_UEFI/refit/main.cpp b/rEFIt_UEFI/refit/main.cpp index d6bdf6837..166b8d2af 100644 --- a/rEFIt_UEFI/refit/main.cpp +++ b/rEFIt_UEFI/refit/main.cpp @@ -1016,9 +1016,9 @@ void LOADER_ENTRY::StartLoader() OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Scheme.KernelArch, "x86_64"); OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Scheme.KernelCache, gSettings.Quirks.OcKernelCache.c_str()); mOpenCoreConfiguration.Kernel.Scheme.FuzzyMatch = gSettings.Quirks.FuzzyMatch; - memcpy(&mOpenCoreConfiguration.Kernel.Quirks, &gSettings.Quirks.OcKernelQuirks, sizeof(mOpenCoreConfiguration.Kernel.Quirks)); gSettings.Quirks.OcKernelQuirks.AppleXcpmCfgLock = GlobalConfig.KPKernelPm; gSettings.Quirks.OcKernelQuirks.AppleCpuPmCfgLock = GlobalConfig.KPAppleIntelCPUPM; + memcpy(&mOpenCoreConfiguration.Kernel.Quirks, &gSettings.Quirks.OcKernelQuirks, sizeof(mOpenCoreConfiguration.Kernel.Quirks)); mOpenCoreConfiguration.Kernel.Add.Count = (UINT32)kextArray.size(); mOpenCoreConfiguration.Kernel.Add.AllocCount = mOpenCoreConfiguration.Kernel.Add.Count; @@ -1577,6 +1577,24 @@ void LOADER_ENTRY::StartLoader() LoadedImage->LoadOptions = (void*)LoadOptionsAsXStringW.wc_str(); LoadedImage->LoadOptionsSize = (UINT32)LoadOptionsAsXStringW.sizeInBytesIncludingTerminator(); + DBG("Kernel quirks\n"); + DBG("ACPCL %d AXCL %d AXEM %d AXFB %d CSG %d DIM %d DLJ %d DRC %d DPM %d EDI %d IPBS %d LKP %d PNKD %d PTKP %d TPD %d XPL %d\n", + mOpenCoreConfiguration.Kernel.Quirks.AppleCpuPmCfgLock, + mOpenCoreConfiguration.Kernel.Quirks.AppleXcpmCfgLock, + mOpenCoreConfiguration.Kernel.Quirks.AppleXcpmExtraMsrs, + mOpenCoreConfiguration.Kernel.Quirks.AppleXcpmForceBoost, + mOpenCoreConfiguration.Kernel.Quirks.CustomSmbiosGuid, + mOpenCoreConfiguration.Kernel.Quirks.DisableIoMapper, + mOpenCoreConfiguration.Kernel.Quirks.DisableLinkeditJettison, + mOpenCoreConfiguration.Kernel.Quirks.DisableRtcChecksum, + mOpenCoreConfiguration.Kernel.Quirks.DummyPowerManagement, + mOpenCoreConfiguration.Kernel.Quirks.ExternalDiskIcons, + mOpenCoreConfiguration.Kernel.Quirks.IncreasePciBarSize, + mOpenCoreConfiguration.Kernel.Quirks.LapicKernelPanic, + mOpenCoreConfiguration.Kernel.Quirks.PanicNoKextDump, + mOpenCoreConfiguration.Kernel.Quirks.PowerTimeoutKernelPanic, + mOpenCoreConfiguration.Kernel.Quirks.ThirdPartyDrives, + mOpenCoreConfiguration.Kernel.Quirks.XhciPortLimit); DBG("Closing log\n"); if (SavePreBootLog) { @@ -2083,8 +2101,8 @@ void DisconnectSomeDevices(void) void PatchVideoBios(UINT8 *Edid) { - if ( gSettings.Graphics.PatchVBiosBytesNew.notEmpty() ) { - VideoBiosPatchBytes(gSettings.Graphics.PatchVBiosBytesNew.getVBIOS_PATCH_BYTES(), gSettings.Graphics.PatchVBiosBytesNew.getVBIOS_PATCH_BYTES_count()); + if ( gSettings.Graphics.PatchVBiosBytes.notEmpty() ) { + VideoBiosPatchBytes(gSettings.Graphics.PatchVBiosBytes.getVBIOS_PATCH_BYTES(), gSettings.Graphics.PatchVBiosBytes.getVBIOS_PATCH_BYTES_count()); } if (gSettings.Graphics.PatchVBios) { @@ -2122,7 +2140,7 @@ static void LoadDrivers(void) ScanDriverDir(L"drivers32", &DriversToConnect, &DriversToConnectNum); #endif - VBiosPatchNeeded = gSettings.Graphics.PatchVBios || gSettings.Graphics.PatchVBiosBytesNew.getVBIOS_PATCH_BYTES_count() > 0; + VBiosPatchNeeded = gSettings.Graphics.PatchVBios || gSettings.Graphics.PatchVBiosBytes.getVBIOS_PATCH_BYTES_count() > 0; if (VBiosPatchNeeded) { // check if it is already done in CloverEFI BiosVideo Status = gRT->GetVariable (