mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-27 12:15:19 +01:00
merge conflicts
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
commit
626637762c
File diff suppressed because it is too large
Load Diff
@ -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 = ""/JiefLand/5.Devel/Clover/user config/Slice/2021-04-29/config.plist""
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
@ -91,7 +95,7 @@
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
buildConfiguration = "Release">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
|
@ -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 = ""/JiefLand/5.Devel/Clover/user config/Slice/2021-04-29/config.plist""
|
||||
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>
|
@ -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\
|
||||
|
||||
|
||||
*/
|
@ -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 ) {
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
|
||||
BOOLEAN ReadAllKeyStrokes(void);
|
||||
void PauseForKey(CONST CHAR16* msg);
|
||||
void PauseForKey(const XString8& msg);
|
||||
|
||||
//void DebugPause(void);
|
||||
void EndlessIdleLoop(void);
|
||||
|
@ -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);
|
||||
|
@ -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");
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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])) )
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
}
|
||||
|
@ -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, ...)
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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>
|
||||
|
@ -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 ) {
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user