Commit Graph

500 Commits

Author SHA1 Message Date
jief666
8ccbf5780a Remove first load option for non-osx boot. 2021-03-22 21:02:19 +03:00
jief666
829fd040dc Create REFIT_MAINMENU_SCREEN class
Create CUSTOM_LOADER_SUBENTRY_SETTINGS, CUSTOM_LOADER_SUBENTRY_SETTINGS
and CUSTOM_LOADER_SUBENTRY.
Clean the sub entries config.plist fields.
Comment unused KernelAndKextPatcherInit, KernelAndKextsPatcherStart,
CheckForFakeSMC
Comment unused OSFLAG_WITHKEXTS and OSFLAG_CHECKFAKESMC
2021-03-22 15:40:01 +03:00
SergeySlice
c93da72714 move self initialisation up
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-03-21 17:08:47 +03:00
jief666
11ca2c36c6 Adapt compiler options for compilation as a macOs app.
Rename CustomBoot to CustomLogoType, CustomLogo to CustomLogoImage.
2021-03-20 17:29:34 +03:00
jief666
2a029bd298 SETTINGS_DATA refactoring. 2021-03-19 23:32:42 +03:00
jief666
d33d0479fa Continuing refactoring SETTINGS_DATA. 2021-03-19 18:35:01 +03:00
jief666
c698bfb932 Fix crash when no OpenRuntime.efi. 2021-03-19 10:41:24 +03:00
jief666
3fb08d97f8 Continuation of refactor of settings. 2021-03-15 12:02:34 +03:00
SergeySlice
45801ef2da correct use of virtual pointer
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-02-28 22:42:57 +03:00
SergeySlice
76bf6321a6 release compilation should never panic on bad user input, use DEBUG for testing
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-02-21 16:49:09 +03:00
SergeySlice
3fbfaf07eb fix nvram.plist reading
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-02-19 23:07:24 +03:00
jief666
8209394af9 Continuing to refactor SETTINGS_DATA. 2021-02-11 14:41:59 +03:00
jief666
95be95c531 Reactivate warnings.
Clean warnings reactivated.
Clean build flags in the 4 configurations to make RELEASE_XCODE8 works
in QEMU.
2021-02-10 15:32:07 +03:00
SergeySlice
09d1ee044f Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2021-02-07 17:59:23 +03:00
SergeySlice
5d75cb7c69 embedded DataHubDxe and default for ARTFrequency
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-02-07 17:59:15 +03:00
jief666
75097bd304 Remove include <Platform.h> from headers. Keep them in sources. 2021-02-07 17:39:03 +03:00
jief666
1a02f530db Refactoring to allow Clover to be compiled as a macOs app. 2021-02-06 20:16:46 +03:00
SergeySlice
4bb8bb493f accept issue 356, VoodooRMI ordering
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-02-06 19:34:31 +03:00
SergeySlice
e24ceaa470 set default settings must follow get cpu properties
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-02-05 22:17:48 +03:00
jief666
333b6ce1ca Hide dead installer prebooter.
Do not hide installer if there is a main partition.
2021-02-04 17:04:31 +03:00
jief666
fa0bdcd181 Starting to refactor settings. 2021-02-02 12:02:21 +03:00
jief666
16c627596f Rename OSVersion to macOSVersion.
Fixed some icons ordering in main menu.
Fixed macOs version detection for custom entries.
Fixed main Big Sur partition appearing in menu.
Refactor IsValidGuidAsciiString.
2021-01-31 12:50:23 +03:00
jief666
b5e0562a3b DMG boot support through OC. 2021-01-22 11:35:57 +03:00
SergeySlice
7327d95aba adding data for iMac20
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-12-13 11:51:50 +03:00
SergeySlice
349e56a68a take into account custom entry may point to apfs partition
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-12-01 22:09:30 +03:00
jief666
a73d7d6d79 kext order for BrcmFirmwareData, BrcmPatchRAM2, BrcmPatchRAM3. 2020-11-28 20:26:45 +03:00
jief666
8a561576cd Add IC when checking drivers name at loading. 2020-11-24 16:01:32 +03:00
jief666
f28e8a2244 Fix DellSmbiosPatch. 2020-11-19 00:49:02 +03:00
jief666
7f1b87c92f Create object MacOsVersion. 2020-11-13 00:25:56 +03:00
jief666
5d91bbe253 Restore USBFixOwnership feature. 2020-11-05 09:29:56 +03:00
Jief L
da8ad5c0eb MSVC compilation. 2020-11-02 16:45:11 +03:00
jief666
9e7b4311cb Make gcc10 thinks it should keep gBuildIdGrepTag symbol. 2020-10-28 20:11:50 +03:00
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
d540f76b54 Handle Skip in patches. 2020-10-23 21:52:01 +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
d4afee825b Keep path independant symbol. 2020-10-20 22:50:30 +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
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
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
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
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
2bc776d63e ReinitRefitLib after Starting an efi image. 2020-10-05 23:45:14 +03:00
jief666
dcd17ca8cd Display full path of acpi files in debug log. 2020-10-05 10:25:53 +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
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
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
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
28a0dc1e8b Uncomment call to SetDevices(this) and SetVariablesForOSX(this)
Temporary panic is OcQuirks not found.
2020-09-18 13:04:07 +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
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
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
8ccee7054f 1st experiment to use OpenCore to boot Big Sur installer. 2020-09-07 01:19:48 +03:00
jief666
8449a39e4f Remove "ZeroMem(&gSettings.BootArgs, 256);" because BootArgs is now an
XString.
2020-08-31 15:24:00 +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
babba4de6e make TagData::setDataValue accept NULL value for data. 2020-08-30 22:53:40 +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
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
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
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
95d477c9a3 Refactor tagNext in tagSruct as a XObjArray<TagStruct> 2020-08-19 15:50:26 +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
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
59d8cbad7f Refactoring KEXT_PATCH.
Change numerous CHAR8* CHAR16* to XString.
2020-08-12 18:15:47 +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
7188cde799 repaired symbolic patching for bigsur
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-20 11:52:36 +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
50a98dc4fb exclude dump SIP
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-07-14 11:20:54 +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
1856b519e5 position in installer bigsur
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-24 07:20:45 +03:00
SergeySlice
a0948b2515 prepare for 10.16
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-22 21:47:45 +03:00
SergeySlice
109d1f581c unload audiodxe before system start
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-18 19:08:00 +03:00
SergeySlice
0f5da727e0 reset HDA after use
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-05 15:15:31 +03:00
SergeySlice
98b3d37277 security update for startup sound
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-06-05 12:43:12 +03:00
SergeySlice
d36f1ae23a embedded patch to cure 8 apples
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-27 21:04:31 +03:00
SergeySlice
5c61d2a0ea default is daylight
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-18 23:10:38 +03:00
SergeySlice
85d3bd1ad9 dynamic daylight, some optimisation
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-17 21:56:10 +03:00
SergeySlice
22f9adcbc9 using XIcon class for dynamic images
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-16 22:30:29 +03:00
SergeySlice
813b0d22cc prepare to dynamic svg
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-15 11:17:06 +03:00
SergeySlice
84c8474388 dont use explicit array size
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-13 13:04:48 +03:00
SergeySlice
de7ac1c1c6 disable deprecated functions
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-13 11:18:12 +03:00
SergeySlice
56c4e4dd48 exclude unused variables, move globals into class
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-11 18:44:00 +03:00
SergeySlice
0b7eed38f1 no more drop DSM method, it is not universal
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-09 12:15:03 +03:00
SergeySlice
d5305c8cc8 exclude Kernel support CPU patch as redundand and not correct
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-09 11:55:33 +03:00
asava
cf41491adc Menu width fixes, proportional font fixes, other menu tweaks 2020-05-05 02:52:00 +03:00
asava
9c056aaf6b Forgotten file in previous commit 2020-05-04 21:05:47 +03:00
asava
702e0d49c2 Correct hang in about and help menus after theme change 2020-05-04 21:03:25 +03:00
SergeySlice
314652c49c resolve conflicts
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-01 19:30:22 +03:00
SergeySlice
6b33696c93 kext and kernel patches will be part of LOADER_ENTRY class
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-05-01 19:26:28 +03:00
asava
64de6d0fef Correct some problems when changing config files 2020-05-01 03:14:11 +03:00
asava
1ec91d72cd A few corrections needed for Linux booting in some cases 2020-04-30 21:17:54 +03:00
Jief L
0c88de9390 Rename _XS to _XS8 2020-04-30 09:22:26 +03:00
Jief L
e170b16516 Rename XString to XString8. 2020-04-30 09:03:56 +03:00
SergeySlice
d7c710f9e3 fix some addresses issue, format text
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2020-04-28 13:49:24 +03:00
jief
2135d2706b Remove incorrect space in ArgOptional. Clean few comments. 2020-04-28 09:54:43 +03:00
asava
67e496d6e9 Allow longer titles for menus, they are trimmed according to theme now 2020-04-28 00:30:26 +03:00
Jief L
2a5571d032 loadOptionsW was destroyed before call to StartImage. 2020-04-27 22:20:16 +03:00
Jief L
a188e19f02 Remove unneeded wc_str(). Correct comparison order. 2020-04-27 15:13:09 +03:00
Jief L
de2bb5f950 Refactor some Path to XStringW. 2020-04-27 12:50:49 +03:00
Jief L
af28b47c72 Refactor BootOptions as XStringArray. 2020-04-26 16:07:30 +03:00