somehow resolve conflict between c++ and swift
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
parent
e4d1a403ad
commit
67d332ce14
|
@ -449,6 +449,7 @@
|
||||||
95E68ADD235B86A1002B37A5 /* Disks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Disks.swift; sourceTree = "<group>"; };
|
95E68ADD235B86A1002B37A5 /* Disks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Disks.swift; sourceTree = "<group>"; };
|
||||||
95E68ADE235B86A1002B37A5 /* bdmesg.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = bdmesg.swift; sourceTree = "<group>"; };
|
95E68ADE235B86A1002B37A5 /* bdmesg.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = bdmesg.swift; sourceTree = "<group>"; };
|
||||||
95E68AE4235B89D9002B37A5 /* Installer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Installer.swift; sourceTree = "<group>"; };
|
95E68AE4235B89D9002B37A5 /* Installer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Installer.swift; sourceTree = "<group>"; };
|
||||||
|
A5263CE524FEC13300B3EB14 /* CloverOldHeaders.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CloverOldHeaders.h; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
@ -679,6 +680,7 @@
|
||||||
95E68AD2235B8632002B37A5 /* Info.plist */,
|
95E68AD2235B8632002B37A5 /* Info.plist */,
|
||||||
95E68AD3235B8632002B37A5 /* Clover.entitlements */,
|
95E68AD3235B8632002B37A5 /* Clover.entitlements */,
|
||||||
954FCFD023917A8A00C9273C /* Clover-Bridging-Header.h */,
|
954FCFD023917A8A00C9273C /* Clover-Bridging-Header.h */,
|
||||||
|
A5263CE524FEC13300B3EB14 /* CloverOldHeaders.h */,
|
||||||
954FCFD72391818300C9273C /* NSWindowFix.h */,
|
954FCFD72391818300C9273C /* NSWindowFix.h */,
|
||||||
954FCFD82391818300C9273C /* NSWindowFix.m */,
|
954FCFD82391818300C9273C /* NSWindowFix.m */,
|
||||||
9580403E2414070F00F09F2C /* ThemeImage.h */,
|
9580403E2414070F00F09F2C /* ThemeImage.h */,
|
||||||
|
|
|
@ -82,578 +82,5 @@ typedef struct {
|
||||||
UINT8 b, g, r, a;
|
UINT8 b, g, r, a;
|
||||||
} EG_PIXEL;
|
} EG_PIXEL;
|
||||||
|
|
||||||
typedef struct {
|
#import "CloverOldHeaders.h"
|
||||||
INTN Width;
|
|
||||||
INTN Height;
|
|
||||||
EG_PIXEL *PixelData;
|
|
||||||
BOOLEAN HasAlpha; //moved here to avoid alignment issue
|
|
||||||
} EG_IMAGE;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
BoolValue,
|
|
||||||
Decimal,
|
|
||||||
Hex,
|
|
||||||
ASString,
|
|
||||||
UNIString,
|
|
||||||
RadioSwitch,
|
|
||||||
CheckBit,
|
|
||||||
|
|
||||||
} ITEM_TYPE;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
ITEM_TYPE ItemType; //string, value, boolean
|
|
||||||
BOOLEAN Valid;
|
|
||||||
BOOLEAN BValue;
|
|
||||||
UINT8 Pad8;
|
|
||||||
UINT32 IValue;
|
|
||||||
// UINT64 UValue;
|
|
||||||
// CHAR8* AValue;
|
|
||||||
CHAR16* SValue; // Max Size (see below) so the field can be edit by the GUI
|
|
||||||
UINTN LineShift;
|
|
||||||
} INPUT_ITEM;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
kTagTypeNone,
|
|
||||||
kTagTypeDict,
|
|
||||||
kTagTypeKey,
|
|
||||||
kTagTypeString,
|
|
||||||
kTagTypeInteger,
|
|
||||||
kTagTypeData,
|
|
||||||
kTagTypeDate,
|
|
||||||
kTagTypeFalse,
|
|
||||||
kTagTypeTrue,
|
|
||||||
kTagTypeArray
|
|
||||||
} TAG_TYPE;
|
|
||||||
|
|
||||||
typedef struct DEV_PROPERTY DEV_PROPERTY; //yyyy
|
|
||||||
struct DEV_PROPERTY {
|
|
||||||
UINT32 Device;
|
|
||||||
EFI_DEVICE_PATH_PROTOCOL* DevicePath;
|
|
||||||
CHAR8 *Key;
|
|
||||||
UINT8 *Value;
|
|
||||||
UINTN ValueLen;
|
|
||||||
DEV_PROPERTY *Next; //next device or next property
|
|
||||||
DEV_PROPERTY *Child; // property list of the device
|
|
||||||
CHAR8 *Label;
|
|
||||||
INPUT_ITEM MenuItem;
|
|
||||||
TAG_TYPE ValueType;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct KEXT_PATCH KEXT_PATCH;
|
|
||||||
struct KEXT_PATCH
|
|
||||||
{
|
|
||||||
CHAR8 *Name;
|
|
||||||
CHAR8 *Label;
|
|
||||||
BOOLEAN IsPlistPatch;
|
|
||||||
CHAR8 align[7];
|
|
||||||
INT64 DataLen;
|
|
||||||
UINT8 *Data;
|
|
||||||
UINT8 *Patch;
|
|
||||||
UINT8 *MaskFind;
|
|
||||||
UINT8 *MaskReplace;
|
|
||||||
CHAR8 *MatchOS;
|
|
||||||
CHAR8 *MatchBuild;
|
|
||||||
INPUT_ITEM MenuItem;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
CHAR8 *Label;
|
|
||||||
INTN DataLen;
|
|
||||||
UINT8 *Data;
|
|
||||||
UINT8 *Patch;
|
|
||||||
UINT8 *MaskFind;
|
|
||||||
UINT8 *MaskReplace;
|
|
||||||
INTN Count;
|
|
||||||
CHAR8 *MatchOS;
|
|
||||||
CHAR8 *MatchBuild;
|
|
||||||
INPUT_ITEM MenuItem;
|
|
||||||
} KERNEL_PATCH;
|
|
||||||
|
|
||||||
typedef struct KERNEL_AND_KEXT_PATCHES
|
|
||||||
{
|
|
||||||
BOOLEAN KPDebug;
|
|
||||||
BOOLEAN KPKernelCpu;
|
|
||||||
BOOLEAN KPKernelLapic;
|
|
||||||
BOOLEAN KPKernelXCPM;
|
|
||||||
BOOLEAN KPKernelPm;
|
|
||||||
BOOLEAN KPAppleIntelCPUPM;
|
|
||||||
BOOLEAN KPAppleRTC;
|
|
||||||
BOOLEAN KPDELLSMBIOS; // Dell SMBIOS patch
|
|
||||||
BOOLEAN KPPanicNoKextDump;
|
|
||||||
UINT8 pad[3];
|
|
||||||
UINT32 FakeCPUID;
|
|
||||||
// UINT32 align0;
|
|
||||||
CHAR16 *KPATIConnectorsController;
|
|
||||||
#if defined(MDE_CPU_IA32)
|
|
||||||
UINT32 align1;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
UINT8 *KPATIConnectorsData;
|
|
||||||
#if defined(MDE_CPU_IA32)
|
|
||||||
UINT32 align2;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
UINTN KPATIConnectorsDataLen;
|
|
||||||
#if defined(MDE_CPU_IA32)
|
|
||||||
UINT32 align3;
|
|
||||||
#endif
|
|
||||||
UINT8 *KPATIConnectorsPatch;
|
|
||||||
#if defined(MDE_CPU_IA32)
|
|
||||||
UINT32 align4;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
INT32 NrKexts;
|
|
||||||
UINT32 align40;
|
|
||||||
KEXT_PATCH *KextPatches; //zzzz
|
|
||||||
#if defined(MDE_CPU_IA32)
|
|
||||||
UINT32 align5;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
INT32 NrForceKexts;
|
|
||||||
UINT32 align50;
|
|
||||||
CHAR16 **ForceKexts;
|
|
||||||
#if defined(MDE_CPU_IA32)
|
|
||||||
UINT32 align6;
|
|
||||||
#endif
|
|
||||||
INT32 NrKernels;
|
|
||||||
KERNEL_PATCH *KernelPatches;
|
|
||||||
INT32 NrBoots;
|
|
||||||
KERNEL_PATCH *BootPatches;
|
|
||||||
|
|
||||||
} KERNEL_AND_KEXT_PATCHES;
|
|
||||||
|
|
||||||
typedef struct ACPI_NAME_LIST ACPI_NAME_LIST;
|
|
||||||
struct ACPI_NAME_LIST {
|
|
||||||
ACPI_NAME_LIST *Next;
|
|
||||||
CHAR8 *Name;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct ACPI_DROP_TABLE ACPI_DROP_TABLE;
|
|
||||||
struct ACPI_DROP_TABLE
|
|
||||||
{
|
|
||||||
ACPI_DROP_TABLE *Next;
|
|
||||||
UINT32 Signature;
|
|
||||||
UINT32 Length;
|
|
||||||
UINT64 TableId;
|
|
||||||
INPUT_ITEM MenuItem;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct RT_VARIABLES RT_VARIABLES;
|
|
||||||
struct RT_VARIABLES {
|
|
||||||
// BOOLEAN Disabled;
|
|
||||||
CHAR16 *Name;
|
|
||||||
EFI_GUID VarGuid;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct CUSTOM_LOADER_ENTRY CUSTOM_LOADER_ENTRY;
|
|
||||||
struct CUSTOM_LOADER_ENTRY {
|
|
||||||
CUSTOM_LOADER_ENTRY *Next;
|
|
||||||
CUSTOM_LOADER_ENTRY *SubEntries;
|
|
||||||
EG_IMAGE *Image;
|
|
||||||
EG_IMAGE *DriveImage;
|
|
||||||
CONST CHAR16 *ImagePath;
|
|
||||||
CONST CHAR16 *DriveImagePath;
|
|
||||||
CONST CHAR16 *Volume;
|
|
||||||
CONST CHAR16 *Path;
|
|
||||||
CONST CHAR16 *Options;
|
|
||||||
CONST CHAR16 *FullTitle;
|
|
||||||
CONST CHAR16 *Title;
|
|
||||||
CONST CHAR16 *Settings;
|
|
||||||
CHAR16 Hotkey;
|
|
||||||
BOOLEAN CommonSettings;
|
|
||||||
UINT8 Flags;
|
|
||||||
UINT8 Type;
|
|
||||||
UINT8 VolumeType;
|
|
||||||
UINT8 KernelScan;
|
|
||||||
UINT8 CustomBoot;
|
|
||||||
EG_IMAGE *CustomLogo;
|
|
||||||
EG_PIXEL *BootBgColor;
|
|
||||||
KERNEL_AND_KEXT_PATCHES KernelAndKextPatches; //zzzz
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct CUSTOM_LEGACY_ENTRY CUSTOM_LEGACY_ENTRY;
|
|
||||||
struct CUSTOM_LEGACY_ENTRY {
|
|
||||||
CUSTOM_LEGACY_ENTRY *Next;
|
|
||||||
EG_IMAGE *Image;
|
|
||||||
EG_IMAGE *DriveImage;
|
|
||||||
CONST CHAR16 *ImagePath;
|
|
||||||
CONST CHAR16 *DriveImagePath;
|
|
||||||
CONST CHAR16 *Volume;
|
|
||||||
CONST CHAR16 *FullTitle;
|
|
||||||
CONST CHAR16 *Title;
|
|
||||||
CHAR16 Hotkey;
|
|
||||||
UINT8 Flags;
|
|
||||||
UINT8 Type;
|
|
||||||
UINT8 VolumeType;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct CUSTOM_TOOL_ENTRY CUSTOM_TOOL_ENTRY;
|
|
||||||
struct CUSTOM_TOOL_ENTRY {
|
|
||||||
CUSTOM_TOOL_ENTRY *Next;
|
|
||||||
EG_IMAGE *Image;
|
|
||||||
CHAR16 *ImagePath;
|
|
||||||
CHAR16 *Volume;
|
|
||||||
CHAR16 *Path;
|
|
||||||
CHAR16 *Options;
|
|
||||||
CHAR16 *FullTitle;
|
|
||||||
CHAR16 *Title;
|
|
||||||
CHAR16 Hotkey;
|
|
||||||
UINT8 Flags;
|
|
||||||
UINT8 VolumeType;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Set of Search & replace bytes for VideoBiosPatchBytes().
|
|
||||||
typedef struct _VBIOS_PATCH_BYTES {
|
|
||||||
VOID *Find;
|
|
||||||
VOID *Replace;
|
|
||||||
UINTN NumberOfBytes;
|
|
||||||
} VBIOS_PATCH_BYTES;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
|
|
||||||
// SMBIOS TYPE0
|
|
||||||
CHAR8 VendorName[64];
|
|
||||||
CHAR8 RomVersion[64];
|
|
||||||
CHAR8 EfiVersion[64];
|
|
||||||
CHAR8 ReleaseDate[64];
|
|
||||||
// SMBIOS TYPE1
|
|
||||||
CHAR8 ManufactureName[64];
|
|
||||||
CHAR8 ProductName[64];
|
|
||||||
CHAR8 VersionNr[64];
|
|
||||||
CHAR8 SerialNr[64];
|
|
||||||
EFI_GUID SmUUID;
|
|
||||||
BOOLEAN SmUUIDConfig;
|
|
||||||
CHAR8 pad0[7];
|
|
||||||
//CHAR8 Uuid[64];
|
|
||||||
//CHAR8 SKUNumber[64];
|
|
||||||
CHAR8 FamilyName[64];
|
|
||||||
CHAR8 OEMProduct[64];
|
|
||||||
CHAR8 OEMVendor[64];
|
|
||||||
// SMBIOS TYPE2
|
|
||||||
CHAR8 BoardManufactureName[64];
|
|
||||||
CHAR8 BoardSerialNumber[64];
|
|
||||||
CHAR8 BoardNumber[64]; //Board-ID
|
|
||||||
CHAR8 LocationInChassis[64];
|
|
||||||
CHAR8 BoardVersion[64];
|
|
||||||
CHAR8 OEMBoard[64];
|
|
||||||
UINT8 BoardType;
|
|
||||||
UINT8 Pad1;
|
|
||||||
// SMBIOS TYPE3
|
|
||||||
BOOLEAN Mobile;
|
|
||||||
UINT8 ChassisType;
|
|
||||||
CHAR8 ChassisManufacturer[64];
|
|
||||||
CHAR8 ChassisAssetTag[64];
|
|
||||||
// SMBIOS TYPE4
|
|
||||||
UINT32 CpuFreqMHz;
|
|
||||||
UINT32 BusSpeed; //in kHz
|
|
||||||
BOOLEAN Turbo;
|
|
||||||
UINT8 EnabledCores;
|
|
||||||
BOOLEAN UserChange;
|
|
||||||
BOOLEAN QEMU;
|
|
||||||
// SMBIOS TYPE17
|
|
||||||
UINT16 SmbiosVersion;
|
|
||||||
INT8 Attribute;
|
|
||||||
INT8 Pad17[1];
|
|
||||||
CHAR8 MemoryManufacturer[64];
|
|
||||||
CHAR8 MemorySerialNumber[64];
|
|
||||||
CHAR8 MemoryPartNumber[64];
|
|
||||||
CHAR8 MemorySpeed[64];
|
|
||||||
// SMBIOS TYPE131
|
|
||||||
UINT16 CpuType;
|
|
||||||
// SMBIOS TYPE132
|
|
||||||
UINT16 QPI;
|
|
||||||
BOOLEAN SetTable132;
|
|
||||||
BOOLEAN TrustSMBIOS;
|
|
||||||
BOOLEAN InjectMemoryTables;
|
|
||||||
INT8 XMPDetection;
|
|
||||||
BOOLEAN UseARTFreq;
|
|
||||||
// SMBIOS TYPE133
|
|
||||||
UINT64 PlatformFeature;
|
|
||||||
|
|
||||||
// PatchTableType11
|
|
||||||
BOOLEAN NoRomInfo;
|
|
||||||
|
|
||||||
// OS parameters
|
|
||||||
CHAR8 Language[16];
|
|
||||||
CHAR8 BootArgs[256];
|
|
||||||
CHAR16 CustomUuid[40];
|
|
||||||
|
|
||||||
CHAR16 *DefaultVolume;
|
|
||||||
CHAR16 *DefaultLoader;
|
|
||||||
//Boot
|
|
||||||
BOOLEAN LastBootedVolume;
|
|
||||||
BOOLEAN SkipHibernateTimeout;
|
|
||||||
//Monitor
|
|
||||||
BOOLEAN IntelMaxBacklight;
|
|
||||||
// UINT8 Pad21[1];
|
|
||||||
UINT16 VendorEDID;
|
|
||||||
UINT16 ProductEDID;
|
|
||||||
UINT16 BacklightLevel;
|
|
||||||
BOOLEAN BacklightLevelConfig;
|
|
||||||
BOOLEAN IntelBacklight;
|
|
||||||
//Boot options
|
|
||||||
BOOLEAN MemoryFix;
|
|
||||||
BOOLEAN WithKexts;
|
|
||||||
BOOLEAN WithKextsIfNoFakeSMC;
|
|
||||||
BOOLEAN FakeSMCFound;
|
|
||||||
BOOLEAN NoCaches;
|
|
||||||
|
|
||||||
// GUI parameters
|
|
||||||
BOOLEAN Debug;
|
|
||||||
BOOLEAN Proportional;
|
|
||||||
// UINT8 Pad22[1];
|
|
||||||
UINT32 DefaultBackgroundColor;
|
|
||||||
|
|
||||||
//ACPI
|
|
||||||
UINT64 ResetAddr;
|
|
||||||
UINT8 ResetVal;
|
|
||||||
BOOLEAN NoASPM;
|
|
||||||
BOOLEAN DropSSDT;
|
|
||||||
BOOLEAN NoOemTableId;
|
|
||||||
BOOLEAN NoDynamicExtract;
|
|
||||||
BOOLEAN AutoMerge;
|
|
||||||
BOOLEAN GeneratePStates;
|
|
||||||
BOOLEAN GenerateCStates;
|
|
||||||
BOOLEAN GenerateAPSN;
|
|
||||||
BOOLEAN GenerateAPLF;
|
|
||||||
BOOLEAN GeneratePluginType;
|
|
||||||
UINT8 PLimitDict;
|
|
||||||
UINT8 UnderVoltStep;
|
|
||||||
BOOLEAN DoubleFirstState;
|
|
||||||
BOOLEAN SuspendOverride;
|
|
||||||
BOOLEAN EnableC2;
|
|
||||||
BOOLEAN EnableC4;
|
|
||||||
BOOLEAN EnableC6;
|
|
||||||
BOOLEAN EnableISS;
|
|
||||||
BOOLEAN SlpSmiEnable;
|
|
||||||
BOOLEAN FixHeaders;
|
|
||||||
UINT16 C3Latency;
|
|
||||||
BOOLEAN smartUPS;
|
|
||||||
BOOLEAN PatchNMI;
|
|
||||||
BOOLEAN EnableC7;
|
|
||||||
UINT8 SavingMode;
|
|
||||||
|
|
||||||
CHAR16 DsdtName[28];
|
|
||||||
UINT32 FixDsdt;
|
|
||||||
UINT8 MinMultiplier;
|
|
||||||
UINT8 MaxMultiplier;
|
|
||||||
UINT8 PluginType;
|
|
||||||
// BOOLEAN DropMCFG;
|
|
||||||
BOOLEAN FixMCFG;
|
|
||||||
|
|
||||||
UINT32 DeviceRenameCount;
|
|
||||||
ACPI_NAME_LIST *DeviceRename;
|
|
||||||
//Injections
|
|
||||||
BOOLEAN StringInjector;
|
|
||||||
BOOLEAN InjectSystemID;
|
|
||||||
BOOLEAN NoDefaultProperties;
|
|
||||||
|
|
||||||
BOOLEAN ReuseFFFF;
|
|
||||||
|
|
||||||
//PCI devices
|
|
||||||
UINT32 FakeATI; //97
|
|
||||||
UINT32 FakeNVidia;
|
|
||||||
UINT32 FakeIntel;
|
|
||||||
UINT32 FakeLAN; //100
|
|
||||||
UINT32 FakeWIFI;
|
|
||||||
UINT32 FakeSATA;
|
|
||||||
UINT32 FakeXHCI; //103
|
|
||||||
UINT32 FakeIMEI; //106
|
|
||||||
|
|
||||||
//Graphics
|
|
||||||
// UINT16 PCIRootUID;
|
|
||||||
BOOLEAN GraphicsInjector;
|
|
||||||
BOOLEAN InjectIntel;
|
|
||||||
BOOLEAN InjectATI;
|
|
||||||
BOOLEAN InjectNVidia;
|
|
||||||
BOOLEAN DeInit;
|
|
||||||
BOOLEAN LoadVBios;
|
|
||||||
BOOLEAN PatchVBios;
|
|
||||||
VBIOS_PATCH_BYTES *PatchVBiosBytes;
|
|
||||||
UINTN PatchVBiosBytesCount;
|
|
||||||
BOOLEAN InjectEDID;
|
|
||||||
BOOLEAN LpcTune;
|
|
||||||
UINT16 DropOEM_DSM; // vacant (unused in 0b7eed38f14400c8501228a30dcc023e1132cec3 r5017+)
|
|
||||||
UINT8 *CustomEDID;
|
|
||||||
UINT16 CustomEDIDsize;
|
|
||||||
UINT16 EdidFixHorizontalSyncPulseWidth;
|
|
||||||
UINT8 EdidFixVideoInputSignal;
|
|
||||||
|
|
||||||
CHAR16 FBName[16];
|
|
||||||
UINT16 VideoPorts;
|
|
||||||
BOOLEAN NvidiaGeneric;
|
|
||||||
BOOLEAN NvidiaNoEFI;
|
|
||||||
BOOLEAN NvidiaSingle;
|
|
||||||
UINT64 VRAM;
|
|
||||||
UINT8 Dcfg[8];
|
|
||||||
UINT8 NVCAP[20];
|
|
||||||
INT8 BootDisplay;
|
|
||||||
BOOLEAN NvidiaWeb;
|
|
||||||
UINT8 pad41[2];
|
|
||||||
UINT32 DualLink;
|
|
||||||
UINT32 IgPlatform;
|
|
||||||
|
|
||||||
// Secure boot white/black list
|
|
||||||
UINT32 SecureBootWhiteListCount;
|
|
||||||
UINT32 SecureBootBlackListCount;
|
|
||||||
CHAR16 **SecureBootWhiteList;
|
|
||||||
|
|
||||||
CHAR16 **SecureBootBlackList;
|
|
||||||
|
|
||||||
// Secure boot
|
|
||||||
UINT8 SecureBoot;
|
|
||||||
UINT8 SecureBootSetupMode;
|
|
||||||
UINT8 SecureBootPolicy;
|
|
||||||
|
|
||||||
// HDA
|
|
||||||
BOOLEAN HDAInjection;
|
|
||||||
INT32 HDALayoutId;
|
|
||||||
|
|
||||||
// USB DeviceTree injection
|
|
||||||
BOOLEAN USBInjection;
|
|
||||||
BOOLEAN USBFixOwnership;
|
|
||||||
BOOLEAN InjectClockID;
|
|
||||||
BOOLEAN HighCurrent;
|
|
||||||
BOOLEAN NameEH00;
|
|
||||||
BOOLEAN NameXH00;
|
|
||||||
|
|
||||||
BOOLEAN LANInjection;
|
|
||||||
BOOLEAN HDMIInjection;
|
|
||||||
|
|
||||||
// UINT8 pad61[2];
|
|
||||||
|
|
||||||
// LegacyBoot
|
|
||||||
CHAR16 LegacyBoot[32];
|
|
||||||
UINT16 LegacyBiosDefaultEntry;
|
|
||||||
|
|
||||||
//SkyLake
|
|
||||||
BOOLEAN HWP;
|
|
||||||
UINT8 TDP;
|
|
||||||
UINT32 HWPValue;
|
|
||||||
|
|
||||||
//Volumes hiding
|
|
||||||
CHAR16 **HVHideStrings;
|
|
||||||
|
|
||||||
INTN HVCount;
|
|
||||||
|
|
||||||
// KernelAndKextPatches
|
|
||||||
KERNEL_AND_KEXT_PATCHES KernelAndKextPatches; //zzzz
|
|
||||||
BOOLEAN KextPatchesAllowed;
|
|
||||||
BOOLEAN KernelPatchesAllowed; //From GUI: Only for user patches, not internal Clover
|
|
||||||
|
|
||||||
CHAR8 AirportBridgeDeviceName[5];
|
|
||||||
|
|
||||||
// Pre-language
|
|
||||||
BOOLEAN KbdPrevLang;
|
|
||||||
|
|
||||||
//Pointer
|
|
||||||
BOOLEAN PointerEnabled;
|
|
||||||
INTN PointerSpeed;
|
|
||||||
UINT64 DoubleClickTime;
|
|
||||||
BOOLEAN PointerMirror;
|
|
||||||
|
|
||||||
// UINT8 pad7[6];
|
|
||||||
UINT8 CustomBoot;
|
|
||||||
EG_IMAGE *CustomLogo;
|
|
||||||
|
|
||||||
UINT32 RefCLK;
|
|
||||||
|
|
||||||
// SysVariables
|
|
||||||
CHAR8 *RtMLB;
|
|
||||||
UINT8 *RtROM;
|
|
||||||
UINTN RtROMLen;
|
|
||||||
|
|
||||||
UINT32 CsrActiveConfig;
|
|
||||||
UINT16 BooterConfig;
|
|
||||||
CHAR8 BooterCfgStr[64];
|
|
||||||
BOOLEAN DisableCloverHotkeys;
|
|
||||||
BOOLEAN NeverDoRecovery;
|
|
||||||
|
|
||||||
// Multi-config
|
|
||||||
CHAR16 ConfigName[30];
|
|
||||||
CHAR16 *MainConfigName;
|
|
||||||
|
|
||||||
//Drivers
|
|
||||||
INTN BlackListCount;
|
|
||||||
CHAR16 **BlackList;
|
|
||||||
|
|
||||||
//SMC keys
|
|
||||||
CHAR8 RPlt[8];
|
|
||||||
CHAR8 RBr[8];
|
|
||||||
UINT8 EPCI[4];
|
|
||||||
UINT8 REV[6];
|
|
||||||
|
|
||||||
//other devices
|
|
||||||
BOOLEAN Rtc8Allowed;
|
|
||||||
BOOLEAN ForceHPET;
|
|
||||||
BOOLEAN ResetHDA;
|
|
||||||
BOOLEAN PlayAsync;
|
|
||||||
UINT32 DisableFunctions;
|
|
||||||
|
|
||||||
//Patch DSDT arbitrary
|
|
||||||
UINT32 PatchDsdtNum;
|
|
||||||
UINT8 **PatchDsdtFind;
|
|
||||||
UINT32 *LenToFind;
|
|
||||||
UINT8 **PatchDsdtReplace;
|
|
||||||
|
|
||||||
UINT32 *LenToReplace;
|
|
||||||
BOOLEAN DebugDSDT;
|
|
||||||
BOOLEAN SlpWak;
|
|
||||||
BOOLEAN UseIntelHDMI;
|
|
||||||
UINT8 AFGLowPowerState;
|
|
||||||
UINT8 PNLF_UID;
|
|
||||||
// UINT8 pad83[4];
|
|
||||||
|
|
||||||
|
|
||||||
// Table dropping
|
|
||||||
ACPI_DROP_TABLE *ACPIDropTables;
|
|
||||||
|
|
||||||
// Custom entries
|
|
||||||
BOOLEAN DisableEntryScan;
|
|
||||||
BOOLEAN DisableToolScan;
|
|
||||||
BOOLEAN ShowHiddenEntries;
|
|
||||||
UINT8 KernelScan;
|
|
||||||
BOOLEAN LinuxScan;
|
|
||||||
// UINT8 pad84[3];
|
|
||||||
CUSTOM_LOADER_ENTRY *CustomEntries;
|
|
||||||
CUSTOM_LEGACY_ENTRY *CustomLegacy;
|
|
||||||
CUSTOM_TOOL_ENTRY *CustomTool;
|
|
||||||
|
|
||||||
//Add custom properties
|
|
||||||
UINTN NrAddProperties;
|
|
||||||
DEV_PROPERTY *AddProperties;
|
|
||||||
|
|
||||||
//BlackListed kexts
|
|
||||||
CHAR16 BlockKexts[64];
|
|
||||||
|
|
||||||
// Disable inject kexts
|
|
||||||
// UINT32 DisableInjectKextCount;
|
|
||||||
// CHAR16 **DisabledInjectKext;
|
|
||||||
// INPUT_ITEM *InjectKextMenuItem;
|
|
||||||
|
|
||||||
//ACPI tables
|
|
||||||
UINTN SortedACPICount;
|
|
||||||
CHAR16 **SortedACPI;
|
|
||||||
|
|
||||||
// ACPI/PATCHED/AML
|
|
||||||
UINT32 DisabledAMLCount;
|
|
||||||
CHAR16 **DisabledAML;
|
|
||||||
CHAR8 **PatchDsdtLabel; //yyyy
|
|
||||||
CHAR8 **PatchDsdtTgt;
|
|
||||||
INPUT_ITEM *PatchDsdtMenuItem;
|
|
||||||
|
|
||||||
//other
|
|
||||||
UINT32 IntelMaxValue;
|
|
||||||
// UINT32 AudioVolume;
|
|
||||||
|
|
||||||
// boot.efi
|
|
||||||
UINT32 OptionsBits;
|
|
||||||
UINT32 FlagsBits;
|
|
||||||
UINT32 UIScale;
|
|
||||||
UINT32 EFILoginHiDPI;
|
|
||||||
UINT8 flagstate[32];
|
|
||||||
|
|
||||||
DEV_PROPERTY *ArbProperties;
|
|
||||||
|
|
||||||
} SETTINGS_DATA;
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,583 @@
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
INTN Width;
|
||||||
|
INTN Height;
|
||||||
|
EG_PIXEL *PixelData;
|
||||||
|
BOOLEAN HasAlpha; //moved here to avoid alignment issue
|
||||||
|
} EG_IMAGE;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
BoolValue,
|
||||||
|
Decimal,
|
||||||
|
Hex,
|
||||||
|
ASString,
|
||||||
|
UNIString,
|
||||||
|
RadioSwitch,
|
||||||
|
CheckBit,
|
||||||
|
|
||||||
|
} ITEM_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
ITEM_TYPE ItemType; //string, value, boolean
|
||||||
|
BOOLEAN Valid;
|
||||||
|
BOOLEAN BValue;
|
||||||
|
UINT8 Pad8;
|
||||||
|
UINT32 IValue;
|
||||||
|
// UINT64 UValue;
|
||||||
|
// CHAR8* AValue;
|
||||||
|
CHAR16* SValue; // Max Size (see below) so the field can be edit by the GUI
|
||||||
|
UINTN LineShift;
|
||||||
|
} INPUT_ITEM;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
kTagTypeNone,
|
||||||
|
kTagTypeDict,
|
||||||
|
kTagTypeKey,
|
||||||
|
kTagTypeString,
|
||||||
|
kTagTypeInteger,
|
||||||
|
kTagTypeData,
|
||||||
|
kTagTypeDate,
|
||||||
|
kTagTypeFalse,
|
||||||
|
kTagTypeTrue,
|
||||||
|
kTagTypeArray
|
||||||
|
} TAG_TYPE;
|
||||||
|
|
||||||
|
typedef struct _DEV_PROPERTY DEV_PROPERTY; //yyyy
|
||||||
|
struct _DEV_PROPERTY {
|
||||||
|
UINT32 Device;
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL* DevicePath;
|
||||||
|
CHAR8 *Key;
|
||||||
|
UINT8 *Value;
|
||||||
|
UINTN ValueLen;
|
||||||
|
DEV_PROPERTY *Next; //next device or next property
|
||||||
|
DEV_PROPERTY *Child; // property list of the device
|
||||||
|
CHAR8 *Label;
|
||||||
|
INPUT_ITEM MenuItem;
|
||||||
|
TAG_TYPE ValueType;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _KEXT_PATCH KEXT_PATCH;
|
||||||
|
struct _KEXT_PATCH
|
||||||
|
{
|
||||||
|
CHAR8 *Name;
|
||||||
|
CHAR8 *Label;
|
||||||
|
BOOLEAN IsPlistPatch;
|
||||||
|
CHAR8 align[7];
|
||||||
|
INT64 DataLen;
|
||||||
|
UINT8 *Data;
|
||||||
|
UINT8 *Patch;
|
||||||
|
UINT8 *MaskFind;
|
||||||
|
UINT8 *MaskReplace;
|
||||||
|
CHAR8 *MatchOS;
|
||||||
|
CHAR8 *MatchBuild;
|
||||||
|
INPUT_ITEM MenuItem;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
CHAR8 *Label;
|
||||||
|
INTN DataLen;
|
||||||
|
UINT8 *Data;
|
||||||
|
UINT8 *Patch;
|
||||||
|
UINT8 *MaskFind;
|
||||||
|
UINT8 *MaskReplace;
|
||||||
|
INTN Count;
|
||||||
|
CHAR8 *MatchOS;
|
||||||
|
CHAR8 *MatchBuild;
|
||||||
|
INPUT_ITEM MenuItem;
|
||||||
|
} KERNEL_PATCH;
|
||||||
|
|
||||||
|
typedef struct KERNEL_AND_KEXT_PATCHES
|
||||||
|
{
|
||||||
|
BOOLEAN KPDebug;
|
||||||
|
BOOLEAN KPKernelCpu;
|
||||||
|
BOOLEAN KPKernelLapic;
|
||||||
|
BOOLEAN KPKernelXCPM;
|
||||||
|
BOOLEAN KPKernelPm;
|
||||||
|
BOOLEAN KPAppleIntelCPUPM;
|
||||||
|
BOOLEAN KPAppleRTC;
|
||||||
|
BOOLEAN KPDELLSMBIOS; // Dell SMBIOS patch
|
||||||
|
BOOLEAN KPPanicNoKextDump;
|
||||||
|
UINT8 pad[3];
|
||||||
|
UINT32 FakeCPUID;
|
||||||
|
// UINT32 align0;
|
||||||
|
CHAR16 *KPATIConnectorsController;
|
||||||
|
#if defined(MDE_CPU_IA32)
|
||||||
|
UINT32 align1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
UINT8 *KPATIConnectorsData;
|
||||||
|
#if defined(MDE_CPU_IA32)
|
||||||
|
UINT32 align2;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
UINTN KPATIConnectorsDataLen;
|
||||||
|
#if defined(MDE_CPU_IA32)
|
||||||
|
UINT32 align3;
|
||||||
|
#endif
|
||||||
|
UINT8 *KPATIConnectorsPatch;
|
||||||
|
#if defined(MDE_CPU_IA32)
|
||||||
|
UINT32 align4;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
INT32 NrKexts;
|
||||||
|
UINT32 align40;
|
||||||
|
KEXT_PATCH *KextPatches; //zzzz
|
||||||
|
#if defined(MDE_CPU_IA32)
|
||||||
|
UINT32 align5;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
INT32 NrForceKexts;
|
||||||
|
UINT32 align50;
|
||||||
|
CHAR16 **ForceKexts;
|
||||||
|
#if defined(MDE_CPU_IA32)
|
||||||
|
UINT32 align6;
|
||||||
|
#endif
|
||||||
|
INT32 NrKernels;
|
||||||
|
KERNEL_PATCH *KernelPatches;
|
||||||
|
INT32 NrBoots;
|
||||||
|
KERNEL_PATCH *BootPatches;
|
||||||
|
|
||||||
|
} KERNEL_AND_KEXT_PATCHES;
|
||||||
|
|
||||||
|
typedef struct _ACPI_NAME_LIST ACPI_NAME_LIST;
|
||||||
|
struct _ACPI_NAME_LIST {
|
||||||
|
ACPI_NAME_LIST *Next;
|
||||||
|
CHAR8 *Name;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _ACPI_DROP_TABLE ACPI_DROP_TABLE;
|
||||||
|
struct _ACPI_DROP_TABLE
|
||||||
|
{
|
||||||
|
ACPI_DROP_TABLE *Next;
|
||||||
|
UINT32 Signature;
|
||||||
|
UINT32 Length;
|
||||||
|
UINT64 TableId;
|
||||||
|
INPUT_ITEM MenuItem;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _RT_VARIABLES RT_VARIABLES;
|
||||||
|
struct _RT_VARIABLES {
|
||||||
|
// BOOLEAN Disabled;
|
||||||
|
CHAR16 *Name;
|
||||||
|
EFI_GUID VarGuid;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _CUSTOM_LOADER_ENTRY CUSTOM_LOADER_ENTRY;
|
||||||
|
struct _CUSTOM_LOADER_ENTRY {
|
||||||
|
CUSTOM_LOADER_ENTRY *Next;
|
||||||
|
CUSTOM_LOADER_ENTRY *SubEntries;
|
||||||
|
EG_IMAGE *Image;
|
||||||
|
EG_IMAGE *DriveImage;
|
||||||
|
CONST CHAR16 *ImagePath;
|
||||||
|
CONST CHAR16 *DriveImagePath;
|
||||||
|
CONST CHAR16 *Volume;
|
||||||
|
CONST CHAR16 *Path;
|
||||||
|
CONST CHAR16 *Options;
|
||||||
|
CONST CHAR16 *FullTitle;
|
||||||
|
CONST CHAR16 *Title;
|
||||||
|
CONST CHAR16 *Settings;
|
||||||
|
CHAR16 Hotkey;
|
||||||
|
BOOLEAN CommonSettings;
|
||||||
|
UINT8 Flags;
|
||||||
|
UINT8 Type;
|
||||||
|
UINT8 VolumeType;
|
||||||
|
UINT8 KernelScan;
|
||||||
|
UINT8 CustomBoot;
|
||||||
|
EG_IMAGE *CustomLogo;
|
||||||
|
EG_PIXEL *BootBgColor;
|
||||||
|
KERNEL_AND_KEXT_PATCHES KernelAndKextPatches; //zzzz
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _CUSTOM_LEGACY_ENTRY CUSTOM_LEGACY_ENTRY;
|
||||||
|
struct _CUSTOM_LEGACY_ENTRY {
|
||||||
|
CUSTOM_LEGACY_ENTRY *Next;
|
||||||
|
EG_IMAGE *Image;
|
||||||
|
EG_IMAGE *DriveImage;
|
||||||
|
CONST CHAR16 *ImagePath;
|
||||||
|
CONST CHAR16 *DriveImagePath;
|
||||||
|
CONST CHAR16 *Volume;
|
||||||
|
CONST CHAR16 *FullTitle;
|
||||||
|
CONST CHAR16 *Title;
|
||||||
|
CHAR16 Hotkey;
|
||||||
|
UINT8 Flags;
|
||||||
|
UINT8 Type;
|
||||||
|
UINT8 VolumeType;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _CUSTOM_TOOL_ENTRY CUSTOM_TOOL_ENTRY;
|
||||||
|
struct _CUSTOM_TOOL_ENTRY {
|
||||||
|
CUSTOM_TOOL_ENTRY *Next;
|
||||||
|
EG_IMAGE *Image;
|
||||||
|
CHAR16 *ImagePath;
|
||||||
|
CHAR16 *Volume;
|
||||||
|
CHAR16 *Path;
|
||||||
|
CHAR16 *Options;
|
||||||
|
CHAR16 *FullTitle;
|
||||||
|
CHAR16 *Title;
|
||||||
|
CHAR16 Hotkey;
|
||||||
|
UINT8 Flags;
|
||||||
|
UINT8 VolumeType;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Set of Search & replace bytes for VideoBiosPatchBytes().
|
||||||
|
typedef struct _VBIOS_PATCH_BYTES {
|
||||||
|
VOID *Find;
|
||||||
|
VOID *Replace;
|
||||||
|
UINTN NumberOfBytes;
|
||||||
|
} VBIOS_PATCH_BYTES;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
// SMBIOS TYPE0
|
||||||
|
CHAR8 VendorName[64];
|
||||||
|
CHAR8 RomVersion[64];
|
||||||
|
CHAR8 EfiVersion[64];
|
||||||
|
CHAR8 ReleaseDate[64];
|
||||||
|
// SMBIOS TYPE1
|
||||||
|
CHAR8 ManufactureName[64];
|
||||||
|
CHAR8 ProductName[64];
|
||||||
|
CHAR8 VersionNr[64];
|
||||||
|
CHAR8 SerialNr[64];
|
||||||
|
EFI_GUID SmUUID;
|
||||||
|
BOOLEAN SmUUIDConfig;
|
||||||
|
CHAR8 pad0[7];
|
||||||
|
//CHAR8 Uuid[64];
|
||||||
|
//CHAR8 SKUNumber[64];
|
||||||
|
CHAR8 FamilyName[64];
|
||||||
|
CHAR8 OEMProduct[64];
|
||||||
|
CHAR8 OEMVendor[64];
|
||||||
|
// SMBIOS TYPE2
|
||||||
|
CHAR8 BoardManufactureName[64];
|
||||||
|
CHAR8 BoardSerialNumber[64];
|
||||||
|
CHAR8 BoardNumber[64]; //Board-ID
|
||||||
|
CHAR8 LocationInChassis[64];
|
||||||
|
CHAR8 BoardVersion[64];
|
||||||
|
CHAR8 OEMBoard[64];
|
||||||
|
UINT8 BoardType;
|
||||||
|
UINT8 Pad1;
|
||||||
|
// SMBIOS TYPE3
|
||||||
|
BOOLEAN Mobile;
|
||||||
|
UINT8 ChassisType;
|
||||||
|
CHAR8 ChassisManufacturer[64];
|
||||||
|
CHAR8 ChassisAssetTag[64];
|
||||||
|
// SMBIOS TYPE4
|
||||||
|
UINT32 CpuFreqMHz;
|
||||||
|
UINT32 BusSpeed; //in kHz
|
||||||
|
BOOLEAN Turbo;
|
||||||
|
UINT8 EnabledCores;
|
||||||
|
BOOLEAN UserChange;
|
||||||
|
BOOLEAN QEMU;
|
||||||
|
// SMBIOS TYPE17
|
||||||
|
UINT16 SmbiosVersion;
|
||||||
|
INT8 Attribute;
|
||||||
|
INT8 Pad17[1];
|
||||||
|
CHAR8 MemoryManufacturer[64];
|
||||||
|
CHAR8 MemorySerialNumber[64];
|
||||||
|
CHAR8 MemoryPartNumber[64];
|
||||||
|
CHAR8 MemorySpeed[64];
|
||||||
|
// SMBIOS TYPE131
|
||||||
|
UINT16 CpuType;
|
||||||
|
// SMBIOS TYPE132
|
||||||
|
UINT16 QPI;
|
||||||
|
BOOLEAN SetTable132;
|
||||||
|
BOOLEAN TrustSMBIOS;
|
||||||
|
BOOLEAN InjectMemoryTables;
|
||||||
|
INT8 XMPDetection;
|
||||||
|
BOOLEAN UseARTFreq;
|
||||||
|
// SMBIOS TYPE133
|
||||||
|
UINT64 PlatformFeature;
|
||||||
|
|
||||||
|
// PatchTableType11
|
||||||
|
BOOLEAN NoRomInfo;
|
||||||
|
|
||||||
|
// OS parameters
|
||||||
|
CHAR8 Language[16];
|
||||||
|
CHAR8 BootArgs[256];
|
||||||
|
CHAR16 CustomUuid[40];
|
||||||
|
|
||||||
|
CHAR16 *DefaultVolume;
|
||||||
|
CHAR16 *DefaultLoader;
|
||||||
|
//Boot
|
||||||
|
BOOLEAN LastBootedVolume;
|
||||||
|
BOOLEAN SkipHibernateTimeout;
|
||||||
|
//Monitor
|
||||||
|
BOOLEAN IntelMaxBacklight;
|
||||||
|
// UINT8 Pad21[1];
|
||||||
|
UINT16 VendorEDID;
|
||||||
|
UINT16 ProductEDID;
|
||||||
|
UINT16 BacklightLevel;
|
||||||
|
BOOLEAN BacklightLevelConfig;
|
||||||
|
BOOLEAN IntelBacklight;
|
||||||
|
//Boot options
|
||||||
|
BOOLEAN MemoryFix;
|
||||||
|
BOOLEAN WithKexts;
|
||||||
|
BOOLEAN WithKextsIfNoFakeSMC;
|
||||||
|
BOOLEAN FakeSMCFound;
|
||||||
|
BOOLEAN NoCaches;
|
||||||
|
|
||||||
|
// GUI parameters
|
||||||
|
BOOLEAN Debug;
|
||||||
|
BOOLEAN Proportional;
|
||||||
|
// UINT8 Pad22[1];
|
||||||
|
UINT32 DefaultBackgroundColor;
|
||||||
|
|
||||||
|
//ACPI
|
||||||
|
UINT64 ResetAddr;
|
||||||
|
UINT8 ResetVal;
|
||||||
|
BOOLEAN NoASPM;
|
||||||
|
BOOLEAN DropSSDT;
|
||||||
|
BOOLEAN NoOemTableId;
|
||||||
|
BOOLEAN NoDynamicExtract;
|
||||||
|
BOOLEAN AutoMerge;
|
||||||
|
BOOLEAN GeneratePStates;
|
||||||
|
BOOLEAN GenerateCStates;
|
||||||
|
BOOLEAN GenerateAPSN;
|
||||||
|
BOOLEAN GenerateAPLF;
|
||||||
|
BOOLEAN GeneratePluginType;
|
||||||
|
UINT8 PLimitDict;
|
||||||
|
UINT8 UnderVoltStep;
|
||||||
|
BOOLEAN DoubleFirstState;
|
||||||
|
BOOLEAN SuspendOverride;
|
||||||
|
BOOLEAN EnableC2;
|
||||||
|
BOOLEAN EnableC4;
|
||||||
|
BOOLEAN EnableC6;
|
||||||
|
BOOLEAN EnableISS;
|
||||||
|
BOOLEAN SlpSmiEnable;
|
||||||
|
BOOLEAN FixHeaders;
|
||||||
|
UINT16 C3Latency;
|
||||||
|
BOOLEAN smartUPS;
|
||||||
|
BOOLEAN PatchNMI;
|
||||||
|
BOOLEAN EnableC7;
|
||||||
|
UINT8 SavingMode;
|
||||||
|
|
||||||
|
CHAR16 DsdtName[28];
|
||||||
|
UINT32 FixDsdt;
|
||||||
|
UINT8 MinMultiplier;
|
||||||
|
UINT8 MaxMultiplier;
|
||||||
|
UINT8 PluginType;
|
||||||
|
// BOOLEAN DropMCFG;
|
||||||
|
BOOLEAN FixMCFG;
|
||||||
|
|
||||||
|
UINT32 DeviceRenameCount;
|
||||||
|
ACPI_NAME_LIST *DeviceRename;
|
||||||
|
//Injections
|
||||||
|
BOOLEAN StringInjector;
|
||||||
|
BOOLEAN InjectSystemID;
|
||||||
|
BOOLEAN NoDefaultProperties;
|
||||||
|
|
||||||
|
BOOLEAN ReuseFFFF;
|
||||||
|
|
||||||
|
//PCI devices
|
||||||
|
UINT32 FakeATI; //97
|
||||||
|
UINT32 FakeNVidia;
|
||||||
|
UINT32 FakeIntel;
|
||||||
|
UINT32 FakeLAN; //100
|
||||||
|
UINT32 FakeWIFI;
|
||||||
|
UINT32 FakeSATA;
|
||||||
|
UINT32 FakeXHCI; //103
|
||||||
|
UINT32 FakeIMEI; //106
|
||||||
|
|
||||||
|
//Graphics
|
||||||
|
// UINT16 PCIRootUID;
|
||||||
|
BOOLEAN GraphicsInjector;
|
||||||
|
BOOLEAN InjectIntel;
|
||||||
|
BOOLEAN InjectATI;
|
||||||
|
BOOLEAN InjectNVidia;
|
||||||
|
BOOLEAN DeInit;
|
||||||
|
BOOLEAN LoadVBios;
|
||||||
|
BOOLEAN PatchVBios;
|
||||||
|
VBIOS_PATCH_BYTES *PatchVBiosBytes;
|
||||||
|
UINTN PatchVBiosBytesCount;
|
||||||
|
BOOLEAN InjectEDID;
|
||||||
|
BOOLEAN LpcTune;
|
||||||
|
UINT16 DropOEM_DSM; // vacant (unused in 0b7eed38f14400c8501228a30dcc023e1132cec3 r5017+)
|
||||||
|
UINT8 *CustomEDID;
|
||||||
|
UINT16 CustomEDIDsize;
|
||||||
|
UINT16 EdidFixHorizontalSyncPulseWidth;
|
||||||
|
UINT8 EdidFixVideoInputSignal;
|
||||||
|
|
||||||
|
CHAR16 FBName[16];
|
||||||
|
UINT16 VideoPorts;
|
||||||
|
BOOLEAN NvidiaGeneric;
|
||||||
|
BOOLEAN NvidiaNoEFI;
|
||||||
|
BOOLEAN NvidiaSingle;
|
||||||
|
UINT64 VRAM;
|
||||||
|
UINT8 Dcfg[8];
|
||||||
|
UINT8 NVCAP[20];
|
||||||
|
INT8 BootDisplay;
|
||||||
|
BOOLEAN NvidiaWeb;
|
||||||
|
UINT8 pad41[2];
|
||||||
|
UINT32 DualLink;
|
||||||
|
UINT32 IgPlatform;
|
||||||
|
|
||||||
|
// Secure boot white/black list
|
||||||
|
UINT32 SecureBootWhiteListCount;
|
||||||
|
UINT32 SecureBootBlackListCount;
|
||||||
|
CHAR16 **SecureBootWhiteList;
|
||||||
|
|
||||||
|
CHAR16 **SecureBootBlackList;
|
||||||
|
|
||||||
|
// Secure boot
|
||||||
|
UINT8 SecureBoot;
|
||||||
|
UINT8 SecureBootSetupMode;
|
||||||
|
UINT8 SecureBootPolicy;
|
||||||
|
|
||||||
|
// HDA
|
||||||
|
BOOLEAN HDAInjection;
|
||||||
|
INT32 HDALayoutId;
|
||||||
|
|
||||||
|
// USB DeviceTree injection
|
||||||
|
BOOLEAN USBInjection;
|
||||||
|
BOOLEAN USBFixOwnership;
|
||||||
|
BOOLEAN InjectClockID;
|
||||||
|
BOOLEAN HighCurrent;
|
||||||
|
BOOLEAN NameEH00;
|
||||||
|
BOOLEAN NameXH00;
|
||||||
|
|
||||||
|
BOOLEAN LANInjection;
|
||||||
|
BOOLEAN HDMIInjection;
|
||||||
|
|
||||||
|
// UINT8 pad61[2];
|
||||||
|
|
||||||
|
// LegacyBoot
|
||||||
|
CHAR16 LegacyBoot[32];
|
||||||
|
UINT16 LegacyBiosDefaultEntry;
|
||||||
|
|
||||||
|
//SkyLake
|
||||||
|
BOOLEAN HWP;
|
||||||
|
UINT8 TDP;
|
||||||
|
UINT32 HWPValue;
|
||||||
|
|
||||||
|
//Volumes hiding
|
||||||
|
CHAR16 **HVHideStrings;
|
||||||
|
|
||||||
|
INTN HVCount;
|
||||||
|
|
||||||
|
// KernelAndKextPatches
|
||||||
|
KERNEL_AND_KEXT_PATCHES KernelAndKextPatches; //zzzz
|
||||||
|
BOOLEAN KextPatchesAllowed;
|
||||||
|
BOOLEAN KernelPatchesAllowed; //From GUI: Only for user patches, not internal Clover
|
||||||
|
|
||||||
|
CHAR8 AirportBridgeDeviceName[5];
|
||||||
|
|
||||||
|
// Pre-language
|
||||||
|
BOOLEAN KbdPrevLang;
|
||||||
|
|
||||||
|
//Pointer
|
||||||
|
BOOLEAN PointerEnabled;
|
||||||
|
INTN PointerSpeed;
|
||||||
|
UINT64 DoubleClickTime;
|
||||||
|
BOOLEAN PointerMirror;
|
||||||
|
|
||||||
|
// UINT8 pad7[6];
|
||||||
|
UINT8 CustomBoot;
|
||||||
|
EG_IMAGE *CustomLogo;
|
||||||
|
|
||||||
|
UINT32 RefCLK;
|
||||||
|
|
||||||
|
// SysVariables
|
||||||
|
CHAR8 *RtMLB;
|
||||||
|
UINT8 *RtROM;
|
||||||
|
UINTN RtROMLen;
|
||||||
|
|
||||||
|
UINT32 CsrActiveConfig;
|
||||||
|
UINT16 BooterConfig;
|
||||||
|
CHAR8 BooterCfgStr[64];
|
||||||
|
BOOLEAN DisableCloverHotkeys;
|
||||||
|
BOOLEAN NeverDoRecovery;
|
||||||
|
|
||||||
|
// Multi-config
|
||||||
|
CHAR16 ConfigName[30];
|
||||||
|
CHAR16 *MainConfigName;
|
||||||
|
|
||||||
|
//Drivers
|
||||||
|
INTN BlackListCount;
|
||||||
|
CHAR16 **BlackList;
|
||||||
|
|
||||||
|
//SMC keys
|
||||||
|
CHAR8 RPlt[8];
|
||||||
|
CHAR8 RBr[8];
|
||||||
|
UINT8 EPCI[4];
|
||||||
|
UINT8 REV[6];
|
||||||
|
|
||||||
|
//other devices
|
||||||
|
BOOLEAN Rtc8Allowed;
|
||||||
|
BOOLEAN ForceHPET;
|
||||||
|
BOOLEAN ResetHDA;
|
||||||
|
BOOLEAN PlayAsync;
|
||||||
|
UINT32 DisableFunctions;
|
||||||
|
|
||||||
|
//Patch DSDT arbitrary
|
||||||
|
UINT32 PatchDsdtNum;
|
||||||
|
UINT8 **PatchDsdtFind;
|
||||||
|
UINT32 *LenToFind;
|
||||||
|
UINT8 **PatchDsdtReplace;
|
||||||
|
|
||||||
|
UINT32 *LenToReplace;
|
||||||
|
BOOLEAN DebugDSDT;
|
||||||
|
BOOLEAN SlpWak;
|
||||||
|
BOOLEAN UseIntelHDMI;
|
||||||
|
UINT8 AFGLowPowerState;
|
||||||
|
UINT8 PNLF_UID;
|
||||||
|
// UINT8 pad83[4];
|
||||||
|
|
||||||
|
|
||||||
|
// Table dropping
|
||||||
|
ACPI_DROP_TABLE *ACPIDropTables;
|
||||||
|
|
||||||
|
// Custom entries
|
||||||
|
BOOLEAN DisableEntryScan;
|
||||||
|
BOOLEAN DisableToolScan;
|
||||||
|
BOOLEAN ShowHiddenEntries;
|
||||||
|
UINT8 KernelScan;
|
||||||
|
BOOLEAN LinuxScan;
|
||||||
|
// UINT8 pad84[3];
|
||||||
|
CUSTOM_LOADER_ENTRY *CustomEntries;
|
||||||
|
CUSTOM_LEGACY_ENTRY *CustomLegacy;
|
||||||
|
CUSTOM_TOOL_ENTRY *CustomTool;
|
||||||
|
|
||||||
|
//Add custom properties
|
||||||
|
UINTN NrAddProperties;
|
||||||
|
DEV_PROPERTY *AddProperties;
|
||||||
|
|
||||||
|
//BlackListed kexts
|
||||||
|
CHAR16 BlockKexts[64];
|
||||||
|
|
||||||
|
// Disable inject kexts
|
||||||
|
// UINT32 DisableInjectKextCount;
|
||||||
|
// CHAR16 **DisabledInjectKext;
|
||||||
|
// INPUT_ITEM *InjectKextMenuItem;
|
||||||
|
|
||||||
|
//ACPI tables
|
||||||
|
UINTN SortedACPICount;
|
||||||
|
CHAR16 **SortedACPI;
|
||||||
|
|
||||||
|
// ACPI/PATCHED/AML
|
||||||
|
UINT32 DisabledAMLCount;
|
||||||
|
CHAR16 **DisabledAML;
|
||||||
|
CHAR8 **PatchDsdtLabel; //yyyy
|
||||||
|
CHAR8 **PatchDsdtTgt;
|
||||||
|
INPUT_ITEM *PatchDsdtMenuItem;
|
||||||
|
|
||||||
|
//other
|
||||||
|
UINT32 IntelMaxValue;
|
||||||
|
// UINT32 AudioVolume;
|
||||||
|
|
||||||
|
// boot.efi
|
||||||
|
UINT32 OptionsBits;
|
||||||
|
UINT32 FlagsBits;
|
||||||
|
UINT32 UIScale;
|
||||||
|
UINT32 EFILoginHiDPI;
|
||||||
|
UINT8 flagstate[32];
|
||||||
|
|
||||||
|
DEV_PROPERTY *ArbProperties;
|
||||||
|
|
||||||
|
} SETTINGS_DATA;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
|
@ -2226,6 +2226,7 @@
|
||||||
A52313392448B3F300421FB2 /* VersionString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VersionString.cpp; sourceTree = "<group>"; };
|
A52313392448B3F300421FB2 /* VersionString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VersionString.cpp; sourceTree = "<group>"; };
|
||||||
A523133A2448B3F400421FB2 /* usbfix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = usbfix.h; sourceTree = "<group>"; };
|
A523133A2448B3F400421FB2 /* usbfix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = usbfix.h; sourceTree = "<group>"; };
|
||||||
A523133C2448B43C00421FB2 /* Version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Version.h; path = ../../Version.h; sourceTree = "<group>"; };
|
A523133C2448B43C00421FB2 /* Version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Version.h; path = ../../Version.h; sourceTree = "<group>"; };
|
||||||
|
A5263CE424FEBD6E00B3EB14 /* CloverOldHeaders.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CloverOldHeaders.h; path = ../CloverApp/Clover/CloverOldHeaders.h; sourceTree = "<group>"; };
|
||||||
A529342B24FB9255004241C3 /* XBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XBuffer.h; sourceTree = "<group>"; };
|
A529342B24FB9255004241C3 /* XBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XBuffer.h; sourceTree = "<group>"; };
|
||||||
A529342C24FB9256004241C3 /* XBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XBuffer.cpp; sourceTree = "<group>"; };
|
A529342C24FB9256004241C3 /* XBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XBuffer.cpp; sourceTree = "<group>"; };
|
||||||
A529342E24FB9265004241C3 /* XRBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XRBuffer.h; sourceTree = "<group>"; };
|
A529342E24FB9265004241C3 /* XRBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XRBuffer.h; sourceTree = "<group>"; };
|
||||||
|
@ -16880,6 +16881,7 @@
|
||||||
A5C324A624B5022F004E20CC /* Guid */,
|
A5C324A624B5022F004E20CC /* Guid */,
|
||||||
A5C3244F24B5022F004E20CC /* IndustryStandard */,
|
A5C3244F24B5022F004E20CC /* IndustryStandard */,
|
||||||
A5C3309A24B6F110004E20CC /* AppleMacEfi.h */,
|
A5C3309A24B6F110004E20CC /* AppleMacEfi.h */,
|
||||||
|
A5263CE424FEBD6E00B3EB14 /* CloverOldHeaders.h */,
|
||||||
A5C3246124B5022F004E20CC /* EfiLdrHandoff.h */,
|
A5C3246124B5022F004E20CC /* EfiLdrHandoff.h */,
|
||||||
A5C3246224B5022F004E20CC /* Library */,
|
A5C3246224B5022F004E20CC /* Library */,
|
||||||
A5C3247F24B5022F004E20CC /* Protocol */,
|
A5C3247F24B5022F004E20CC /* Protocol */,
|
||||||
|
|
|
@ -8075,7 +8075,7 @@ EFI_STATUS LOADER_ENTRY::SetFSInjection ()
|
||||||
|
|
||||||
|
|
||||||
namespace old {
|
namespace old {
|
||||||
#include "../../CloverApp/Clover/Clover-Bridging-Header.h"
|
#include "../../CloverApp/Clover/CloverOldHeaders.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
static void breakpoint()
|
static void breakpoint()
|
||||||
|
|
Loading…
Reference in New Issue