Commit Graph

536 Commits

Author SHA1 Message Date
SergeySlice
d69a944398 prepare for kext injecting, step 2
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2022-03-06 13:42:12 +03:00
SergeySlice
af0fb92a75 exclude unused old methods for kext inject
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2022-03-06 09:42:49 +03:00
SergeySlice
bf067e514c a template todo
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2022-03-02 21:55:17 +03:00
SergeySlice
619d9e870f include FakeSMC into strict order
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2022-02-19 19:35:52 +03:00
SergeySlice
4c040a5eb5 provide menu entry for new quirks
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2022-01-29 13:59:16 +03:00
SergeySlice
7945747d83 implement ProvideCurrentCpuInfo
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2022-01-28 21:47:15 +03:00
SergeySlice
d388e910fe wrong DEBUG usage, firmware version is 2
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2022-01-23 15:19:15 +03:00
SergeySlice
62ad226e21 MatchBuild absent should means allowed
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-12-24 21:22:53 +03:00
SergeySlice
981e737da3 take into account CometLake
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-11-26 22:26:29 +03:00
SergeySlice
1ba1ba6d6c implement ForceOcWriteFlash
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-11-11 21:58:28 +03:00
SergeySlice
57b93550f8 a separate folder for OpenRuntime-v12 for possibility to start old Clover with OpenRuntime-v11
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-11-01 21:26:41 +03:00
SergeySlice
aebddff13d corrections for previous commit
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-10-30 11:37:40 +03:00
SergeySlice
9ce3a2607b Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2021-10-30 11:21:44 +03:00
SergeySlice
05615c24f4 make a bridge to new quirks
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-10-30 11:21:39 +03:00
jief666
c26dec1e78 ResizeAppleGpuBars. 2021-10-30 06:39:10 +02:00
jief666
e036b3d54b Do not display config info messages at launch. 2021-10-29 21:56:32 +02:00
jief666
07b993b8b2 Clean some unused globals in main.cpp 2021-10-27 21:41:42 +02:00
jief666
be9b4c2d7f Remove outdated dead code (AddLoadOption and RemoveLoadOption). 2021-10-20 10:55:05 +02:00
jief666
710b2dcee5 Allow SmbiosDictClass to work without ProductName defined (using a
defaultMacModel member that has to be assigned before).
Move BiosVersion, BiosReleaseDate and EfiVersion checks in
SmbiosDictClass. Create warnings for incorrect values.
Rename MaxMachineType to MaxMacModel.
Remove GlobalConfig->BiosVersionUsed, ReleaseDateUsed and
EfiVersionUsed.
2021-10-19 19:57:27 +02:00
jief666
cee098d1e6 Rename MACHINE_TYPES enum to MacModel.
Rename PLATFORMDATA array to ApplePlatformDataArrayClass.
Refactor so enum MacModel doesn't have to be in the same order as
ApplePlatformDataArrayClass.
Create static_assert that guarantee that all model has platform data.
2021-10-18 21:06:19 +02:00
jief666
83b93234be Move assignment of gCPUStructure.TSCCalibr after
construct_globals_objects.
2021-09-29 16:32:55 +03:00
jief666
83593a5ab9 Convert bool to XBool. 2021-09-28 16:54:31 +03:00
jief666
c7161c8e97 Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2021-09-28 11:28:54 +03:00
jief666
2c829b66cd Create XBool to avoid nasty side effect when assigning int to bool. 2021-09-28 11:28:45 +03:00
SergeySlice
38f629e980 Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2021-09-27 22:41:04 +03:00
SergeySlice
5226aa6153 code formatting
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-09-27 22:40:40 +03:00
jief666
c6b08f89ba Change DsdtsList from statically allocated to XStringWArray. 2021-09-27 10:18:52 +03:00
jief666
8134f37bde Change ConfigsList from statically allocated to XStringWArray. 2021-09-27 10:05:11 +03:00
jief666
9c79b8f1c5 Changed hard coded EFI/Clover to self path in menus. 2021-09-27 09:39:06 +03:00
jief666
e8a9e4af4f
Merge pull request #446 from z3DD3r/master
Add ExtendBTFeatureFlags to Quirks
2021-09-25 14:45:42 +03:00
SergeySlice
f0a20247e9 implement ExtendedFeatures
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-09-25 14:33:16 +03:00
jief666
537884c7bd Remove CPU/Latency. Warning if CPU/Latency is used. 2021-09-25 13:57:07 +03:00
jief666
e6c194d1b9 Change OC_STRING_ASSIGN_N macro to function to fix a side effect. 2021-09-25 13:25:02 +03:00
jief666
9d7d7b6059 Delegate patching ACPI if USE_OC_SECTION_Acpi is defined.
Comments.
2021-09-25 13:17:25 +03:00
jief666
f70da719e5 Panic message if OpenRuntime is wrong.
OC version.
2021-09-25 13:02:47 +03:00
z3DD3r
81d1808c0a Add ExtendBTFeatureFlags to Quirks 2021-09-25 11:51:37 +03:00
jief666
0bca61ad3d Handle multiple OpenRuntime version. 2021-09-25 11:03:31 +03:00
jief666
9098b56bdf Make OC 0.7.3 compile as a library for Clover. It compiles, doesn't mean
it's
working !
Imported some new definition in MdePkg.
Add RegisterFilterLibNull and MdeLibs.dsc.inc.
Set PcdDebugPropertyMask to UINT8.
2021-09-23 13:36:41 +03:00
jief666
a634a8258c DumpNvram().
Debug messages in Self.
Typo in BootLog.cpp
Comment in XStringAbstract.h
2021-07-02 18:10:10 +03:00
jief666
d2e652bd44 Move some initializations in ConfigManager. 2021-07-01 18:16:54 +03:00
SergeySlice
adb880456d initial value for KernelPM to be in menu
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-06-25 20:58:38 +03:00
SergeySlice
e12aefe816 repaired taking SavingMode from config
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-06-24 22:52:12 +03:00
SergeySlice
f424a77c25 repaired taking C3Latency from config
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-06-23 21:24:46 +03:00
SergeySlice
fd780172d3 Monterey compatibility
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-06-09 20:49:30 +03:00
jief666
36e63bd7f0 Fix crash. Handle CompName->GetDriverName == NULL in
DisconnectSomeDevices().
2021-05-23 06:18:47 +03:00
SergeySlice
4bd3434026 Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2021-05-19 20:18:06 +03:00
SergeySlice
097e95eed6 apply clover's FakeCPUID patch instead of OC
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-05-19 20:10:41 +03:00
jief666
2b84ee61a3 Crash in LoadLatestNvramPlist when EfiLibOpenRoot returns null. 2021-05-19 15:28:57 +03:00
jief666
bf74520cef Deprecate FIX_HEADERS. 2021-05-19 15:11:21 +03:00
SergeySlice
23f0df20ed delegate fakecpuid to OC
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-05-18 06:14:56 +03:00
jief666
82ba60a90a Revert commit a9cb69 : remove workaround and fix operator = in XIcon. 2021-05-17 08:52:17 +03:00
SergeySlice
a9cb692f6e clean night icon usage bug
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-05-15 17:52:16 +03:00
jief666
0b0667997a Try to compile secure boot. Error in some openssl asm instructions. 2021-05-09 17:13:37 +03:00
jief666
9906261e23 Fix visual studio compilation.
Fix some warnings.
Rename panic_ask to log_technical_bug.
2021-05-08 12:34:17 +03:00
jief666
54bddb2fa9 Fix wrong access to SlotDevices in FixAirport.
Send panic message to log.
2021-05-06 09:23:07 +03:00
jief666
d52803e7cd DO NOT explicitly call default ctor with new because of clang bug. 2021-05-05 20:10:10 +03:00
SergeySlice
8dab184a8b PauseForKey has new argument type
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-05-05 18:40:10 +03:00
SergeySlice
626637762c merge conflicts
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-05-04 19:23:48 +03:00
SergeySlice
9c6e5ce05c add new csr bits to Clover GUI to choose
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-05-04 19:21:42 +03:00
jief666
ee78cb92fa Add message and reboot if macOs failed to load (instead of a black
screen).
Log image handles of loaded efi.
2021-05-04 13:26:54 +03:00
jief666
391ed70310 Fix bug in ConfigPlist when an unknown key happens is ACPI/DSDT/Fixes.
Light refactor of PauseForKey.
gSettings.CPU.SavingMode is ConfigManager.
PlatformPosix : do not redefine abort(), use abort() instead of
CpuDeadLoop().
Format debug.log file name.
Use malloc/free instead of AllocateZeroPool/FreePool for validator
compatibility.
Use strlen instead of AsciiStrLen for validator compatibility.
getRBr() and getRPlt() : make them independent from global var.
Fix wrong line number in XmlLiteParser.
2021-05-04 13:03:40 +03:00
SergeySlice
fb86ee152a update clover.proj
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-04-29 21:13:13 +03:00
jief666
0223567648 New parser XML. New ConfigManager. A lot of refactoring... 2021-04-28 21:30:34 +03:00
jief666
cc3c8fe0a7 Fix bug : it was ignoring legacy with PBR, MBR and CD.
Uncomment eComStation, BeOS, ZETA and Haiku legacy boot sector
detection.
Return unknown icon instead of dummy.
Improve legacy entries title when _LoaderTitle is empty.
Create log_technical_bug(). Temporary redirected to panic.
Hardened egLoadFile().
Hardened SelfOem.
Copy ctor in XStringArray.
Improve qemu launch scripts.
2021-04-23 15:20:48 +03:00
jief666
a1a27d29a1 Improve some messages.
unicode_conversions version.
2021-04-21 08:32:38 +03:00
SergeySlice
deeea43b79 dont double CPU examine
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-04-17 14:32:32 +03:00
SergeySlice
917760ba82 some comments
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-04-15 21:22:14 +03:00
jief666
23b39364d2 Fix a wrong cast in XImage.
Fix bug about padding StartMask, MaskFind, Replace, MaskReplace
Move IgPlatform in GlobalConfig.
Improve panic message.
Fix bug in XMLDecode.
2021-04-12 15:11:01 +03:00
SergeySlice
1d6a7ae9d3 Merge branch 'master' of https://github.com/CloverHackyColor/CloverBootloader 2021-04-11 13:53:39 +03:00
SergeySlice
4904c3dc8e default Tmezone is FF, not -1
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-04-11 13:53:21 +03:00
jief666
7babc6fe9b Do not use OC quirks struct anymore in settings.
Fix Disabled property in Smbios/Block config.
Move flagstate in GlobalConfig.
Remove gSettings.Smbios.REV, ECPI, RBr and RPlt.
Create getRBr() and getRPlt().
Operator == and isEqual in XArray, XObjArray, SETTINGS_DATA.
Rename equal to isEqual in XString and XStringArray.
Operator == in INPUT_ITEM, undefinable, ABSTRACT_PATCH (and derived) and
RAM_SLOT_INFO class.
Clean b64cdecode.h.
2021-04-11 08:18:52 +03:00
jief666
2cf69b2b55 Rename ABSTRACT_PATCH Data & Patch, Find and Replace.
Create GetChassisTypeFromModel() and GetFwFeaturesMaskFromModel().
Ignore first '\' in ForceKextsToLoad.
XString : Add a parameter to wc_str to access address of nth chars.
XString : Add endWithOrEqualToIC.
Create ConstXStringArray.
2021-04-06 16:39:55 +03:00
jief666
5d20632984 Move ctors symbol in its own section to force alignment.
Add -g3 flag for release compilation.
2021-04-05 23:35:34 +03:00
jief666
946a6428b5 Remove the trim to the first space for PartNo, Vendor, SerialNo.
Refactor ACPI_NAME_LIST as XString8Array.
Create ACPI_RENAME_DEVICE and ACPI_NAME to replace ACPI_NAME_LIST.
Change RAM_SLOT_INFO and MEM_STRUCTURE into class.
Improve XObjArray::RemoveWithoutFreeingAtIndex.
Create XStringArray::ExtractFromPos.
Move CheckFatalError and CheckError to BasicIO.
2021-04-05 11:57:55 +03:00
jief666
6ff5bab8a5 Create section Smbios and BootGraphics.
Move OptionsBits and FlagsBits in GlobalConfig.
Move OEMVendor, OEMProduct, OEMBoard in GlobalConfig.
Move KernelPatchesAllowed, KextPatchesAllowed, EnabledCores and
BlockKexts in GlobalConfig.
Create RomVersionUsed, EfiVersionUsed and ReleaseDateUsed in
GlobalConfig.
Move gFwFeatures, gFwFeaturesMask, gPlatformFeature, SlotDevices in
Smbios section.
Move UserInUse, UserChannels and User from gRAM to Smbios settings
section.
Rename enum LANGUAGES to LanguageCode.
2021-04-03 17:42:49 +03:00
jief666
d54fc63747 new folder PosixCompilation. Ressources to compile Clover as a mac
application, for unit tests.
2021-04-03 13:55:25 +03:00
jief666
69a47c5fac Create Properties, Arbitrary and AddProperties menu.
hex2bin returns the length when passing NULL for out parameter instead
of 0.
Buildid in OEMString for my own build.
Create TagTypes.h.
Rename AddProperties to AddPropertiesArray.
devprop_generate_string now returns a XString8.
Add cpy method in XBuffer.
Add strsicpy in XString.
2021-04-01 11:06:53 +03:00
jief666
a5494a89f6 Create SETTINGS_DATA Devices section.
Convert AddProperties to XObjArray<DEV_ADDPROPERTY>.
2021-03-29 11:50:02 +03:00
jief666
773f9bdaf7 Separate ATI and NVIDIA card list.
Move MMIOWhiteList, ocBooterQuirks and QuirksMask in Quirks.
Remove MaxSlide as it already exist in ocBooterQuirks as
ProvideMaxSlide.
2021-03-28 23:13:43 +03:00
SergeySlice
072a0a5d26 DebugMode is not same for DBG()
check AudioList is empty

Signed-off-by: SergeySlice <sergey.slice@gmail.com>
2021-03-28 17:02:56 +03:00
jief666
04e288d53b Fix KPKernelPm KPAppleIntelCPUPM.
Fix bad "dead installer" detection.
Exclude a DisableDriversArray string if it's empty.
Rename back PatchVBiosBytesNew to PatchVBiosBytes.
Rename ConfigPlist to ConfigPlistClass.
Minor other renames to clean settings.h.
2021-03-27 21:53:30 +03:00
jief666
4a3bc612b8 Create settings section Graphics, RtVariables.
Mobe Turbo in GlobalConfig.
2021-03-26 12:43:15 +03:00
jief666
3252bf63e0 Rename to Language.
Create DSDT_Patch.Disabled.
2021-03-25 23:21:41 +03:00
jief666
65f8cc122d Created ABSTRACT_PATCH.
Renamed ForceKexts to ForceKextsToLoad.
Create a copy KPKernelPm, KPAppleIntelCPUPM as they can be modified by
NeedPMfix.
Delete gRemapSmBiosIsRequire, duplicate of Patches->KPDELLSMBIOS
Slight refactor of hex2bin and XMLDecode.
Memory leak in XBuffer.stealValueFrom().
Create XString.strsicat() and stealValueFrom with a size parameter.
2021-03-25 17:32:56 +03:00
jief666
59552d4e63 Remove loadOptions "Prefix" for custom tools. 2021-03-24 00:23:44 +03:00
jief666
ac7bd4308d Refactoring CutomLegacyEntries and CustomToolsEntries.
Refactor ACPIPatchedAML as a XObjArray<ACPI_PATCHED_AML>.
move Codepage in GlobalConfig.
2021-03-23 22:59:30 +03:00
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