merge conflicts

Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
SergeySlice 2021-05-04 19:23:48 +03:00
commit 626637762c
25 changed files with 179 additions and 15462 deletions

View File

@ -23,7 +23,7 @@
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
@ -40,7 +40,7 @@
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
disableMainThreadChecker = "YES"
@ -71,6 +71,10 @@
argument = "config-test2.plist"
isEnabled = "NO">
</CommandLineArgument>
<CommandLineArgument
argument = "&quot;/JiefLand/5.Devel/Clover/user config/Slice/2021-04-29/config.plist&quot;"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
</LaunchAction>
<ProfileAction
@ -91,7 +95,7 @@
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
buildConfiguration = "Release">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"

View File

@ -23,7 +23,7 @@
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Release"
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
@ -40,7 +40,7 @@
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
disableMainThreadChecker = "YES"
@ -71,10 +71,14 @@
argument = "config-test2.plist"
isEnabled = "NO">
</CommandLineArgument>
<CommandLineArgument
argument = "&quot;/JiefLand/5.Devel/Clover/user config/Slice/2021-04-29/config.plist&quot;"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
buildConfiguration = "Debug"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
@ -91,10 +95,10 @@
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Release">
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
buildConfiguration = "Debug"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,933 +0,0 @@
//
// ConfigSample1.h
// cpp_tests_compare_settings
//
// Created by Jief on 05/02/2021.
// Copyright © 2021 Jief_Machak. All rights reserved.
//
#ifndef ConfigSample1_h
#define ConfigSample1_h
#ifndef _MSC_VER
const char* configSample1 = "\n\n\n\n\n\n\n\n\n\n\n"
"<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n\
<!DOCTYPE plist PUBLIC \n\"-//Apple//DTD PLIST 1.0//EN\" \n\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> \n\
<plist version=\"1.0\"> \n\
<dict> \n\
<key>ACPI</key> \n\
<dict> \n\
<key>AutoMerge</key> \n\
<true/> \n\
<key>DSDT</key> \n\
<dict> \n\
<key>Debug</key> \n\
<true/> \n\
<key>DropOEM_DSM</key> \n\
<dict> \n\
<key>ATI</key> \n\
<true/> \n\
<key>Firewire</key> \n\
<false/> \n\
<key>HDA</key> \n\
<false/> \n\
<key>HDMI</key> \n\
<false/> \n\
<key>IDE</key> \n\
<true/> \n\
<key>IntelGFX</key> \n\
<false/> \n\
<key>LAN</key> \n\
<false/> \n\
<key>LPC</key> \n\
<false/> \n\
<key>NVidia</key> \n\
<false/> \n\
<key>SATA</key> \n\
<false/> \n\
<key>SmBUS</key> \n\
<false/> \n\
<key>USB</key> \n\
<false/> \n\
<key>WIFI</key> \n\
<false/> \n\
</dict> \n\
<key>Fixes</key> \n\
<dict> \n\
<key>FixDarwin</key> \n\
<true/> \n\
<key>FixDisplay</key> \n\
<true/> \n\
<key>FixS3D</key> \n\
<true/> \n\
</dict> \n\
<key>Name</key> \n\
<string>aa</string> \n\
<key>Patches</key> \n\
<array> \n\
<dict> \n\
<key>Comment</key> \n\
<string>ACPI1</string> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>Find</key> \n\
<data> \n\
AA== \n\
</data> \n\
<key>Replace</key> \n\
<data> \n\
AQ== \n\
</data> \n\
</dict> \n\
<dict> \n\
<key>Comment</key> \n\
<string>ACPI2</string> \n\
<key>Disabled</key> \n\
<true/> \n\
<key>Find</key> \n\
<data> \n\
Ag== \n\
</data> \n\
<key>Replace</key> \n\
<data> \n\
Aw== \n\
</data> \n\
</dict> \n\
<dict> \n\
<key>Comment</key> \n\
<string>change EHC1 to EH01</string> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>Find</key> \n\
<data> \n\
RUhDMQ== \n\
</data> \n\
<key>Replace</key> \n\
<data> \n\
RUgwMQ== \n\
</data> \n\
</dict> \n\
</array> \n\
<key>ReuseFFFF</key> \n\
<true/> \n\
<key>Rtc8Allowed</key> \n\
<true/> \n\
<key>SlpSmiAtWake</key> \n\
<true/> \n\
<key>SuspendOverride</key> \n\
<true/> \n\
</dict> \n\
<key>DisableAPSNAPLF</key> \n\
<true/> \n\
<key>DisableASPM</key> \n\
<true/> \n\
<key>DisabledAML</key> \n\
<array> \n\
<string>aa</string> \n\
<string>bb</string> \n\
</array> \n\
<key>DropTables</key> \n\
<array> \n\
<dict> \n\
<key>Signature</key> \n\
<string>SSDT</string> \n\
<key>TableId</key> \n\
<string>CpuPm</string> \n\
</dict> \n\
</array> \n\
<key>HaltEnabler</key> \n\
<true/> \n\
<key>PatchAPIC</key> \n\
<true/> \n\
<key>ResetAddress</key> \n\
<string>01</string> \n\
<key>ResetValue</key> \n\
<string>02</string> \n\
<key>SortedOrder</key> \n\
<array> \n\
<string>dd</string> \n\
<string>cc</string> \n\
</array> \n\
<key>smartUPS</key> \n\
<true/> \n\
</dict> \n\
<key>Boot</key> \n\
<dict> \n\
<key>Arguments</key> \n\
<string>-v arch=i386 slide=0 dart=0 -xcpm darkwake=1 npci=0x2000 cpus=1 debug=0x100 aa</string> \n\
<key>BlackList</key> \n\
<array> \n\
<string>hh</string> \n\
</array> \n\
<key>CustomLogo</key> \n\
<string>Apple</string> \n\
<key>Debug</key> \n\
<true/> \n\
<key>DefaultLoader</key> \n\
<string>ii</string> \n\
<key>DefaultVolume</key> \n\
<string>LastBootedVolume</string> \n\
<key>DisableCloverHotkeys</key> \n\
<true/> \n\
<key>HibernationFixup</key> \n\
<true/> \n\
<key>Legacy</key> \n\
<string>LegacyBiosDefault</string> \n\
<key>LegacyBiosDefaultEntry</key> \n\
<integer>12</integer> \n\
<key>NeverDoRecovery</key> \n\
<true/> \n\
<key>NeverHibernate</key> \n\
<true/> \n\
<key>NoEarlyProgress</key> \n\
<true/> \n\
<key>Policy</key> \n\
<string>Allow</string> \n\
<key>Secure</key> \n\
<true/> \n\
<key>SignatureFixup</key> \n\
<true/> \n\
<key>SkipHibernateTimeout</key> \n\
<true/> \n\
<key>StrictHibernate</key> \n\
<true/> \n\
<key>Timeout</key> \n\
<integer>2</integer> \n\
<key>WhiteList</key> \n\
<array> \n\
<string>ff</string> \n\
<string>gg</string> \n\
</array> \n\
<key>XMPDetection</key> \n\
<integer>1</integer> \n\
</dict> \n\
<key>BootGraphics</key> \n\
<dict> \n\
<key>DefaultBackgroundColor</key> \n\
<string>0xF1F1F1</string> \n\
<key>EFILoginHiDPI</key> \n\
<integer>2</integer> \n\
<key>UIScale</key> \n\
<integer>4</integer> \n\
<key>flagstate</key> \n\
<integer>3</integer> \n\
</dict> \n\
<key>CPU</key> \n\
<dict> \n\
<key>BusSpeedkHz</key> \n\
<integer>800</integer> \n\
<key>C2</key> \n\
<true/> \n\
<key>C4</key> \n\
<true/> \n\
<key>C6</key> \n\
<true/> \n\
<key>FrequencyMHz</key> \n\
<integer>2000</integer> \n\
<key>HWPEnable</key> \n\
<true/> \n\
<key>HWPValue</key> \n\
<string>0x7</string> \n\
<key>Latency</key> \n\
<string>0x3</string> \n\
<key>QEMU</key> \n\
<true/> \n\
<key>QPI</key> \n\
<integer>4</integer> \n\
<key>TDP</key> \n\
<integer>6</integer> \n\
<key>TurboDisable</key> \n\
<true/> \n\
<key>Type</key> \n\
<string>0x5</string> \n\
<key>UseARTFrequency</key> \n\
<true/> \n\
</dict> \n\
<key>Devices</key> \n\
<dict> \n\
<key>AddProperties</key> \n\
<array> \n\
<dict> \n\
<key>Device</key> \n\
<string>SATA</string> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>Key</key> \n\
<string>10</string> \n\
<key>Value</key> \n\
<integer>11</integer> \n\
</dict> \n\
<dict> \n\
<key>Device</key> \n\
<string>LPC</string> \n\
<key>Disabled</key> \n\
<true/> \n\
<key>Key</key> \n\
<string>12</string> \n\
<key>Value</key> \n\
<integer>13</integer> \n\
</dict> \n\
<dict> \n\
<key>Device</key> \n\
<string>SmBUS</string> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>Key</key> \n\
<string>kk</string> \n\
<key>Value</key> \n\
<string>ll</string> \n\
</dict> \n\
<dict> \n\
<key>Device</key> \n\
<string>Firewire</string> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>Key</key> \n\
<string>14</string> \n\
<key>Value</key> \n\
<data> \n\
FQ== \n\
</data> \n\
</dict> \n\
</array> \n\
<key>AirportBridgeDeviceName</key> \n\
<string>airportbridge</string> \n\
<key>Arbitrary</key> \n\
<array> \n\
<dict> \n\
<key>Comment</key> \n\
<string>C1</string> \n\
<key>CustomProperties</key> \n\
<array> \n\
<dict> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>Key</key> \n\
<string>ll</string> \n\
<key>Value</key> \n\
<string>mm</string> \n\
</dict> \n\
<dict> \n\
<key>Disabled</key> \n\
<true/> \n\
<key>Key</key> \n\
<string>nn</string> \n\
<key>Value</key> \n\
<integer>1</integer> \n\
</dict> \n\
<dict> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>Key</key> \n\
<string>oo</string> \n\
<key>Value</key> \n\
<data> \n\
Ag== \n\
</data> \n\
</dict> \n\
</array> \n\
<key>PciAddr</key> \n\
<string>00:00.01</string> \n\
</dict> \n\
</array> \n\
<key>Audio</key> \n\
<dict> \n\
<key>AFGLowPowerState</key> \n\
<true/> \n\
<key>Inject</key> \n\
<string>Detect</string> \n\
<key>ResetHDA</key> \n\
<true/> \n\
</dict> \n\
<key>DisableFunctions</key> \n\
<true/> \n\
<key>FakeID</key> \n\
<dict> \n\
<key>ATI</key> \n\
<string>0x22221002</string> \n\
<key>IMEI</key> \n\
<string>0x22221002</string> \n\
<key>IntelGFX</key> \n\
<string>0x22221002</string> \n\
<key>LAN</key> \n\
<string>0x22221002</string> \n\
<key>NVidia</key> \n\
<string>0x22221002</string> \n\
<key>SATA</key> \n\
<string>0x22221002</string> \n\
<key>WIFI</key> \n\
<string>0x22221002</string> \n\
<key>XHCI</key> \n\
<string>0x22221002</string> \n\
</dict> \n\
<key>ForceHPET</key> \n\
<true/> \n\
<key>Inject</key> \n\
<true/> \n\
<key>IntelMaxValue</key> \n\
<true/> \n\
<key>LpcTune</key> \n\
<true/> \n\
<key>NoDefaultProperties</key> \n\
<true/> \n\
<key>Properties</key> \n\
<string>jj \n\
kk</string> \n\
<key>SetIntelBacklight</key> \n\
<true/> \n\
<key>SetIntelMaxBacklight</key> \n\
<true/> \n\
<key>USB</key> \n\
<dict> \n\
<key>AddClockID</key> \n\
<true/> \n\
<key>FixOwnership</key> \n\
<true/> \n\
<key>HighCurrent</key> \n\
<true/> \n\
<key>Inject</key> \n\
<true/> \n\
</dict> \n\
<key>UseIntelHDMI</key> \n\
<true/> \n\
</dict> \n\
<key>DisableDrivers</key> \n\
<array> \n\
<string>OsxAptioFixDrv</string> \n\
<string>Ps2KeyboardDxe</string> \n\
<string>Ps2MouseDxe</string> \n\
</array> \n\
<key>GUI</key> \n\
<dict> \n\
<key>ConsoleMode</key> \n\
<string>Max</string> \n\
<key>Custom</key> \n\
<dict> \n\
<key>Entries</key> \n\
<array> \n\
<dict> \n\
<key>AddArguments</key> \n\
<string>addarg</string> \n\
<key>Arguments</key> \n\
<string>arg</string> \n\
<key>BootBgColor</key> \n\
<string>bootbgcolor</string> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>DriveImage</key> \n\
<string>driveimage</string> \n\
<key>FullTitle</key> \n\
<string>title</string> \n\
<key>Hidden</key> \n\
<false/> \n\
<key>Hotkey</key> \n\
<string>H</string> \n\
<key>Ignore</key> \n\
<true/> \n\
<key>ImageData</key> \n\
<string>89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 \n\
00 00 01 00 00 00 01 00 01 03 00 00 00 66 BC 3A \n\
25 00 00 00 03 50 4C 54 45 B5 D0 D0 63 04 16 EA \n\
00 00 00 1F 49 44 41 54 68 81 ED C1 01 0D 00 00 \n\
00 C2 A0 F7 4F 6D 0E 37 A0 00 00 00 00 00 00 00 \n\
00 BE 0D 21 00 00 01 9A 60 E1 D5 00 00 00 00 49 \n\
45 4E 44 AE 42 60 82 </string> \n\
<key>xCustomLogo</key> \n\
<string>foo</string> \n\
<key>Path</key> \n\
<string>CustomEntry1</string> \n\
<key>Settings</key> \n\
<string>settings</string> \n\
<key>SubEntries</key> \n\
<array> \n\
<dict> \n\
<key>AddArguments</key> \n\
<string>arg2</string> \n\
<key>FullTitle</key> \n\
<string>title1</string> \n\
</dict> \n\
<dict> \n\
<key>AddArguments</key> \n\
<string>arg3</string> \n\
<key>Title</key> \n\
<string>title2</string> \n\
</dict> \n\
<dict> \n\
<key>AddArguments</key> \n\
<string>arg4</string> \n\
<key>FullTitle</key> \n\
<string>title3</string> \n\
</dict> \n\
<dict> \n\
<key>AddArguments</key> \n\
<string>arg5</string> \n\
<key>Title</key> \n\
<string>title4</string> \n\
</dict> \n\
</array> \n\
<key>Type</key> \n\
<string>Oldest</string> \n\
<key>Volume</key> \n\
<string>v1</string> \n\
<key>VolumeType</key> \n\
<string>Internal</string> \n\
</dict> \n\
</array> \n\
<key>Legacy</key> \n\
<array> \n\
<dict> \n\
<key>Disabled</key> \n\
<true/> \n\
<key>FullTitle</key> \n\
<string>title</string> \n\
<key>Hidden</key> \n\
<true/> \n\
<key>Hotkey</key> \n\
<string></string> \n\
<key>Ignore</key> \n\
<true/> \n\
<key>Type</key> \n\
<string>Windows</string> \n\
<key>Volume</key> \n\
<string>v2</string> \n\
</dict> \n\
</array> \n\
<key>Tool</key> \n\
<array> \n\
<dict> \n\
<key>Arguments</key> \n\
<string>b</string> \n\
<key>Disabled</key> \n\
<true/> \n\
<key>Hidden</key> \n\
<true/> \n\
<key>Hotkey</key> \n\
<string>b</string> \n\
<key>Ignore</key> \n\
<true/> \n\
<key>Path</key> \n\
<string>path</string> \n\
<key>Title</key> \n\
<string>title</string> \n\
<key>Volume</key> \n\
<string>tool1</string> \n\
</dict> \n\
</array> \n\
</dict> \n\
<key>CustomIcons</key> \n\
<true/> \n\
<key>Hide</key> \n\
<array> \n\
<string>sdfsdfdf</string> \n\
<string>sdfsfdf</string> \n\
</array> \n\
<key>Language</key> \n\
<string>es:0</string> \n\
<key>Mouse</key> \n\
<dict> \n\
<key>DoubleClick</key> \n\
<integer>501</integer> \n\
<key>Enabled</key> \n\
<true/> \n\
<key>Mirror</key> \n\
<true/> \n\
<key>Speed</key> \n\
<integer>5</integer> \n\
</dict> \n\
<key>Scan</key> \n\
<dict> \n\
<key>Entries</key> \n\
<true/> \n\
<key>Kernel</key> \n\
<string>First</string> \n\
<key>Legacy</key> \n\
<string>First</string> \n\
<key>Linux</key> \n\
<true/> \n\
<key>Tool</key> \n\
<true/> \n\
</dict> \n\
<key>ScreenResolution</key> \n\
<string>1366x768</string> \n\
<key>ShowOptimus</key> \n\
<true/> \n\
<key>TextOnly</key> \n\
<true/> \n\
<key>Theme</key> \n\
<string>th</string> \n\
</dict> \n\
<key>Graphics</key> \n\
<dict> \n\
<key>ATI</key> \n\
<array> \n\
<dict> \n\
<key>IOPCIPrimaryMatch</key> \n\
<string>0x1002888</string> \n\
<key>IOPCISubDevId</key> \n\
<string>0x106B</string> \n\
<key>LoadVBios</key> \n\
<true/> \n\
<key>Model</key> \n\
<string>cc</string> \n\
<key>VRAM</key> \n\
<integer>2000</integer> \n\
<key>VideoPorts</key> \n\
<integer>3</integer> \n\
</dict> \n\
</array> \n\
<key>BootDisplay</key> \n\
<integer>12</integer> \n\
<key>DualLink</key> \n\
<integer>1</integer> \n\
<key>EDID</key> \n\
<dict> \n\
<key>Custom</key> \n\
<data> \n\
AQID \n\
</data> \n\
<key>Inject</key> \n\
<true/> \n\
<key>ProductID</key> \n\
<string>0x9777</string> \n\
<key>VendorID</key> \n\
<string>0x1007</string> \n\
</dict> \n\
<key>FBName</key> \n\
<string>Exmoor</string> \n\
<key>Inject</key> \n\
<dict> \n\
<key>ATI</key> \n\
<true/> \n\
<key>Intel</key> \n\
<true/> \n\
<key>NVidia</key> \n\
<true/> \n\
</dict> \n\
<key>LoadVBios</key> \n\
<true/> \n\
<key>NVCAP</key> \n\
<string>0304</string> \n\
<key>NVIDIA</key> \n\
<array> \n\
<dict> \n\
<key>IOPCIPrimaryMatch</key> \n\
<string>0x10DE999</string> \n\
<key>IOPCISubDevId</key> \n\
<string>0x106B</string> \n\
<key>LoadVBios</key> \n\
<false/> \n\
<key>Model</key> \n\
<string>aa</string> \n\
<key>VRAM</key> \n\
<integer>1000</integer> \n\
<key>VideoPorts</key> \n\
<integer>1</integer> \n\
</dict> \n\
<dict> \n\
<key>IOPCIPrimaryMatch</key> \n\
<string>0x10DE999</string> \n\
<key>IOPCISubDevId</key> \n\
<string>0x106B</string> \n\
<key>LoadVBios</key> \n\
<true/> \n\
<key>Model</key> \n\
<string>bb</string> \n\
<key>VRAM</key> \n\
<integer>1000</integer> \n\
<key>VideoPorts</key> \n\
<integer>2</integer> \n\
</dict> \n\
</array> \n\
<key>NvidiaGeneric</key> \n\
<true/> \n\
<key>NvidiaNoEFI</key> \n\
<true/> \n\
<key>NvidiaSingle</key> \n\
<true/> \n\
<key>PatchVBios</key> \n\
<true/> \n\
<key>PatchVBiosBytes</key> \n\
<array> \n\
<dict> \n\
<key>Find</key> \n\
<data> \n\
AwQF \n\
</data> \n\
<key>Replace</key> \n\
<data> \n\
BgcI \n\
</data> \n\
</dict> \n\
</array> \n\
<key>VRAM</key> \n\
<integer>1500</integer> \n\
<key>VideoPorts</key> \n\
<integer>2</integer> \n\
<key>display-cfg</key> \n\
<string>04</string> \n\
<key>ig-platform-id</key> \n\
<string>0x59230000</string> \n\
</dict> \n\
<key>KernelAndKextPatches</key> \n\
<dict> \n\
<key>ATIConnectorsController</key> \n\
<string>ATICtl</string> \n\
<key>ATIConnectorsData</key> \n\
<string>111213</string> \n\
<key>ATIConnectorsPatch</key> \n\
<string>141516</string> \n\
<key>AppleIntelCPUPM</key> \n\
<true/> \n\
<key>AppleRTC</key> \n\
<true/> \n\
<key>BootPatches</key> \n\
<array> \n\
<dict> \n\
<key>Comment</key> \n\
<string>c3</string> \n\
<key>Disabled</key> \n\
<true/> \n\
<key>Find</key> \n\
<data> \n\
MTI= \n\
</data> \n\
<key>MatchBuild</key> \n\
<string>10.12.6</string> \n\
<key>MatchOS</key> \n\
<string>10.12</string> \n\
<key>Replace</key> \n\
<data> \n\
MzQ= \n\
</data> \n\
</dict> \n\
</array> \n\
<key>Debug</key> \n\
<true/> \n\
<key>DellSMBIOSPatch</key> \n\
<true/> \n\
<key>FakeCPUID</key> \n\
<string>0x0306D0</string> \n\
<key>ForceKextsToLoad</key> \n\
<array> \n\
<string>ForceKext</string> \n\
</array> \n\
<key>KernelCpu</key> \n\
<true/> \n\
<key>KernelLapic</key> \n\
<true/> \n\
<key>KernelPm</key> \n\
<true/> \n\
<key>KernelToPatch</key> \n\
<array> \n\
<dict> \n\
<key>Comment</key> \n\
<string>c2</string> \n\
<key>Disabled</key> \n\
<true/> \n\
<key>Find</key> \n\
<data> \n\
ISI= \n\
</data> \n\
<key>MatchBuild</key> \n\
<string>10.13.6</string> \n\
<key>MatchOS</key> \n\
<string>10.13</string> \n\
<key>Replace</key> \n\
<data> \n\
IyQ= \n\
</data> \n\
</dict> \n\
</array> \n\
<key>KernelXCPM</key> \n\
<true/> \n\
<key>KextsToPatch</key> \n\
<array> \n\
<dict> \n\
<key>Comment</key> \n\
<string>c1</string> \n\
<key>Disabled</key> \n\
<true/> \n\
<key>Find</key> \n\
<data> \n\
AQ== \n\
</data> \n\
<key>InfoPlistPatch</key> \n\
<true/> \n\
<key>MatchBuild</key> \n\
<string>10.14.6</string> \n\
<key>MatchOS</key> \n\
<string>10.14</string> \n\
<key>Name</key> \n\
<string>k1</string> \n\
<key>Replace</key> \n\
<data> \n\
Ag== \n\
</data> \n\
</dict> \n\
<dict> \n\
<key>Comment</key> \n\
<string>IONVMeFamily IONameMatch</string> \n\
<key>Disabled</key> \n\
<false/> \n\
<key>Find</key> \n\
<data> \n\
PHN0cmluZz5wY2kxNDRkLGE4MDQ8L3N0cmluZz4= \n\
</data> \n\
<key>InfoPlistPatch</key> \n\
<true/> \n\
<key>Name</key> \n\
<string>IONVMeFamily</string> \n\
<key>Replace</key> \n\
<data> \n\
PHN0cmluZz5wY2kxNDRkLGE4MDI8L3N0cmluZz4= \n\
</data> \n\
</dict> \n\
</array> \n\
</dict> \n\
<key>RtVariables</key> \n\
<dict> \n\
<key>BooterConfig</key> \n\
<string>0x1</string> \n\
<key>CsrActiveConfig</key> \n\
<string>0x2</string> \n\
<key>MLB</key> \n\
<string>12345678901234567</string> \n\
<key>ROM</key> \n\
<data> \n\
MBRwYnHo \n\
</data> \n\
</dict> \n\
<key>SMBIOS</key> \n\
<dict> \n\
<key>BiosReleaseDate</key> \n\
<string>08/08/17</string> \n\
<key>BiosVendor</key> \n\
<string>Apple Inc.</string> \n\
<key>BiosVersion</key> \n\
<string>MBP81.88Z.004D.B00.1708080655</string> \n\
<key>Board-ID</key> \n\
<string>Mac-94245B3640C91C81</string> \n\
<key>BoardManufacturer</key> \n\
<string>Apple Inc.</string> \n\
<key>BoardSerialNumber</key> \n\
<string>W89135306OPDM6CAD</string> \n\
<key>BoardType</key> \n\
<integer>10</integer> \n\
<key>BoardVersion</key> \n\
<string>1.0</string> \n\
<key>ChassisAssetTag</key> \n\
<string>MacBook-Aluminum</string> \n\
<key>ChassisManufacturer</key> \n\
<string>Apple Inc.</string> \n\
<key>ChassisType</key> \n\
<string>0x0A</string> \n\
<key>Family</key> \n\
<string>MacBook Pro</string> \n\
<key>FirmwareFeatures</key> \n\
<string>0xC00DE137</string> \n\
<key>FirmwareFeaturesMask</key> \n\
<string>0xFF1FFF3F</string> \n\
<key>LocationInChassis</key> \n\
<string>Part Component</string> \n\
<key>Manufacturer</key> \n\
<string>Apple Inc.</string> \n\
<key>Memory</key> \n\
<dict> \n\
<key>Channels</key> \n\
<integer>2</integer> \n\
<key>Modules</key> \n\
<array> \n\
<dict> \n\
<key>Frequency</key> \n\
<integer>333</integer> \n\
<key>Part</key> \n\
<string>Part1</string> \n\
<key>Serial</key> \n\
<string>Ser1</string> \n\
<key>Size</key> \n\
<integer>2048</integer> \n\
<key>Slot</key> \n\
<integer>1</integer> \n\
<key>Type</key> \n\
<string>DDR</string> \n\
<key>Vendor</key> \n\
<string>v1</string> \n\
</dict> \n\
<dict> \n\
<key>Frequency</key> \n\
<integer>366</integer> \n\
<key>Part</key> \n\
<string>Part2</string> \n\
<key>Serial</key> \n\
<string>Ser2</string> \n\
<key>Size</key> \n\
<integer>4096</integer> \n\
<key>Slot</key> \n\
<integer>2</integer> \n\
<key>Type</key> \n\
<string>DDR2</string> \n\
<key>Vendor</key> \n\
<string>v2</string> \n\
</dict> \n\
</array> \n\
<key>SlotCount</key> \n\
<integer>4</integer> \n\
</dict> \n\
<key>Mobile</key> \n\
<true/> \n\
<key>PlatformFeature</key> \n\
<string>0xFFFF</string> \n\
<key>ProductName</key> \n\
<string>MacBookPro8,1</string> \n\
<key>SerialNumber</key> \n\
<string>W89G91VFDH2G</string> \n\
<key>Slots</key> \n\
<array> \n\
<dict> \n\
<key>Device</key> \n\
<string>NVidia</string> \n\
<key>ID</key> \n\
<integer>1</integer> \n\
<key>Name</key> \n\
<string>APPL,sdfsdf</string> \n\
<key>Type</key> \n\
<integer>1</integer> \n\
</dict> \n\
</array> \n\
<key>SmUUID</key> \n\
<string>F1AB23C0-C35A-473E-BDB7-455C3A6271E8</string> \n\
<key>Version</key> \n\
<string>1.0</string> \n\
</dict> \n\
<key>SystemParameters</key> \n\
<dict> \n\
<key>BacklightLevel</key> \n\
<string>2</string> \n\
<key>CustomUUID</key> \n\
<string>2926A57C-FF0E-4A64-980F-23483BD41969</string> \n\
<key>ExposeSysVariables</key> \n\
<true/> \n\
<key>InjectKexts</key> \n\
<string>Yes</string> \n\
<key>InjectSystemID</key> \n\
<true/> \n\
<key>NoCaches</key> \n\
<true/> \n\
<key>NvidiaWeb</key> \n\
<true/> \n\
</dict> \n\
</dict> \n\
</plist>";
#endif //MSC_VER
#endif /* ConfigSample1_h */
/*
<key>Test null data</key> \n\
<data></data> \n\
*/

View File

@ -54,12 +54,12 @@ extern "C" int main(int argc, const char * argv[])
const char* path = NULL;
#ifdef JIEF_DEBUG
path = "config-nowarning-noerror.plist";
path = "config-test2.plist";
//path = "/JiefLand/5.Devel/Clover/user config/Matgen84/EFI_github/CLOVER/config.plist";
//path = "/JiefLand/5.Devel/Clover/user config/BS.plist";
//path = "/JiefLand/5.Devel/Clover/user config/maclinuxG4/config.plist";
//path = "/JiefLand/5.Devel/Clover/user config/MICKHAEL/EFI_Github/CLOVER/config.plist";
// path = "/JiefLand/5.Devel/Clover/user config/MacKonsti/config.lenovo.plist";
path = "config-test2.plist";
path = "/JiefLand/5.Devel/Clover/user config/Slice/2021-04-29/config.plist";
#endif
if ( !path ) {

View File

@ -10,7 +10,7 @@
BOOLEAN ReadAllKeyStrokes(void);
void PauseForKey(CONST CHAR16* msg);
void PauseForKey(const XString8& msg);
//void DebugPause(void);
void EndlessIdleLoop(void);

View File

@ -494,9 +494,9 @@ SetupDataForOSX(BOOLEAN Hibernate)
gSettings.CPU.CpuFreqMHz = (UINT32)DivU64x32(CpuSpeed, Mega);
char RBr[8];
getRBr(GlobalConfig.CurrentModel, RBr);
getRBr(GlobalConfig.CurrentModel, gCPUStructure.Model, gSettings.Smbios.Mobile, RBr);
char RPlt[8];
getRPlt(GlobalConfig.CurrentModel, gSettings.Smbios.Mobile, RPlt);
getRPlt(GlobalConfig.CurrentModel, gCPUStructure.Model, gSettings.Smbios.Mobile, RPlt);
// Locate DataHub Protocol
Status = gBS->LocateProtocol(&gEfiDataHubProtocolGuid, NULL, (void**)&gDataHub);

View File

@ -973,7 +973,7 @@ EFI_STATUS bootPBR(REFIT_VOLUME* volume, BOOLEAN SataReset)
LegacyBiosFarCall86(0, 0x7c00, &Regs);
//Status = gLegacy8259->SetMask(gLegacy8259, &OldMask, NULL, NULL, NULL);
PauseForKey(L"save legacy-boot.log ...\n");
PauseForKey("save legacy-boot.log ..."_XS8);
Status = SaveBooterLog(&self.getCloverDir(), LEGBOOT_LOG);
if (EFI_ERROR(Status)) {
DBG("can't save legacy-boot.log\n");

View File

@ -41,7 +41,7 @@ UINT8 hexstrtouint8 (const CHAR8* buf)
else if (IS_HEX(buf[0]))
i = (buf[0] | 0x20) - 'a' + 10;
if (AsciiStrLen(buf) == 1) {
if (strlen(buf) == 1) {
return i;
}
i <<= 4;

View File

@ -122,13 +122,13 @@ UINT8 *Base64DecodeClover(IN CONST CHAR8 *EncodedData, size_t EncodedSize, OUT U
}
// to simplify, we'll allocate the same size, although smaller size is needed
DecodedData = (__typeof__(DecodedData))AllocateZeroPool(EncodedSize);
DecodedData = (__typeof__(DecodedData))malloc(EncodedSize); // use malloc, or validator won't compile
base64_init_decodestate(&state_in);
DecodedSizeInternal = base64_decode_block(EncodedData, EncodedSize, (char*) DecodedData, &state_in);
if ( DecodedSizeInternal <= 0 ) {
FreePool(DecodedData);
free(DecodedData);
DecodedData = NULL;
}

View File

@ -938,14 +938,14 @@ UINT64 GetPlatformFeature(MACHINE_TYPES Model)
}
}
void getRBr(MACHINE_TYPES Model, char RBr[8])
void getRBr(MACHINE_TYPES Model, UINT32 CPUModel, bool isMobile, char RBr[8])
{
memset(RBr, 0, 8);
if (ApplePlatformData[Model].smcBranch[0] != 'N') {
// snprintf(RBr, 8, "%s", ApplePlatformData[Model].smcBranch.c_str());
memcpy(RBr, ApplePlatformData[Model].smcBranch.c_str(), MIN(8, ApplePlatformData[Model].smcBranch.sizeInBytesIncludingTerminator()));
} else {
switch (gCPUStructure.Model) {
switch (CPUModel) {
case CPU_MODEL_PENTIUM_M:
case CPU_MODEL_CELERON:
snprintf(RBr, 8, "%s", "m70");
@ -960,7 +960,7 @@ void getRBr(MACHINE_TYPES Model, char RBr[8])
break;
case CPU_MODEL_PENRYN:
if (gSettings.Smbios.Mobile) {
if (isMobile) {
snprintf(RBr, 8, "%s", "m82");
} else {
snprintf(RBr, 8, "%s", "k36");
@ -968,7 +968,7 @@ void getRBr(MACHINE_TYPES Model, char RBr[8])
break;
case CPU_MODEL_SANDY_BRIDGE:
if (gSettings.Smbios.Mobile) {
if (isMobile) {
snprintf(RBr, 8, "%s", "k90i");
} else {
snprintf(RBr, 8, "%s", "k60");
@ -1016,14 +1016,14 @@ void getRBr(MACHINE_TYPES Model, char RBr[8])
}
}
void getRPlt(MACHINE_TYPES Model, bool Mobile, char RPlt[8])
void getRPlt(MACHINE_TYPES Model, UINT32 CPUModel, bool isMobile, char RPlt[8])
{
memset(RPlt, 0, 8);
if (ApplePlatformData[Model].smcPlatform[0] != 'N') {
snprintf(RPlt, 8, "%s", ApplePlatformData[Model].smcPlatform.c_str());
// memcpy(RPlt, ApplePlatformData[Model].smcPlatform.c_str(), 8);
} else {
switch (gCPUStructure.Model) {
switch (CPUModel) {
case CPU_MODEL_PENTIUM_M:
case CPU_MODEL_CELERON:
snprintf(RPlt, 8, "m70");
@ -1038,7 +1038,7 @@ void getRPlt(MACHINE_TYPES Model, bool Mobile, char RPlt[8])
break;
case CPU_MODEL_PENRYN:
if (Mobile) {
if (isMobile) {
snprintf(RPlt, 8, "m82");
} else {
snprintf(RPlt, 8, "k36");
@ -1046,7 +1046,7 @@ void getRPlt(MACHINE_TYPES Model, bool Mobile, char RPlt[8])
break;
case CPU_MODEL_SANDY_BRIDGE:
if (Mobile) {
if (isMobile) {
snprintf(RPlt, 8, "k90i");
} else {
snprintf(RPlt, 8, "k60");
@ -1165,7 +1165,7 @@ XString8 GetReleaseDate(MACHINE_TYPES Model)
XString8 returnValue;
const char* i = ApplePlatformData[Model].firmwareVersion.c_str();
i += AsciiStrLen(i);
i += strlen(i);
while ( *i != '.' ) i--;
if ( isReleaseDateWithYear20(Model) ) {
returnValue.S8Printf("%c%c/%c%c/20%c%c", i[3], i[4], i[5], i[6], i[1], i[2]);
@ -1175,11 +1175,11 @@ XString8 GetReleaseDate(MACHINE_TYPES Model)
return returnValue;
}
void SetDMISettingsForModel(MACHINE_TYPES Model, SETTINGS_DATA* settingsData)
void SetDMISettingsForModel(MACHINE_TYPES Model, SETTINGS_DATA* settingsData, REFIT_CONFIG* liveConfig)
{
GlobalConfig.BiosVersionUsed = ApplePlatformData[Model].firmwareVersion;
GlobalConfig.ReleaseDateUsed = GetReleaseDate(Model); // AppleReleaseDate
GlobalConfig.EfiVersionUsed.takeValueFrom(ApplePlatformData[Model].efiversion);
liveConfig->BiosVersionUsed = ApplePlatformData[Model].firmwareVersion;
liveConfig->ReleaseDateUsed = GetReleaseDate(Model); // AppleReleaseDate
liveConfig->EfiVersionUsed.takeValueFrom(ApplePlatformData[Model].efiversion);
settingsData->Smbios.BiosVendor = AppleBiosVendor;
settingsData->Smbios.ManufactureName = settingsData->Smbios.BiosVendor;
@ -1218,139 +1218,6 @@ MACHINE_TYPES GetModelFromString(const XString8& ProductName)
// return ending enum as "not found"
return MaxMachineType;
}
//
//void GetDefaultSettings()
//{
// DbgHeader("GetDefaultSettings");
//
// //gLanguage = english;
//
// //default values will be overritten by config.plist
// //use explicitly settings TRUE or FALSE (Yes or No)
//
// //gSettings.Graphics.InjectAsDict.InjectIntel = (gGraphics[0].Vendor == Intel) || (gGraphics[1].Vendor == Intel);
//
// //gSettings.Graphics.InjectAsDict.InjectATI = (((gGraphics[0].Vendor == Ati) && ((gGraphics[0].DeviceID & 0xF000) != 0x6000)) ||
// // ((gGraphics[1].Vendor == Ati) && ((gGraphics[1].DeviceID & 0xF000) != 0x6000)));
//
// //gSettings.Graphics.InjectAsDict.InjectNVidia = (((gGraphics[0].Vendor == Nvidia) && (gGraphics[0].Family < 0xE0)) ||
// // ((gGraphics[1].Vendor == Nvidia) && (gGraphics[1].Family < 0xE0)));
//
//// gSettings.GraphicsInjector = gSettings.InjectATI || gSettings.InjectNVidia;
// //CopyMem(gSettings.Graphics.NVCAP.data(), default_NVCAP, 20);
// //CopyMem(gSettings.Graphics.Dcfg.data(), default_dcfg_0, 4);
// //CopyMem(&gSettings.Graphics.Dcfg[4], default_dcfg_1, 4);
// //gSettings.Graphics.EDID.CustomEDID = NULL; //no sense to assign 0 as the structure is zeroed
// //gSettings.Graphics.DualLink = 0xA; // A(auto): DualLink auto-detection
// //gSettings.Devices.Audio.HDAInjection = FALSE;
// //gSettings.Devices.Audio.HDALayoutId = 0;
// //gSettings.Devices.USB.USBInjection = TRUE; // enabled by default to have the same behavior as before
// //gSettings.ACPI.DSDT.DsdtName = L"DSDT.aml"_XSW;
// //gSettings.SystemParameters.BacklightLevel = 0xFFFF; //0x0503; -- the value from MBA52
// //gSettings.SystemParameters.BacklightLevelConfig = FALSE;
// //gSettings.Smbios.TrustSMBIOS = TRUE;
//
// //gSettings.Smbios.SmUUID = nullGuidAsString;
// //gSettings.BootGraphics.DefaultBackgroundColor = 0x80000000; //the value to delete the variable
// //GlobalConfig.RtROM.setEmpty();
//// gSettings.RtVariables.CsrActiveConfig = 0xFFFF;
// //gSettings.RtVariables.BooterConfig = 0;
//// MemSet(gSettings.RtVariables.BooterCfgStr, 64, 0);
//// AsciiStrCpyS(gSettings.RtVariables.BooterCfgStr, 64, "log=0");
// //CHAR8 *OldCfgStr = (__typeof__(OldCfgStr))GetNvramVariable(L"bootercfg", &gEfiAppleBootGuid, NULL, NULL);
// //if (OldCfgStr) {
// //gSettings.RtVariables.BooterCfgStr.takeValueFrom(OldCfgStr);
// //FreePool(OldCfgStr);
// //}
// //gSettings.Boot.DisableCloverHotkeys = FALSE;
// //gSettings.BootGraphics.UIScale = 1; // new default value 0x80000000
//
// //ResumeFromCoreStorage = FALSE;
//}
/*
* To ease copy/paste and text replacement from GetUserSettings, the parameter has the same name as the global
* and is passed by non-const reference.
* This temporary during the refactoring
* All code from this comes from settings.cpp. I am taking out all the init code from settings.cpp so I can replace the reading layer.
*/
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wshadow"
void GetDefaultCpuSettings(SETTINGS_DATA& gSettings)
{
#pragma GCC diagnostic pop
DbgHeader("GetDefaultCpuSettings");
MACHINE_TYPES Model;
//UINT64 msr = 0;
Model = GetDefaultModel();
gSettings.CPU.CpuType = GetAdvancedCpuType();
SetDMISettingsForModel(Model, &gSettings);
if (gCPUStructure.Model >= CPU_MODEL_IVY_BRIDGE) {
gSettings.ACPI.SSDT.Generate.GeneratePStates = TRUE;
gSettings.ACPI.SSDT.Generate.GenerateCStates = TRUE;
// backward compatibility, APFS, APLF, PluginType follow PStates
gSettings.ACPI.SSDT.Generate.GenerateAPSN = gSettings.ACPI.SSDT.Generate.GeneratePStates;
gSettings.ACPI.SSDT.Generate.GenerateAPLF = gSettings.ACPI.SSDT.Generate.GeneratePStates;
gSettings.ACPI.SSDT.Generate.GeneratePluginType = gSettings.ACPI.SSDT.Generate.GeneratePStates;
// gSettings.ACPI.SSDT.EnableISS = FALSE;
// gSettings.ACPI.SSDT.EnableC2 = TRUE;
gSettings.ACPI.SSDT._EnableC6 = TRUE;
gSettings.ACPI.SSDT.PluginType = 1;
if (gCPUStructure.Model == CPU_MODEL_IVY_BRIDGE) {
gSettings.ACPI.SSDT.MinMultiplier = 7;
}
// gSettings.ACPI.SSDT.DoubleFirstState = FALSE;
//gSettings.ACPI.SSDT.DropSSDT = TRUE; //why drop all???
gSettings.ACPI.SSDT._C3Latency = 0x00FA;
}
// gSettings.CPU.Turbo = gCPUStructure.Turbo;
gSettings.CPU.SavingMode = 0xFF; //means not set
if (gCPUStructure.Model >= CPU_MODEL_SKYLAKE_D) {
gSettings.CPU.UseARTFreq = true;
}
}
uint8_t GetChassisTypeFromModel(MACHINE_TYPES Model)
{
@ -1638,12 +1505,12 @@ int compareBiosVersion(const XString8& version1, const XString8& version2)
const CHAR8* v1p = version1.c_str();
const CHAR8* v2p = version2.c_str();
v1p += AsciiStrLen(v1p);
v1p += strlen(v1p);
while (*v1p != '.') {
v1p--;
}
v2p += AsciiStrLen(v2p);
v2p += strlen(v2p);
while (*v2p != '.') {
v2p--;
}
@ -1694,7 +1561,7 @@ int compareReleaseDate(const XString8& date1, const XString8& date2)
const CHAR8* i = date1.c_str();
const CHAR8* j = date2.c_str();
if ( (AsciiStrLen(i) == 8) && (AsciiStrLen(j) == 8) )
if ( (strlen(i) == 8) && (strlen(j) == 8) )
{
if ( ((i[6] > '0') && (j[6] == '0')) || ((i[6] >= j[6]) && (i[7] > j[7])) )
{
@ -1724,7 +1591,7 @@ int compareReleaseDate(const XString8& date1, const XString8& date2)
{
return -1;
}
} else if ( (AsciiStrLen(i) == 8) && (AsciiStrLen(j) == 10) )
} else if ( (strlen(i) == 8) && (strlen(j) == 10) )
{
if ( ((i[6] > '0') && (j[8] == '0')) || ((i[6] >= j[8]) && (i[7] > j[9])) )
{
@ -1754,7 +1621,7 @@ int compareReleaseDate(const XString8& date1, const XString8& date2)
{
return -1;
}
} else if ( (AsciiStrLen(i) == 10) && (AsciiStrLen(j) == 10) )
} else if ( (strlen(i) == 10) && (strlen(j) == 10) )
{
if ( ((i[8] > '0') && (j[8] == '0')) || ((i[8] >= j[8]) && (i[9] > j[9])) )
{
@ -1784,7 +1651,7 @@ int compareReleaseDate(const XString8& date1, const XString8& date2)
{
return -1;
}
} else if ( (AsciiStrLen(i) == 10) && (AsciiStrLen(j) == 8) )
} else if ( (strlen(i) == 10) && (strlen(j) == 8) )
{
if ( ((i[8] > '0') && (j[6] == '0')) || ((i[8] >= j[6]) && (i[9] > j[7])) )
{

View File

@ -13,6 +13,7 @@
//#include "../Platform/Settings.h"
class SETTINGS_DATA;
class REFIT_CONFIG;
typedef enum {
@ -192,10 +193,9 @@ public:
extern PLATFORMDATA ApplePlatformData[];
void SetDMISettingsForModel(MACHINE_TYPES Model, SETTINGS_DATA* settingsData);
void SetDMISettingsForModel(MACHINE_TYPES Model, SETTINGS_DATA* settingsData, REFIT_CONFIG* liveConfig);
MACHINE_TYPES GetModelFromString (const XString8& ProductName);
//void GetDefaultSettings(void);
void GetDefaultCpuSettings(SETTINGS_DATA& gSettings);
bool isReleaseDateWithYear20(MACHINE_TYPES Model);
XString8 GetReleaseDate (MACHINE_TYPES Model);
uint8_t GetChassisTypeFromModel(MACHINE_TYPES Model);
@ -203,8 +203,8 @@ uint32_t GetFwFeaturesMaskFromModel(MACHINE_TYPES Model);
uint32_t GetFwFeatures(MACHINE_TYPES Model);
bool GetMobile(MACHINE_TYPES Model);
UINT64 GetPlatformFeature(MACHINE_TYPES Model);
void getRBr(MACHINE_TYPES Model, char RBr[8]);
void getRPlt(MACHINE_TYPES Model, bool Mobile, char RPlt[8]);
void getRBr(MACHINE_TYPES Model, UINT32 CPUModel, bool isMobile, char RBr[8]);
void getRPlt(MACHINE_TYPES Model, UINT32 CPUModel, bool isMobile, char RPlt[8]);
int compareBiosVersion(const XString8& version1, const XString8& version2);
bool is2ndBiosVersionGreaterThan1st(const XString8& version1, const XString8& version2);

View File

@ -39,13 +39,14 @@ BOOLEAN ReadAllKeyStrokes(void)
return GotKeyStrokes;
}
void PauseForKey(CONST CHAR16* msg)
void PauseForKey(const XString8& msg)
{
UINTN index;
if (msg) {
printf("\n %ls", msg);
if ( msg.notEmpty() ) {
printf("%s", msg.c_str());
}
printf("\n* Hit any key to continue *");
if ( msg.lastChar() != '\n' ) printf(" ");
printf("Hit any key to continue...\n");
if (ReadAllKeyStrokes()) { // remove buffered key strokes
gBS->Stall(5000000); // 5 seconds delay

View File

@ -148,12 +148,12 @@ static UINTN GetDebugLogFile()
if ( debugLogFileName.isEmpty() )
{
debugLogFileName = S8Printf("misc\\%d-%d-%d_%d-%d_%ls.log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, self.getCloverEfiFileName().wc_str());
debugLogFileName = S8Printf("misc\\%04d-%02d-%02d_%02d-%02d_%ls.log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, self.getCloverEfiFileName().wc_str());
Status = self.getCloverDir().Open(&self.getCloverDir(), &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ, 0);
if ( !EFI_ERROR(Status) ) LogFile->Close(LogFile); // DO NOT modify Status here.
INTN i=1;
while ( Status != EFI_NOT_FOUND && (i < MAX_INTN) ) {
debugLogFileName = S8Printf("misc\\%d-%d-%d_%d-%d_%ls(%lld).log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, self.getCloverEfiFileName().wc_str(), i);
debugLogFileName = S8Printf("misc\\%04d-%02d-%02d_%02d-%02d_%ls(%lld).log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, self.getCloverEfiFileName().wc_str(), i);
Status = self.getCloverDir().Open(&self.getCloverDir(), &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ, 0);
if ( !EFI_ERROR(Status) ) LogFile->Close(LogFile); // DO NOT modify Status here.
}

View File

@ -1,16 +1,17 @@
#include <Platform.h> // Only use angled for Platform, else, xcode project won't compile
#include <stdlib.h> // for abort()
#if defined(CLOVER_BUILD) || !defined(_MSC_VER)
void abort(void)
{
printf("A fatal error happened. System halted\n");
while (1) { // tis will avoid warning : Function declared 'noreturn' should not return
CpuDeadLoop();
}
}
#endif
//#if defined(CLOVER_BUILD) || !defined(_MSC_VER)
//void abort(void)
//{
// printf("A fatal error happened. System halted\n");
// while (1) { // tis will avoid warning : Function declared 'noreturn' should not return
// abort();
// }
//}
//#endif
bool stop_at_panic = true;
bool i_have_panicked = false;
@ -33,9 +34,7 @@ static void panic_(const char* format, VA_LIST va)
vprintf(format, va);
}
printf(FATAL_ERROR_MSG);
while (1) { // this will avoid warning : Function declared 'noreturn' should not return
CpuDeadLoop();
}
abort();
}
void panic(const char* format, ...)

View File

@ -732,6 +732,8 @@ void ConfigManager::applySettings() const
if ( !configPlist.ACPI.SSDT.getC3Latency().isDefined() )
gSettings.ACPI.SSDT._C3Latency = 0x00FA;
}
//gSettings.CPU.Turbo = gCPUStructure.Turbo;
gSettings.CPU.SavingMode = 0xFF; //means not set
if ( gCPUStructure.Model >= CPU_MODEL_SKYLAKE_D )
{
if ( !configPlist.CPU.getUseARTFreq().isDefined() )
@ -898,7 +900,7 @@ EFI_STATUS ConfigManager::LoadConfig(const XStringW& ConfName)
gSettings.takeValueFrom(configPlist);
// TODO improve this (avoid to delete settings to re-import them !)
// restore default value for SMBIOS (delete values from configPlist)
SetDMISettingsForModel(Model, &gSettings);
SetDMISettingsForModel(Model, &gSettings, &GlobalConfig);
// import values from configPlist if they are defined
FillSmbiosWithDefaultValue(Model, configPlist.getSMBIOS());
if ( smbiosPlist.SMBIOS.isDefined() ) {
@ -1006,7 +1008,6 @@ EFI_STATUS ConfigManager::InitialisePlatform()
gCPUStructure.MaxSpeed = g_SmbiosDiscoveredSettings.MaxSpeed;
GetCPUProperties();
GetDefaultCpuSettings(gSettings); //split from GetDefaultSettings() because it should be after GetCPUProperties()
DiscoverDevices();
// GetMacAddress(&gConf.LanCardArrayNonConst);

View File

@ -45,6 +45,7 @@ XmlAbstractType& ConfigPlistClass::ACPI_Class::DSDT_Class::ACPI_DSDT_Fixes_Class
return ACPI_DSDT_Fixe_Array[idx].oldEnabled;
}
}
*keyFound = false;
return nullXmlType;
}

View File

@ -97,7 +97,6 @@ public:
super::reset();
for ( size_t idx = 0 ; idx < sizeof(ACPI_DSDT_Fixe_Array)/sizeof(ACPI_DSDT_Fixe_Array[0]) ; idx++ ) {
ACPI_DSDT_Fixe_Array[idx].reset();
ACPI_DSDT_Fixe_Array[idx].reset();
}
};
// virtual bool parseFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xmlPath, bool generateErrors) override;

View File

@ -34,11 +34,12 @@ public:
XStringArray_(const XStringArray_<OtherXStringClass_, OtherXStringArrayClass>& other) : array() { *this = other; }
template<typename OtherXStringClass_, class OtherXStringArrayClass>
XStringArrayClass& operator = (const XStringArray_<OtherXStringClass_, OtherXStringArrayClass>& other) {
XStringArray_& operator = (const XStringArray_<OtherXStringClass_, OtherXStringArrayClass>& other) {
for ( size_t idx = 0 ; idx < other.size() ; ++idx ) {
array.AddCopy(other[idx]);
}
return *(XStringArrayClass*)this;
return *this;
// return *((XStringArrayClass*)this);
}
// template<typename OtherXStringClass_, class OtherXStringArrayClass>

View File

@ -440,7 +440,9 @@ bool XmlLiteParser::getKeyTagValue(const char** value, size_t* valueLength, XmlP
{
const char* tag;
size_t tagLength;
#ifdef DEBUG_TRACE
#endif
moveForwardUntilSignificant(); // to get the position more accurate
*xmlParserPosition = getPosition();
bool b = getSimpleTag(&tag, &tagLength, value, valueLength, "key", generateErrors);
if ( !b ) {

View File

@ -281,7 +281,19 @@ bool XmlKey::parseFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xmlP
XmlParserPosition pos = xmlLiteParser->getPosition();
RETURN_IF_FALSE( xmlLiteParser->getSimpleTag(&tag, &tagLength, keyValuePtr, keyValueLengthPtr, NULL, generateErrors) );
if ( strnIsEqual(tag, tagLength, "key") ) return setStringValue(*keyValuePtr, *keyValueLengthPtr);
if ( strnIsEqual(tag, tagLength, "key") ) {
#ifdef JIEF_DEBUG
if ( LString8(*keyValuePtr).startWithOrEqualTo("NewWay_80000000"_XS8) ) {
printf("%s", "NewWay_80000000");
}
#endif
#ifdef DEBUG_TRACE
printf("XmlKey::parseFromXmlLite key=%.*s, line=%d, buffer=", (int)*keyValueLengthPtr, *keyValuePtr, pos.getLine());
for(size_t i=0 ; i<40 ; i++) printf("%c", pos.p[i] < 32 ? 0 : pos.p[i]);
printf("\n");
#endif
return setStringValue(*keyValuePtr, *keyValueLengthPtr);
}
xmlLiteParser->addXmlError(generateErrors, S8Printf("Expecting a <key> tag in '%s' at line %d.", xmlPath.c_str(), pos.getLine()));
return false;
}
@ -474,7 +486,7 @@ if ( xmlPath.contains("CsrActiveConfig") ) {
if (decodedSize > sizeof(result) ) decodedSize = sizeof(result);
result = 0;
memcpy(&result, decoded, decodedSize); // decodedSize can be < 8 bytes, but that works because of litlle endian.
FreePool(decoded);
free(decoded);
}else{
xmlLiteParser->addWarning(generateErrors, S8Printf("Tag '%s:%d' should be an integer. It's currently a data with conversion problem. Setting value to 0.", xmlPath.c_str(), pos.getLine()));
result = 0;

View File

@ -189,9 +189,9 @@ if ( ret != 0 ) {
#if defined(CLOVER_BUILD) && defined(JIEF_DEBUG)
if ( all_ok ) {
// PauseForKey(L"press");
// PauseForKey(NullXString8);
}else{
PauseForKey(L"press");
PauseForKey(NullXString8);
}
#endif

View File

@ -171,16 +171,19 @@ static EFI_STATUS LoadEFIImageList(IN EFI_DEVICE_PATH **DevicePaths,
ReturnStatus = Status = EFI_NOT_FOUND; // in case the list is empty
for (DevicePathIndex = 0; DevicePaths[DevicePathIndex] != NULL; DevicePathIndex++) {
ReturnStatus = Status = gBS->LoadImage(FALSE, self.getSelfImageHandle(), DevicePaths[DevicePathIndex], NULL, 0, &ChildImageHandle);
DBG(" status=%s", efiStrError(Status));
DBG(" status=%s", efiStrError(Status));
if (ReturnStatus != EFI_NOT_FOUND)
break;
}
XStringW ErrorInfo = SWPrintf("while loading %ls", ImageTitle.wc_str());
XStringW ErrorInfo = SWPrintf(" while loading %ls", ImageTitle.wc_str());
if (CheckError(Status, ErrorInfo.wc_str())) {
if (ErrorInStep != NULL)
*ErrorInStep = 1;
PauseForKey(L"press any key");
PauseForKey(NullXString8);
goto bailout;
}else{
DBG("\n");
DBG("ChildImaheHandle=%llx\n", uintptr_t(ChildImageHandle));
}
if (!EFI_ERROR(ReturnStatus)) { //why unload driver?!
@ -190,7 +193,7 @@ static EFI_STATUS LoadEFIImageList(IN EFI_DEVICE_PATH **DevicePaths,
#ifdef JIEF_DEBUG
EFI_LOADED_IMAGE_PROTOCOL* loadedBootImage = NULL;
if (!EFI_ERROR(Status = gBS->HandleProtocol(ChildImageHandle, &gEfiLoadedImageProtocolGuid, (void**)(&loadedBootImage)))) {
DBG("%S : Image base = 0x%llx", ImageTitle.wc_str(), (uintptr_t)loadedBootImage->ImageBase); // Jief : Do not change this, it's used by grep to feed the debugger
DBG("%ls : Image base = 0x%llx", ImageTitle.wc_str(), (uintptr_t)loadedBootImage->ImageBase); // Jief : Do not change this, it's used by grep to feed the debugger
}else{
DBG("Can't get loaded image protocol");
}
@ -201,7 +204,6 @@ static EFI_STATUS LoadEFIImageList(IN EFI_DEVICE_PATH **DevicePaths,
// unload the image, we don't care if it works or not...
Status = gBS->UnloadImage(ChildImageHandle);
bailout:
DBG("\n");
return ReturnStatus;
}
@ -807,17 +809,18 @@ void LOADER_ENTRY::StartLoader()
if ( OSTYPE_IS_OSX(LoaderType) || OSTYPE_IS_OSX_RECOVERY(LoaderType) || OSTYPE_IS_OSX_INSTALLER(LoaderType) ) {
{
EFI_HANDLE Interface = NULL;
Status = gBS->LocateProtocol(&gAptioMemoryFixProtocolGuid, NULL, &Interface );
if ( !EFI_ERROR(Status) ) {
#ifdef DEBUG
panic("Remove AptioMemoryFix.efi and OcQuirks.efi from your driver folder\n");
#else
DBG("Remove AptioMemoryFix.efi and OcQuirks.efi from your driver folder\n");
#endif
}
}
// These 2 drivers are now filtered and won't load. This check is currentmy useless.
// {
// EFI_HANDLE Interface = NULL;
// Status = gBS->LocateProtocol(&gAptioMemoryFixProtocolGuid, NULL, &Interface );
// if ( !EFI_ERROR(Status) ) {
//#ifdef DEBUG
// panic("Remove AptioMemoryFix.efi and OcQuirks.efi from your driver folder\n");
//#else
// DBG("Remove AptioMemoryFix.efi and OcQuirks.efi from your driver folder\n");
//#endif
// }
// }
// if OC is NOT initialized with OcMain, we need the following
@ -1631,9 +1634,35 @@ void LOADER_ENTRY::StartLoader()
// }
}
// point to OcStartImage from OC
Status = gBS->StartImage (ImageHandle, 0, NULL);
if ( EFI_ERROR(Status) ) return; // TODO message ?
#ifdef JIEF_DEBUG
//Status = EFI_NOT_FOUND;
Status = gBS->StartImage (ImageHandle, 0, NULL); // point to OcStartImage from OC
#else
Status = gBS->StartImage (ImageHandle, 0, NULL); // point to OcStartImage from OC
#endif
if ( EFI_ERROR(Status) ) {
// Ideally, we would return to the menu, displaying an error message
// Truth is that we get a black screen before seeing the menu again.
// If I remember well, we get a freeze in BdsLibConnectAllEfi()
// I'm guessing there is a lot of patching done for booting.
// To be able to go back to the menu and boot another thing,
// we must undo all the patching...
// Here is a quick, not as bad as a black screen solution : a text message and a reboot !
DBG("StartImage failed : %s\n", efiStrError(Status));
SaveBooterLog(&self.getCloverDir(), PREBOOT_LOG);
egSetGraphicsModeEnabled(false);
printf("StartImage failed : %s\n", efiStrError(Status));
PauseForKey("Reboot needed."_XS8);
// Attempt warm reboot
gRT->ResetSystem(EfiResetWarm, EFI_SUCCESS, 0, NULL);
// Warm reboot may not be supported attempt cold reboot
gRT->ResetSystem(EfiResetCold, EFI_SUCCESS, 0, NULL);
// Terminate the screen and just exit
return;
}
}else{
// DBG("StartEFIImage\n");
// StartEFIImage(DevicePath, LoadOptions,
@ -2709,6 +2738,7 @@ RefitMain (IN EFI_HANDLE ImageHandle,
// }
if ( !EFI_ERROR(Status) ) {
DBG("CloverX64 : Image base = 0x%llX\n", (uintptr_t)LoadedImage->ImageBase); // do not change, it's used by grep to feed the debugger
DBG("Clover ImageHandle = %llx\n", (uintptr_t)ImageHandle);
#ifdef DEBUG_ERALY_CRASH
SystemTable->ConOut->OutputString(SystemTable->ConOut, L"Step3");
PauseForKey(L"press any key\n");
@ -2961,7 +2991,7 @@ RefitMain (IN EFI_HANDLE ImageHandle,
Status = ReinitRefitLib();
if (EFI_ERROR(Status)){
DebugLog(2, " %s", efiStrError(Status));
PauseForKey(L"Error reinit refit\n");
PauseForKey("Error reinit refit."_XS8);
#ifdef ENABLE_SECURE_BOOT
UninstallSecureBoot();
#endif // ENABLE_SECURE_BOOT

View File

@ -800,7 +800,7 @@ void ApplyInputs(void)
// to serve as default
Model = GetModelFromString(gSettings.Smbios.ProductName);
if (Model != MaxMachineType) {
SetDMISettingsForModel(Model, &gSettings);
SetDMISettingsForModel(Model, &gSettings, &GlobalConfig);
}
}

View File

@ -204,7 +204,7 @@ void FinishExternalScreen(void)
if (haveError) {
// leave error messages on screen in case of error,
// wait for a key press, and then switch
PauseForKey(L"was error, press any key\n");
PauseForKey("was error."_XS8);
SwitchToText(FALSE);
}