Commit Graph

654 Commits

Author SHA1 Message Date
jief666
109746ca82 Re-implement ordering partition with a no-loop guard.
selfOem.unInitialize()
2020-10-23 09:04:01 +03:00
jief666
6a96d48330 Better name for Preboot.
Ordering of Preboot Main Recovery
2020-10-22 16:55:30 +03:00
jief666
18038055ab Put back "Allow 11 11.x in IsOSValid()". 2020-10-21 17:20:59 +03:00
jief666
d4afee825b Keep path independant symbol. 2020-10-20 22:50:30 +03:00
jief666
e80852a82f Allow 11 11.x in IsOSValid().
No timing in JIEF_DEBUG.
2020-10-20 10:55:46 +03:00
jief666
2d124e41e3 Improve GetDebugLogFile() and SaveMessageToDebugLogFile(). 2020-10-19 15:04:03 +03:00
jief666
7ac3952a92 Add \ before Clover path if it's missing, instead of Panic. 2020-10-18 16:54:55 +03:00
SergeySlice
259ebbbf08 make path_independant used
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-18 06:04:08 +03:00
jief666
70988228c4 Refactor selfOem. Created getConfigDir... methods.
Enclose access to getOemDir... by if (selfOem.oemDirExists()).
Enclose access to getKextsDir... by if (selfOem.isKextsDirFound()).
closeDebugLog() in UninitRefitLib().
Prevent DBG loop.
2020-10-17 16:01:33 +03:00
SergeySlice
11e2e38420 several optimisations
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-15 10:05:37 +03:00
SergeySlice
92bf401d7c fix full path for kexts
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-14 21:54:18 +03:00
SergeySlice
22f694d2da search info and exec pathes
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-14 19:08:32 +03:00
jief666
1bb8b0dd34 "DriveImageData" typo. 2020-10-14 16:40:07 +03:00
SergeySlice
c7c079e0fb avoid memory leak with ACPI patching
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-14 10:32:36 +03:00
SergeySlice
086e5682ae change KernelPM correspondence to old Clover
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-13 14:28:47 +03:00
jief666
a2ffdf8642 Add Find/Replace with mask tests.
Improve unit test framework.
2020-10-12 17:49:43 +03:00
jief666
0ab6d8a994 First unit test for memory Find-Replace. 2020-10-12 14:51:08 +03:00
jief666
4d5ccc026f Quick hack to load OpneRuntime.efi.
UINTN to uintptr_t.
Conditionnal code in OpenCorePkg.
2020-10-11 09:06:50 +03:00
SergeySlice
743b036202 change format printing
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-10 18:15:54 +03:00
SergeySlice
914349ec14 take into account enable-disable patches in menu
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-10 16:31:14 +03:00
SergeySlice
641b75e9eb exclude double settings
implement Skip for OC compatibility

Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-08 23:03:41 +03:00
jief666
881796039f Build id in log and in About menu. 2020-10-07 20:25:31 +03:00
jief666
446cec5ede Add a build_id in Version.h
Rename, copy to 'Build' and zip CloverX64.efi.
2020-10-07 19:57:34 +03:00
jief666
941ff0b3a3 Fix TgtBridge. 2020-10-07 12:15:21 +03:00
SergeySlice
8e0f4ad249 correspondence of kext patches clover and oc
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-06 23:02:14 +03:00
jief666
72f4ddd9a6 Fix DSDT oem path.
Test : using OC OSInfo protocol.
2020-10-06 17:24:34 +03:00
jief666
2bc776d63e ReinitRefitLib after Starting an efi image. 2020-10-05 23:45:14 +03:00
jief666
53645a4240 Use Clover implementation of gEfiOSInfoProtocolGuid. 2020-10-05 13:32:23 +03:00
jief666
d12acc1ec5 Remove panic at start if there is no kexts dir. 2020-10-05 12:14:35 +03:00
jief666
dcd17ca8cd Display full path of acpi files in debug log. 2020-10-05 10:25:53 +03:00
jief666
f312117030
Merge pull request #245 from CloverHackyColor/opencore_integration
Opencore integration
2020-10-04 00:06:31 +03:00
jief666
458d071ec9 Fix kext path when in an OEM folder. 2020-10-03 23:56:50 +03:00
jief666
b8a188382c Make Clover path independent. 2020-10-03 20:02:31 +03:00
SergeySlice
2286f19503 join kext and kernel patches
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-03 17:16:11 +03:00
SergeySlice
53b163c57c provide config-sample with full quirk list
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-03 15:17:46 +03:00
jief666
08add49958 remove CustomSmbiosGuid quirks. Force it to false. 2020-09-30 22:03:13 +03:00
jief666
804dd26599 Fix kext path in LoadKexts()
Remove StartLoader11(). StartLoader() starts all macOs with OC.
Merge Quirks sections.
2020-09-30 21:56:55 +03:00
jief666
bd8d3140b2 ProvideConsoleGop setting in GUI. 2020-09-29 15:15:11 +03:00
jief666
48cdadb0b2 Fix bug where StartLoader cannot find kexts.
First implementation of Self object.
2020-09-28 18:57:50 +03:00
jief666
6ed566e98c Const missing. 2020-09-28 12:05:37 +03:00
jief666
588bd4f342 mOpenCoreConfiguration.Nvram.WriteFlash = true; 2020-09-27 14:52:38 +03:00
jief666
e48ae97c60 Avoid GetDefaultSettings scratching SmUUID read from smbios. 2020-09-24 15:06:10 +03:00
jief666
29bdb1bdcd SmUUID wasn't injected if smbios info were in smbios.plist. 2020-09-23 16:47:47 +03:00
jief666
b592a62d6f Restore Device properties injection.
Uncomment SetCPUProperties() SetupDataForOSX()
2020-09-23 08:20:06 +03:00
jief666
d440b5a7f1 Comment out gAppleDevicePropertyProtocolGuid
Rename gAppleDevicePropertyProtocolGuid to
gEfiDevicePathPropertyDatabaseProtocolGuid
Rename gDevicePropertiesGuid to
gEfiDevicePathPropertyDatabaseProtocolGuid
Debug message for USE_OC_SECTION_xxx
2020-09-21 08:53:36 +03:00
jief666
648f5c3d3b Enforce plist correctness. 2020-09-19 23:32:46 +03:00
jief666
f745d8b0b3 Implement scratching the debug.log at start. 2020-09-18 13:50:49 +03:00
jief666
28a0dc1e8b Uncomment call to SetDevices(this) and SetVariablesForOSX(this)
Temporary panic is OcQuirks not found.
2020-09-18 13:04:07 +03:00
jief666
3877d988f3 OcKernelCache Auto if empty string. 2020-09-18 12:12:15 +03:00
jief666
73f29eb538 Redirect OC log to Clover.
Keep log file handle opened.
Put back -DMDEPKG_NDEBUG.
2020-09-18 11:55:44 +03:00
jief666
1476a8662b Remove OcBooter, just call it Quirks. 2020-09-17 02:01:36 +03:00
jief666
887136a381 Use OcMain, continuation. 2020-09-16 20:50:16 +03:00
jief666
346661efd2 Use OcMain to init OC.
Remove -DMDEPKG_NDEBUG to get OC debug messages.
Refactor InjectKextList as XObjArray<SIDELOAD_KEXT>.
2020-09-16 02:01:53 +03:00
jief666
acc2fea810 Use kext from correct folder for version < 11.0
Use OpenCore OS_INFO_PROTOCOL.
2020-09-14 16:01:30 +03:00
jief666
232f94f00c Handle booter quircks. 2020-09-09 20:06:34 +03:00
jief666
389ec9d17c Debug messages. 2020-09-09 14:19:32 +03:00
jief666
dfac7119f6 Hardcode order of some kexts.
Improve test in USBFix to avoid crash.
2020-09-09 00:25:26 +03:00
jief666
9681c6292d Menu disable kext for version 11. 2020-09-08 14:00:17 +03:00
jief666
7e31ca1319 Implement OC FuzzyMatch, KernelCache and Quirks. 2020-09-07 20:33:38 +03:00
jief666
257667f2f1 Get version for installer.
OcLog initialisation.
2020-09-07 17:44:24 +03:00
jief666
8ccee7054f 1st experiment to use OpenCore to boot Big Sur installer. 2020-09-07 01:19:48 +03:00
jief666
f4e10b1a2a Base64DecodeClover cannot return not-NULL and DecodedSize=0 anymore. 2020-09-04 13:52:05 +03:00
jief666
87bc06495c Panic message goes in log over serial port.
Qemu launch script.
2020-09-04 00:35:36 +03:00
jief666
efb3c44b0f Tag panic instead of silently fail when wrong get[type] is called.
Handle Prop </false> in InjectKexts.
Replace FreePool by delete.
2020-09-04 00:34:44 +03:00
jief666
8276e8b4f9 Wrong test of Prop instead of arrayProp. 2020-09-03 23:05:11 +03:00
SergeySlice
1fe7cc1cfc Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2020-09-02 20:32:47 +03:00
SergeySlice
9f74f728b6 exclude extra u
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-09-02 20:32:40 +03:00
jief666
734f292a3d Comment out debug message. 2020-09-02 18:21:32 +03:00
SergeySlice
67d332ce14 somehow resolve conflict between c++ and swift
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-09-01 20:58:59 +03:00
jief666
1963d37ef1 Fix SortedOrderArray test. 2020-08-31 12:43:18 +03:00
jief666
2447e1fea7 Refactor BlackList as XStringWArray and rename to DisabledDriverArray. 2020-08-31 12:00:52 +03:00
jief666
da29292e22 refactor ThemesList as XStringWArray and rename to ThemeNameArray. 2020-08-31 10:22:11 +03:00
jief666
e7d14cc70e Refactor HDA_OUTPUTS as a class and AudioList as a XObjArray. 2020-08-31 10:07:36 +03:00
jief666
823e0efc9f Refactor RT_VARIABLES as a class and RtVariables as a XObjArray.
Renamed RtVariables to BlockRtVariableArray.
2020-08-31 09:22:21 +03:00
jief666
babba4de6e make TagData::setDataValue accept NULL value for data. 2020-08-30 22:53:40 +03:00
SergeySlice
352c75c711 Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2020-08-30 20:25:30 +03:00
SergeySlice
6dd178030b more informative print
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-08-30 20:25:16 +03:00
Sergey Isakov
493aa8f946 some dangerous misprints
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-08-30 17:21:54 +03:00
Sergey Isakov
b58f4bbbd3 allow empty data in plist
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-08-30 14:12:46 +03:00
Sergey Isakov
3493015cf2 fix DSDT patching
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-08-30 11:02:55 +03:00
jief666
e9f0f8ccd8 DSDT Patches refactor as an array of object.
Entry->VolName renamed Entry->DisplayedVolName because VolName already
exits in the hierarchie.
2020-08-27 21:47:56 +03:00
jief666
a721bb0a29 ROM setting can now be string or data, like it was before. 2020-08-27 16:02:25 +03:00
jief666
5779130ea5 MemLogfVA now use only printf_lite which has better handling of
timestamp at the beginning of lines.
2020-08-26 21:49:49 +03:00
jief666
c7cc003809 Xcode project.
printf_lite. Add test guard.
2020-08-25 19:08:05 +03:00
jief666
9cb4016bc5 Final refactoring of plist : now each tag is a class.
Rename strerror to efiStrError because of conflict when run cpp_tests on
Mac.
Switch base64_decode_block to long to avoid warning and cast.
Correct GetTableType4(). Size was used without being initialized.
2020-08-25 18:35:19 +03:00
jief666
d8c912e420 Fix debug message "patch disabled at config" 2020-08-23 14:54:35 +03:00
jief666
b6d578fe06 int value are 4 bytes like it was before in
gSettings.ArbProperties->Child
2020-08-23 14:47:58 +03:00
jief666
3684ef21a1 wrong return value in TagStruct::getTypeAsXString8() 2020-08-23 14:19:49 +03:00
jief666
85716960f9 Further refactor of plist. 2020-08-22 16:39:24 +03:00
jief666
2607bd4fbb Wrong cast in GetBootFromOption(). 2020-08-19 22:29:26 +03:00
jief666
8b6f19f2c6 Bug in GetDataSetting.
Bug near "GetProperty(DictPointer, "KextsToPatch")"
2020-08-19 16:56:19 +03:00
jief666
95d477c9a3 Refactor tagNext in tagSruct as a XObjArray<TagStruct> 2020-08-19 15:50:26 +03:00
jief666
2ef2b9df0d Allow empty dict 2020-08-19 10:52:07 +03:00
jief666
5b1eea4df0 PutNvramPlistToRtVars buf after plist refactoring 2020-08-18 22:30:14 +03:00
jief666
8dcf25dc6d Hardened plist. 2020-08-18 19:45:44 +03:00
jief666
2961827dce Correct some refactoring bugs. 2020-08-17 22:40:52 +03:00
Sergey Isakov
29d559aec8 copypool should copy zero ending byte
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-08-17 22:00:26 +03:00
jief666
a9bfb87ec2 CmpDev in FIXAirport() could still crash is
AirportBridgeDeviceName.length() != 4.
2020-08-16 16:54:14 +03:00
jief666
d4b3fb9b7a Bug I introduced in StrHToBuf.
Remove PRINTF_EMIT_CR=1.
ReleaseDate wrongly had a \n at the end.
Bug in utf8_stringnn_from_utf16_string.
XString replaceAll(XString,XString) function.
2020-08-16 16:21:12 +03:00
jief666
11817925ae Add test in CmpDev.
Do not call CmpDev if gSettings.AirportBridgeDeviceName is empty()
2020-08-16 11:41:44 +03:00
jief666
351918515f Restore CmpAdr. length() test in CmpDev. 2020-08-16 10:54:52 +03:00
jief666
3a742b5dbc Add some XString length test. 2020-08-16 09:01:08 +03:00
jief666
f6903b7579 Refactor the hidden flag. All menu entries are now created, allowing to
toogle hidden flag on and off after creation.
2020-08-15 23:39:25 +03:00
jief666
bc04c86a93 Refactoring some CHAR8* and CHAR16* to XString. 2020-08-15 16:47:56 +03:00
jief666
220b450d60 remove EfiStrDuplicate not used anymore.
Comment out MainConfigName from SETTINGS_DATA. Not used.
2020-08-13 15:57:05 +03:00
jief666
8947e66382 SETTINGS serialize method. 2020-08-13 15:07:40 +03:00
jief666
052732eba0 Refactor GetStrArraySeparatedByChar, replaced by Split 2020-08-13 11:21:45 +03:00
jief666
59d8cbad7f Refactoring KEXT_PATCH.
Change numerous CHAR8* CHAR16* to XString.
2020-08-12 18:15:47 +03:00
jief666
ee80193158 Fix CopyKernelAndKextPatches. 2020-08-11 17:05:36 +03:00
jief666
29718aaa0b Fix -W effc++ warnings.
SETTINGS_DATA is a class.
XIcon is separate class.
KernelAndKextPatches in LOADER_ENTRY is not a pointer anymore.
2020-08-11 15:43:53 +03:00
jief666
7765a988fe XStringArray self assignament test.
Rename SPrintf S8Printf.
Rename NullXString NullXString8.
Rename XStringArray XString8Array.
2020-08-11 09:00:19 +03:00
jief666
4555bb9e9f Remove the last PoolPrints. 2020-08-09 18:55:30 +03:00
jief666
feba2f1399 Rework APFS Preboot and Recovery volumes 2020-08-07 11:23:46 +03:00
SergeySlice
76c0e3fe55 text formatting
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-08-06 21:53:01 +03:00
SergeySlice
0724be965a kext patching works in bigsur
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-27 16:09:30 +03:00
SergeySlice
b291971c46 names table shifted
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-27 11:45:17 +03:00
Sergey Isakov
15b65bd95b different addressing in the case of kc
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-07-26 16:44:38 +03:00
SergeySlice
32eba04396 more debugging
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-25 09:36:00 +03:00
SergeySlice
fab169defe account kext address can be decimal
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-24 21:59:51 +03:00
SergeySlice
c87aabd9fe kernel addresses are shifted
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-23 23:42:29 +03:00
SergeySlice
0143e228ee right way to patch kexts
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-23 22:14:20 +03:00
SergeySlice
f7c13f0b84 repair kext patching
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-22 23:23:38 +03:00
SergeySlice
69e0e0327c debug kext patching
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-21 12:17:02 +03:00
SergeySlice
dddceaae36 exclude double headers
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-21 09:33:43 +03:00
SergeySlice
33816ae90a separate prelinked and symtab
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-20 19:05:18 +03:00
SergeySlice
7188cde799 repaired symbolic patching for bigsur
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-20 11:52:36 +03:00
Sergey Isakov
b544e86e4b extend memory range to find boot structure
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-07-19 16:41:52 +03:00
Sergey Isakov
cf5b919627 force init patcher
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-07-19 11:50:00 +03:00
Sergey Isakov
762eac695c fix find kernel container
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-07-18 21:06:10 +03:00
Sergey Isakov
5e911e4b1d added bigsur to Clovy theme
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-07-18 15:27:17 +03:00
SergeySlice
bfe7db9208 shift symbolic table
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-17 23:45:01 +03:00
SergeySlice
df946b75f4 fix mistakes
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-17 14:40:16 +03:00
SergeySlice
16ef973a71 more definitions for macho
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-17 14:36:51 +03:00
SergeySlice
d320eb9693 made kext injection in bigsur with the method by kuckkuck
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-17 06:28:17 +03:00
SergeySlice
cd23181296 move OcQuirks.plist into config.plist and into GUI menu
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-15 20:29:27 +03:00
SergeySlice
38106e53a7 add ability to dump smc
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-14 10:51:12 +03:00
SergeySlice
6dbdf12257 extend OS version numeration
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-13 19:30:43 +03:00
SergeySlice
7e728f542e take version string 11.0 if present
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-13 10:12:18 +03:00
SergeySlice
bb59d21a01 take into account that BigSur can be 10.16 or 11.0
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-13 09:59:31 +03:00
SergeySlice
9efd195bbb one more quirk for dsdt by Exception
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-12 22:10:21 +03:00
Sergey Isakov
620401dca6 preliminary include OcQuirks into the project with huge amount of unnecessary dependencies
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-07-09 22:06:48 +03:00
SergeySlice
b0444eac74 Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2020-07-07 09:22:43 +03:00
SergeySlice
56ad0e511a update MachoLib
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-07 09:19:59 +03:00
Sergey Isakov
b9f87e1443 reduce search range, by tluck
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
2020-07-06 07:04:01 +03:00
Steve
34759a5bd5 Update FixRenameByBridge2() to let it work in SSDTs 2020-06-30 14:28:37 -04:00
Steve
3281303260 Add missing TgtBridge check in AcpiPatcher::PatchAllTables(), fix unexpected rename in OEM SSDTs when TgtBridge is set 2020-06-30 08:56:16 -04:00
SergeySlice
90588855bd exclude unused variable, it was used for debugging
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-28 20:53:37 +03:00
SergeySlice
982332e440 more robust search symbols
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-27 05:57:27 +03:00
SergeySlice
428c6bb35a update apple's headers
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-24 13:31:00 +03:00
SergeySlice
1856b519e5 position in installer bigsur
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-24 07:20:45 +03:00