Fix bug in ConfigPlist when an unknown key happens is ACPI/DSDT/Fixes.

Light refactor of PauseForKey.
gSettings.CPU.SavingMode is ConfigManager.
PlatformPosix : do not redefine abort(), use abort() instead of
CpuDeadLoop().
Format debug.log file name.
Use malloc/free instead of AllocateZeroPool/FreePool for validator
compatibility.
Use strlen instead of AsciiStrLen for validator compatibility.
getRBr() and getRPlt() : make them independent from global var.
Fix wrong line number in XmlLiteParser.
This commit is contained in:
jief666 2021-05-04 13:03:40 +03:00
parent fb86ee152a
commit 391ed70310
26 changed files with 131 additions and 15443 deletions

@ -1 +1 @@
Subproject commit 2378f2b5ee97ed31333d49881620af447e2b3095 Subproject commit 9a9e1eefe75a2bbe6bb3e9083acab110173f225c

View File

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

View File

@ -23,7 +23,7 @@
</BuildActionEntries> </BuildActionEntries>
</BuildAction> </BuildAction>
<TestAction <TestAction
buildConfiguration = "Release" buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"> shouldUseLaunchSchemeArgsEnv = "YES">
@ -40,7 +40,7 @@
</Testables> </Testables>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Release" buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
disableMainThreadChecker = "YES" disableMainThreadChecker = "YES"
@ -71,10 +71,14 @@
argument = "config-test2.plist" argument = "config-test2.plist"
isEnabled = "NO"> isEnabled = "NO">
</CommandLineArgument> </CommandLineArgument>
<CommandLineArgument
argument = "&quot;/JiefLand/5.Devel/Clover/user config/Slice/2021-04-29/config.plist&quot;"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments> </CommandLineArguments>
</LaunchAction> </LaunchAction>
<ProfileAction <ProfileAction
buildConfiguration = "Release" buildConfiguration = "Debug"
shouldUseLaunchSchemeArgsEnv = "YES" shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = "" savedToolIdentifier = ""
useCustomWorkingDirectory = "NO" useCustomWorkingDirectory = "NO"
@ -91,10 +95,10 @@
</BuildableProductRunnable> </BuildableProductRunnable>
</ProfileAction> </ProfileAction>
<AnalyzeAction <AnalyzeAction
buildConfiguration = "Release"> buildConfiguration = "Debug">
</AnalyzeAction> </AnalyzeAction>
<ArchiveAction <ArchiveAction
buildConfiguration = "Release" buildConfiguration = "Debug"
revealArchiveInOrganizer = "YES"> revealArchiveInOrganizer = "YES">
</ArchiveAction> </ArchiveAction>
</Scheme> </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; const char* path = NULL;
#ifdef JIEF_DEBUG #ifdef JIEF_DEBUG
path = "config-nowarning-noerror.plist"; 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/Matgen84/EFI_github/CLOVER/config.plist";
//path = "/JiefLand/5.Devel/Clover/user config/BS.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/maclinuxG4/config.plist";
//path = "/JiefLand/5.Devel/Clover/user config/MICKHAEL/EFI_Github/CLOVER/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 = "/JiefLand/5.Devel/Clover/user config/Slice/2021-04-29/config.plist";
path = "config-test2.plist";
#endif #endif
if ( !path ) { if ( !path ) {

View File

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

View File

@ -494,9 +494,9 @@ SetupDataForOSX(BOOLEAN Hibernate)
gSettings.CPU.CpuFreqMHz = (UINT32)DivU64x32(CpuSpeed, Mega); gSettings.CPU.CpuFreqMHz = (UINT32)DivU64x32(CpuSpeed, Mega);
char RBr[8]; char RBr[8];
getRBr(GlobalConfig.CurrentModel, RBr); getRBr(GlobalConfig.CurrentModel, gCPUStructure.Model, gSettings.Smbios.Mobile, RBr);
char RPlt[8]; char RPlt[8];
getRPlt(GlobalConfig.CurrentModel, gSettings.Smbios.Mobile, RPlt); getRPlt(GlobalConfig.CurrentModel, gCPUStructure.Model, gSettings.Smbios.Mobile, RPlt);
// Locate DataHub Protocol // Locate DataHub Protocol
Status = gBS->LocateProtocol(&gEfiDataHubProtocolGuid, NULL, (void**)&gDataHub); 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); LegacyBiosFarCall86(0, 0x7c00, &Regs);
//Status = gLegacy8259->SetMask(gLegacy8259, &OldMask, NULL, NULL, NULL); //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); Status = SaveBooterLog(&self.getCloverDir(), LEGBOOT_LOG);
if (EFI_ERROR(Status)) { if (EFI_ERROR(Status)) {
DBG("can't save legacy-boot.log\n"); 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])) else if (IS_HEX(buf[0]))
i = (buf[0] | 0x20) - 'a' + 10; i = (buf[0] | 0x20) - 'a' + 10;
if (AsciiStrLen(buf) == 1) { if (strlen(buf) == 1) {
return i; return i;
} }
i <<= 4; 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 // 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); base64_init_decodestate(&state_in);
DecodedSizeInternal = base64_decode_block(EncodedData, EncodedSize, (char*) DecodedData, &state_in); DecodedSizeInternal = base64_decode_block(EncodedData, EncodedSize, (char*) DecodedData, &state_in);
if ( DecodedSizeInternal <= 0 ) { if ( DecodedSizeInternal <= 0 ) {
FreePool(DecodedData); free(DecodedData);
DecodedData = NULL; 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); memset(RBr, 0, 8);
if (ApplePlatformData[Model].smcBranch[0] != 'N') { if (ApplePlatformData[Model].smcBranch[0] != 'N') {
// snprintf(RBr, 8, "%s", ApplePlatformData[Model].smcBranch.c_str()); // snprintf(RBr, 8, "%s", ApplePlatformData[Model].smcBranch.c_str());
memcpy(RBr, ApplePlatformData[Model].smcBranch.c_str(), MIN(8, ApplePlatformData[Model].smcBranch.sizeInBytesIncludingTerminator())); memcpy(RBr, ApplePlatformData[Model].smcBranch.c_str(), MIN(8, ApplePlatformData[Model].smcBranch.sizeInBytesIncludingTerminator()));
} else { } else {
switch (gCPUStructure.Model) { switch (CPUModel) {
case CPU_MODEL_PENTIUM_M: case CPU_MODEL_PENTIUM_M:
case CPU_MODEL_CELERON: case CPU_MODEL_CELERON:
snprintf(RBr, 8, "%s", "m70"); snprintf(RBr, 8, "%s", "m70");
@ -960,7 +960,7 @@ void getRBr(MACHINE_TYPES Model, char RBr[8])
break; break;
case CPU_MODEL_PENRYN: case CPU_MODEL_PENRYN:
if (gSettings.Smbios.Mobile) { if (isMobile) {
snprintf(RBr, 8, "%s", "m82"); snprintf(RBr, 8, "%s", "m82");
} else { } else {
snprintf(RBr, 8, "%s", "k36"); snprintf(RBr, 8, "%s", "k36");
@ -968,7 +968,7 @@ void getRBr(MACHINE_TYPES Model, char RBr[8])
break; break;
case CPU_MODEL_SANDY_BRIDGE: case CPU_MODEL_SANDY_BRIDGE:
if (gSettings.Smbios.Mobile) { if (isMobile) {
snprintf(RBr, 8, "%s", "k90i"); snprintf(RBr, 8, "%s", "k90i");
} else { } else {
snprintf(RBr, 8, "%s", "k60"); 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); memset(RPlt, 0, 8);
if (ApplePlatformData[Model].smcPlatform[0] != 'N') { if (ApplePlatformData[Model].smcPlatform[0] != 'N') {
snprintf(RPlt, 8, "%s", ApplePlatformData[Model].smcPlatform.c_str()); snprintf(RPlt, 8, "%s", ApplePlatformData[Model].smcPlatform.c_str());
// memcpy(RPlt, ApplePlatformData[Model].smcPlatform.c_str(), 8); // memcpy(RPlt, ApplePlatformData[Model].smcPlatform.c_str(), 8);
} else { } else {
switch (gCPUStructure.Model) { switch (CPUModel) {
case CPU_MODEL_PENTIUM_M: case CPU_MODEL_PENTIUM_M:
case CPU_MODEL_CELERON: case CPU_MODEL_CELERON:
snprintf(RPlt, 8, "m70"); snprintf(RPlt, 8, "m70");
@ -1038,7 +1038,7 @@ void getRPlt(MACHINE_TYPES Model, bool Mobile, char RPlt[8])
break; break;
case CPU_MODEL_PENRYN: case CPU_MODEL_PENRYN:
if (Mobile) { if (isMobile) {
snprintf(RPlt, 8, "m82"); snprintf(RPlt, 8, "m82");
} else { } else {
snprintf(RPlt, 8, "k36"); snprintf(RPlt, 8, "k36");
@ -1046,7 +1046,7 @@ void getRPlt(MACHINE_TYPES Model, bool Mobile, char RPlt[8])
break; break;
case CPU_MODEL_SANDY_BRIDGE: case CPU_MODEL_SANDY_BRIDGE:
if (Mobile) { if (isMobile) {
snprintf(RPlt, 8, "k90i"); snprintf(RPlt, 8, "k90i");
} else { } else {
snprintf(RPlt, 8, "k60"); snprintf(RPlt, 8, "k60");
@ -1165,7 +1165,7 @@ XString8 GetReleaseDate(MACHINE_TYPES Model)
XString8 returnValue; XString8 returnValue;
const char* i = ApplePlatformData[Model].firmwareVersion.c_str(); const char* i = ApplePlatformData[Model].firmwareVersion.c_str();
i += AsciiStrLen(i); i += strlen(i);
while ( *i != '.' ) i--; while ( *i != '.' ) i--;
if ( isReleaseDateWithYear20(Model) ) { if ( isReleaseDateWithYear20(Model) ) {
returnValue.S8Printf("%c%c/%c%c/20%c%c", i[3], i[4], i[5], i[6], i[1], i[2]); 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; 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; liveConfig->BiosVersionUsed = ApplePlatformData[Model].firmwareVersion;
GlobalConfig.ReleaseDateUsed = GetReleaseDate(Model); // AppleReleaseDate liveConfig->ReleaseDateUsed = GetReleaseDate(Model); // AppleReleaseDate
GlobalConfig.EfiVersionUsed.takeValueFrom(ApplePlatformData[Model].efiversion); liveConfig->EfiVersionUsed.takeValueFrom(ApplePlatformData[Model].efiversion);
settingsData->Smbios.BiosVendor = AppleBiosVendor; settingsData->Smbios.BiosVendor = AppleBiosVendor;
settingsData->Smbios.ManufactureName = settingsData->Smbios.BiosVendor; settingsData->Smbios.ManufactureName = settingsData->Smbios.BiosVendor;
@ -1218,139 +1218,6 @@ MACHINE_TYPES GetModelFromString(const XString8& ProductName)
// return ending enum as "not found" // return ending enum as "not found"
return MaxMachineType; 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) 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* v1p = version1.c_str();
const CHAR8* v2p = version2.c_str(); const CHAR8* v2p = version2.c_str();
v1p += AsciiStrLen(v1p); v1p += strlen(v1p);
while (*v1p != '.') { while (*v1p != '.') {
v1p--; v1p--;
} }
v2p += AsciiStrLen(v2p); v2p += strlen(v2p);
while (*v2p != '.') { while (*v2p != '.') {
v2p--; v2p--;
} }
@ -1694,7 +1561,7 @@ int compareReleaseDate(const XString8& date1, const XString8& date2)
const CHAR8* i = date1.c_str(); const CHAR8* i = date1.c_str();
const CHAR8* j = date2.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])) ) 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; 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])) ) 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; 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])) ) 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; 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])) ) 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" //#include "../Platform/Settings.h"
class SETTINGS_DATA; class SETTINGS_DATA;
class REFIT_CONFIG;
typedef enum { typedef enum {
@ -192,10 +193,9 @@ public:
extern PLATFORMDATA ApplePlatformData[]; 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); MACHINE_TYPES GetModelFromString (const XString8& ProductName);
//void GetDefaultSettings(void);
void GetDefaultCpuSettings(SETTINGS_DATA& gSettings);
bool isReleaseDateWithYear20(MACHINE_TYPES Model); bool isReleaseDateWithYear20(MACHINE_TYPES Model);
XString8 GetReleaseDate (MACHINE_TYPES Model); XString8 GetReleaseDate (MACHINE_TYPES Model);
uint8_t GetChassisTypeFromModel(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); uint32_t GetFwFeatures(MACHINE_TYPES Model);
bool GetMobile(MACHINE_TYPES Model); bool GetMobile(MACHINE_TYPES Model);
UINT64 GetPlatformFeature(MACHINE_TYPES Model); 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]);
void getRPlt(MACHINE_TYPES Model, bool Mobile, char RPlt[8]); void getRPlt(MACHINE_TYPES Model, UINT32 CPUModel, bool isMobile, char RPlt[8]);
int compareBiosVersion(const XString8& version1, const XString8& version2); int compareBiosVersion(const XString8& version1, const XString8& version2);
bool is2ndBiosVersionGreaterThan1st(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; return GotKeyStrokes;
} }
void PauseForKey(CONST CHAR16* msg) void PauseForKey(const XString8& msg)
{ {
UINTN index; UINTN index;
if (msg) { if ( msg.notEmpty() ) {
printf("\n %ls", msg); 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 if (ReadAllKeyStrokes()) { // remove buffered key strokes
gBS->Stall(5000000); // 5 seconds delay gBS->Stall(5000000); // 5 seconds delay

View File

@ -148,12 +148,12 @@ static UINTN GetDebugLogFile()
if ( debugLogFileName.isEmpty() ) 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); 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. if ( !EFI_ERROR(Status) ) LogFile->Close(LogFile); // DO NOT modify Status here.
INTN i=1; INTN i=1;
while ( Status != EFI_NOT_FOUND && (i < MAX_INTN) ) { 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); 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. 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 <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) //#if defined(CLOVER_BUILD) || !defined(_MSC_VER)
void abort(void) //void abort(void)
{ //{
printf("A fatal error happened. System halted\n"); // printf("A fatal error happened. System halted\n");
while (1) { // tis will avoid warning : Function declared 'noreturn' should not return // while (1) { // tis will avoid warning : Function declared 'noreturn' should not return
CpuDeadLoop(); // abort();
} // }
} //}
#endif //#endif
bool stop_at_panic = true; bool stop_at_panic = true;
bool i_have_panicked = false; bool i_have_panicked = false;
@ -33,9 +34,7 @@ static void panic_(const char* format, VA_LIST va)
vprintf(format, va); vprintf(format, va);
} }
printf(FATAL_ERROR_MSG); printf(FATAL_ERROR_MSG);
while (1) { // this will avoid warning : Function declared 'noreturn' should not return abort();
CpuDeadLoop();
}
} }
void panic(const char* format, ...) void panic(const char* format, ...)

View File

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

View File

@ -97,7 +97,6 @@ public:
super::reset(); super::reset();
for ( size_t idx = 0 ; idx < sizeof(ACPI_DSDT_Fixe_Array)/sizeof(ACPI_DSDT_Fixe_Array[0]) ; idx++ ) { 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();
ACPI_DSDT_Fixe_Array[idx].reset();
} }
}; };
// virtual bool parseFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xmlPath, bool generateErrors) override; // 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; } XStringArray_(const XStringArray_<OtherXStringClass_, OtherXStringArrayClass>& other) : array() { *this = other; }
template<typename OtherXStringClass_, class OtherXStringArrayClass> 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 ) { for ( size_t idx = 0 ; idx < other.size() ; ++idx ) {
array.AddCopy(other[idx]); array.AddCopy(other[idx]);
} }
return *(XStringArrayClass*)this; return *this;
// return *((XStringArrayClass*)this);
} }
// template<typename OtherXStringClass_, class OtherXStringArrayClass> // template<typename OtherXStringClass_, class OtherXStringArrayClass>

View File

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

View File

@ -281,7 +281,19 @@ bool XmlKey::parseFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xmlP
XmlParserPosition pos = xmlLiteParser->getPosition(); XmlParserPosition pos = xmlLiteParser->getPosition();
RETURN_IF_FALSE( xmlLiteParser->getSimpleTag(&tag, &tagLength, keyValuePtr, keyValueLengthPtr, NULL, generateErrors) ); 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())); xmlLiteParser->addXmlError(generateErrors, S8Printf("Expecting a <key> tag in '%s' at line %d.", xmlPath.c_str(), pos.getLine()));
return false; return false;
} }
@ -474,7 +486,7 @@ if ( xmlPath.contains("CsrActiveConfig") ) {
if (decodedSize > sizeof(result) ) decodedSize = sizeof(result); if (decodedSize > sizeof(result) ) decodedSize = sizeof(result);
result = 0; result = 0;
memcpy(&result, decoded, decodedSize); // decodedSize can be < 8 bytes, but that works because of litlle endian. memcpy(&result, decoded, decodedSize); // decodedSize can be < 8 bytes, but that works because of litlle endian.
FreePool(decoded); free(decoded);
}else{ }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())); 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; result = 0;

View File

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

View File

@ -179,7 +179,7 @@ static EFI_STATUS LoadEFIImageList(IN EFI_DEVICE_PATH **DevicePaths,
if (CheckError(Status, ErrorInfo.wc_str())) { if (CheckError(Status, ErrorInfo.wc_str())) {
if (ErrorInStep != NULL) if (ErrorInStep != NULL)
*ErrorInStep = 1; *ErrorInStep = 1;
PauseForKey(L"press any key"); PauseForKey(NullXString8);
goto bailout; goto bailout;
} }
@ -2961,7 +2961,7 @@ RefitMain (IN EFI_HANDLE ImageHandle,
Status = ReinitRefitLib(); Status = ReinitRefitLib();
if (EFI_ERROR(Status)){ if (EFI_ERROR(Status)){
DebugLog(2, " %s", efiStrError(Status)); DebugLog(2, " %s", efiStrError(Status));
PauseForKey(L"Error reinit refit\n"); PauseForKey("Error reinit refit."_XS8);
#ifdef ENABLE_SECURE_BOOT #ifdef ENABLE_SECURE_BOOT
UninstallSecureBoot(); UninstallSecureBoot();
#endif // ENABLE_SECURE_BOOT #endif // ENABLE_SECURE_BOOT

View File

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

View File

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