Commit Graph

1065 Commits

Author SHA1 Message Date
jief666
5a46bf363f Fix Quirks menu value not taken into account. 2020-10-27 09:12:37 +03:00
jief666
fafc50e3d0 Fix partition name when there is more than 1 system partition in
container.
printf support of "%.*s".
2020-10-26 23:37:32 +03:00
jief666
c458db4acd Typo 2020-10-26 18:02:54 +03:00
jief666
d540f76b54 Handle Skip in patches. 2020-10-23 21:52:01 +03:00
SergeySlice
fc3fa0de26 reduce debug.log
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-23 21:48:31 +03:00
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
bef59ccfa2 Fix icons being light at the first display. 2020-10-22 14:33:57 +03:00
jief666
18038055ab Put back "Allow 11 11.x in IsOSValid()". 2020-10-21 17:20:59 +03:00
jief666
982a43f3e3 Avoid having main BS partition in Menu. 2020-10-21 00:33:02 +03:00
jief666
d4afee825b Keep path independant symbol. 2020-10-20 22:50:30 +03:00
jief666
d17d02b1f8 Clean [BuildOptions] in inf files.
Add "-flto  -DUSING_LTO" when DISABLE_LTO is not defined.
2020-10-20 15:00:24 +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
SergeySlice
a34840baa1 special order for voodooi2c
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-18 05:43:25 +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
48fb8c7575 always boot with injexted kexts, just choose them
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-14 22:06:41 +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
SergeySlice
d2bec9ba0c Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2020-10-12 15:06:00 +03:00
jief666
0ab6d8a994 First unit test for memory Find-Replace. 2020-10-12 14:51:08 +03:00
SergeySlice
2bf2302d9d a possibility to switch on/off kext patching from GUI
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-12 14:48:50 +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
jief666
2fddd11e16 Filter out OpenRuntime from efi drivers, to allow linux boot. 2020-10-09 09:05:51 +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
SergeySlice
c96d9d57b9 cosmetic changes to xcode project and debug-log
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-10-04 20:12:10 +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
f663e8fc10 Force OC CustomSmbiosGuid to false. 2020-09-27 23:02:38 +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
bf59b13c93 Allow kext without executable.
malloc size bug for mOpenCoreConfiguration.Kernel.Patch.Values.
hardcoded resolution Max for OC.
Kernel arch x86_64 instead of X86_64
2020-09-21 17:02:31 +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
09634f7c94 remove READ_FROM_OC 2020-09-19 14:40:41 +03:00
jief666
8cf91394a2 USE_OC_SECTION 2020-09-18 22:54:30 +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
584df7808f Static assert with messages. 2020-09-17 09:43:46 +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
SergeySlice
f4b3445135 ignore OcQuirks.efi if present
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-09-10 21:35:10 +03:00
jief666
3a2d6f14c7 Xcode warning and project. 2020-09-09 22:02:58 +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
7470ecc797 LoadOptions for OC (don't know if it's the right way)
Bridge KextPatch to OC.
2020-09-08 12:33:35 +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
5f3adb976e Move all OpenCore initialisation in StarLoader11. 2020-09-07 14:13:44 +03:00
jief666
73f25474b1 Fix package dependency. 2020-09-07 01:51:01 +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
63fc9e198a targetLoaderEntry was used when NULL. 2020-09-04 10:06:11 +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
SergeySlice
da591d7cf6 include headers into inf files as required by build system
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-08-31 21:51:55 +03:00
jief666
8449a39e4f Remove "ZeroMem(&gSettings.BootArgs, 256);" because BootArgs is now an
XString.
2020-08-31 15:24:00 +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
19ce4d6edf MemLogLib didn't compile.
update Clover.dsc and refit.inf
2020-08-25 19:38:50 +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
3eece0918c Prevent panic in XTheme::ClearScreen() 2020-08-19 10:52:33 +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
d6192ab7ab Correct unicode_conversion (but unused in Clover). 2020-08-16 18:02:01 +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
de45197556 Correct trim() in XString. 2020-08-16 12:33:41 +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
1c4bb3f823 Some CHAR16* refactored to XStringW.
Add insertAtPos, deleteCharsAtPos.
Bug : moved trim, lowerAscii, upperAscii in XStringAbstract.
2020-08-10 14:06:06 +03:00
jief666
4555bb9e9f Remove the last PoolPrints. 2020-08-09 18:55:30 +03:00
jief666
2a62a98abc Do not set DISK_KIND_NODISK if it's an APFS volume. 2020-08-08 09:26:31 +03:00
jief666
8c8a67cd0c Remove hard coded Preboot and Recovery partition name. 2020-08-07 16:17: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