374 Commits

Author SHA1 Message Date
vit9696
eca9d6b156 OcStorageLib: Increased OC_STORAGE_SAFE_PATH_MAX to 192
This is needed to Force inject longer kexts, e.g. networking:
System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/
AppleIntel8254XEthernet.kext/Contents/MacOS/AppleIntel8254XEthernet
2025-08-07 01:36:34 +03:00
Andrey1970
e04b9e2292 Bump version 2025-07-13 18:41:18 +03:00
Marvin Häuser
164696d1dc OcMachoLib: Resolve indirect symbol ambiguity
Mach-O uses "indirect symbol" ambiguously. The first kind are "indirect
symbols" indicated by their type. They are located in the regular symbol
table, possibly outside the local, external and undefined ranges. Their
value is an index into the string table, which indicates the name of
another symbol they alias. We assume these to only be used by KPIs,
mostly as symbol aliases for deprecated symbol names.

The second kind is the "indirect symbol table", which is merely a flat
list of 32-bit indices into the symbol table.

When the handling code was written, the incorrect assumption was made
that the "indirect symbol table" is a range of "indirect symbols", much
like how local, external and undefined symbols are explicitly indexed.
However, this is not true and causes bugs in handling indirect symbols.

This patch drops this incorrect (and dangerous) assumption and strictly
separates the two concepts. As OpenCore does not inject KPIs, ignore
indirect symbols entirely.
2025-06-12 12:13:55 +02:00
Andrey1970
bae9a92b1b Bump version 2025-03-04 16:51:02 +03:00
John Davis
45f8ba2cd2
Add ClearTaskSwitchBit booter quirk (#573)
This quirk is needed to boot macOS 10.7 and older when using a 32-bit kernel on a 64-bit UEFI firmware that makes uses of FPU or SSE instructions in runtime services (such as Hyper-V).
2025-02-23 10:51:40 -06:00
Andrey1970AppleLife
44af5a9945 Bump version 2024-12-22 13:36:25 +03:00
Mike Beaton
cde43cd3c1 OpenNetworkBoot: Add PXE and HTTP(S) Boot support 2024-11-30 18:40:21 +00:00
Mike Beaton
6bb481ed62 OpenLinuxBoot: Fix booting with TuneD in Fedora 41
In GRUB2+blscfg mode:
 - Allow grub vars in 'initrd' as well as in 'options'
 - Allow multiple initrd files on one 'initrd' line
 - Initialise empty $tuned_params and $tuned_initrd grub vars if no
   values present, on an optional flag enabled by default (since
   we want to make booting major distros easy)

In GRUB2+blscfg mode (seem to be allowed now, not required for fix):
 - Allow multiple 'initrd' lines
 - Allow multiple 'options' lines

Add variant of OcParseVars which can parse as value-only tokens.

Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
2024-11-18 23:28:33 +00:00
vit9696
1493b56c3a OcCpuLib: Improved new CPU detection 2024-11-09 16:01:01 +03:00
Andrey1970
9bdb9839db Bump version 2024-10-10 12:38:03 +03:00
Vitaly Cheptsov
4b3b0cb1d7
OcBootManagementLib: Add Apple DP expansion for VirtIO BLK (#561)
Apparently macOS strips down HD nodes from VirtIO BLK devices
leaving them "infix" shortened, i.e. PCI/APFS instead of
PCI/HD/APFS.
2024-10-07 17:44:08 +03:00
Mike Beaton
184f3e0b54
OcBootManagementLib: Convert naming from External System Boot to Unmanaged Boot (#552) 2024-10-06 10:30:31 +03:00
Mike Beaton
3830364e88
OcMainLib: Add UEFI/Unload config option to unload existing firmware drivers (#553) 2024-10-06 10:22:16 +03:00
Andrey1970
8ee5b37a3f Bump version 2024-08-16 15:33:00 +03:00
PMheart
485db4c4c2
OcAppleKernelLib: Disabled XcpmExtraMsrs MSR_MISC_PWR_MGMT patch on macOS 12+; fix IOAHCIBlockStorage patch on macOS 14.4+ thanks @vit9696 (#545) 2024-06-15 17:35:33 +02:00
Andrey1970AppleLife
10e2878262 Bump version 2024-05-10 15:29:01 +03:00
Andrey1970AppleLife
2cbe647045 Bump version 2024-03-12 09:55:02 +03:00
Andrey1970AppleLife
70509375c7 Bump version 2024-02-05 21:27:01 +03:00
Mike Beaton
d748c4a76e Platform: Add Firmware Settings entry driver 2024-01-17 09:52:29 +00:00
John Davis
22b851e589 OcAppleKernelLib: Add Exclude strategy for mkext 2024-01-09 20:52:12 -06:00
Mike Beaton
34da204e97 OpenCanopy: Provide OC_ATTR_REDUCE_MOTION to disable non-needed OpenCanopy animiation 2024-01-04 04:21:23 +00:00
Mike Beaton
2b66a703a0 BootPickers: Swap positions of Shutdown and Restart buttons
to better match newer macOS.
Add OC_ATTR_USE_REVERSED_UI bit to use old layout.
2024-01-01 16:00:30 +00:00
Andrey1970AppleLife
3df90c7315 Bump version 2023-12-11 23:41:54 +03:00
Mike Beaton
b5984a3d30 OcPeCoffExtLib: Add code path to OcPeCoffFixupInitializeContext which generates fixed image context without fixing image in memory
- Required to allow AppleEfiSignTool to verify rare (but actually existing) Apple signed binaries with overlapping section errors
2023-11-20 11:52:03 +00:00
Mike Beaton
d1e1fe7cd2 OcBootManagementLib: Trigger FixupAppleEfiImages quirk on default Apple boot path as well
- Allows for very early Mac OS X 32-bit images which are neither signed nor in a fat binary
2023-11-18 19:46:14 +00:00
Mike Beaton
87da1b1329
Utilities/OcPeCoffExtLib: Update AppleEfiSignTool to work with new PE COFF loader (#502) 2023-11-15 11:30:05 +00:00
Andrey1970AppleLife
98e36b87fa Bump version 2023-11-06 21:49:32 +03:00
Mike Beaton
5f15e839f8
OcPeCoffExtLib: Add support for FixupAppleEfiImages quirk (#498) 2023-11-03 11:06:56 +03:00
vit9696
5a7edbe321 OcGuardLib: Remove legacy code after BaseOverflowLib migration 2023-10-14 23:59:53 +03:00
Mike Beaton
36b2cea412 OcBootManagementLib: Fix incorrect handling of optional DataLength parameter
Introduced by 546aa5ba6415902ed05db02f8a5448c5e7ff67cf
2023-10-14 20:15:22 +01:00
Andrey1970AppleLife
176db38154 Bump version 2023-09-11 18:50:48 +03:00
John Davis
bb44e89add
Implement legacy OS booting support (#482) 2023-09-07 20:00:30 -05:00
Mike Beaton
2bbda9de78 OcVariableLib: Add option to set bs-only var ShimLockGuid:ShimRetainProtocol
If set by bootloader chained from shim before further image is loaded, instructs
shim to keep its protocol and its security overrides (if enabled) present for all
image loads, not just the first.
2023-08-31 22:27:01 +01:00
Andrey1970AppleLife
7df036ef09 Bump version 2023-08-13 12:39:36 +03:00
Mike Beaton
425cd5c1a6 OcBootManagementLib: Fix comment typo 2023-07-04 07:15:27 +01:00
Mike Beaton
546aa5ba64 OcBootManagementLib: Unify boot meta file loading code;
Optionally allow .contentVisibility in same boot fs root locations
as searched for .VolumeIcon.icns, since file next to boot.efi is
deleted on macOS update.
2023-07-04 01:23:42 +01:00
Mike Beaton
dc182df42c OcBootManagementLib: Add InstanceIdentifier, and ability to target .contentVisibility to specific instances 2023-06-23 19:54:33 +01:00
Andrey1970AppleLife
29eb989a8f Bump version 2023-06-13 00:20:01 +03:00
Mike Beaton
0ad4a318b0 OcConsoleLib: Provide ConsoleFont option
to load custom .hex format console font file
2023-06-11 05:48:55 +01:00
Curi0
d84e9bbb27
OcPciIoLib: Add CpuIo/PciRootBridgeIo/PciIo fix for Aptio IV with Above 4G BARs (#459) 2023-06-04 23:05:33 +03:00
Andrey1970
cbd60f6caf Bump version 2023-05-08 23:19:48 +03:00
Marvin Häuser
d9109c36f1 Properly distinguish between PeCoffLib2 vs UefiImageLib 2023-05-08 11:25:08 +02:00
Mike Beaton
065177ebb9 OcConsoleLib: Apply ConsoleMode console text resolution option to builtin text renderer 2023-05-04 09:59:29 +01:00
Mike Beaton
c8b93357b8 OcConsoleLib: Simplify use of builtin renderer uncontrolled mode
The renderer already (esp. since recent changes incl. reset to controlled on cls)
manages its own transitions to controlled, so we just need to indicate uncontrolled
in cases where something else has been rendering graphics
2023-05-04 09:59:22 +01:00
Mike Beaton
c1f0b9f169 OcConsoleLib: Implement InitialMode 2023-05-03 22:21:04 +01:00
Savva Mitrofanov
11a2606650 Library: Remove OcPeCoffLib 2023-04-26 11:01:50 +03:00
Savva Mitrofanov
70bb87c7b0 Library: Replace OcPeCoffLib with UefiImageLib 2023-04-26 11:01:50 +03:00
Savva Mitrofanov
b2d438d6f3 Switch OcGuardLib to BaseOverflowLib 2023-04-13 13:16:14 +06:00
Mike Beaton
5d8e3f5836 OcConsoleLib: Additional info in GOP dump; additional guards on GopBurstMode 2023-04-09 10:18:58 +01:00
CaseySJ
4bd9343ded
OcAppleKernelLib: Add DisableIoMapperMapping quirk (#440) 2023-04-06 01:55:53 +03:00