153 Commits

Author SHA1 Message Date
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
Mike Beaton
411de51112 OcMainLib: Unload drivers most recent first 2024-12-22 14:21:06 +00:00
Mike Beaton
cde43cd3c1 OpenNetworkBoot: Add PXE and HTTP(S) Boot support 2024-11-30 18:40:21 +00:00
Mike Beaton
35bcb134f1 CreateVault: Fix sign.command and update signing docs
Fix operation of `sign.command` when printable characters occur
immediately before `=BEGIN OC VAULT=`. `strings` finds the location of
the first printable character in such a sequence. `hexdump` automatically
works on 16 byte boundaries, so still finds the correct offset.

Use `BASE_ALIGNAS` to enforce the required alignment, which will not be
correct on all builds unless enforced (note alignment is required purely
for locating the structure correctly from external script as above, not
for reading in C).

Remove struct packing, since structs had better be naturally packed anyway
(if not, reading from them without arbitrary-alignment-safe code, as we
do, would be undefined behaviour). Add static asserts to confirm expected
size as required by `sign.command`.

Update the docs to refer to `sign.command` rather than to include the
signing commands explicitly - otherwise we have two places that need to
be kept in sync for signing commands, and note that the commands in the
two places were already out of sync.

Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
2024-11-26 22:22:28 +00:00
Mike Beaton
3830364e88
OcMainLib: Add UEFI/Unload config option to unload existing firmware drivers (#553) 2024-10-06 10:22:16 +03:00
Mike Beaton
5f15e839f8
OcPeCoffExtLib: Add support for FixupAppleEfiImages quirk (#498) 2023-11-03 11:06:56 +03: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
Mike Beaton
dc182df42c OcBootManagementLib: Add InstanceIdentifier, and ability to target .contentVisibility to specific instances 2023-06-23 19:54:33 +01: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
PMheart
020645b4a7
OcMainLib/OpenCoreAcpi: Fix orders for RebaseRegions and SyncTableIds (#454)
This fixes regression introduced by f604848c61.
2023-05-06 18:57:27 +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
c1f0b9f169 OcConsoleLib: Implement InitialMode 2023-05-03 22:21:04 +01:00
Savva Mitrofanov
b2d438d6f3 Switch OcGuardLib to BaseOverflowLib 2023-04-13 13:16:14 +06:00
John Davis
6a65dd1421 OcMainLib: Process kext Patch after Add
Enables patching of force injected kexts
2023-04-11 18:08:49 -05:00
vit9696
fe15c15d17 OcMainLib: Forcibly disable single user mode with Apple Secure Boot
For some reason EfiBoot, at least as of 13.3.1, no longer filters
-s argument from command-line. Make sure we filter this out ourselves.
2023-04-08 23:28:03 +03:00
CaseySJ
4bd9343ded
OcAppleKernelLib: Add DisableIoMapperMapping quirk (#440) 2023-04-06 01:55:53 +03:00
Mike Beaton
abe28e829f OcConsoleLib: Add GopBurstMode quirk
OcMemoryLib: Add additional PAT and MTRR caching support
2023-03-28 07:18:14 +01:00
CorpNewt
fe8491348f
OcAcpiLib: Fix comment printing failing to process long comments (#432) 2023-03-09 23:12:49 +03:00
Marvin Häuser
cc26901bff OcMainLib: Drop redundant cast 2023-02-21 17:30:11 +01:00
Marvin Häuser
419bef655e OcMainLib: Print ACPI patch comment alongside index 2023-02-21 17:29:55 +01:00
Curi0
d928b90aa5 OcDeviceMiscLib: Add ResizeUsePciRbIo to workaround broken PciIo on some UEFI firmwares 2023-01-31 08:04:36 +00:00
Mike Beaton
f6bf1f2d86 EnableGop: Provide standalone GOP driver for EFI-era Macs 2023-01-29 09:21:49 +00:00
vit9696
76b59df43c OcAcpiLib: Improve debug logging when applying ACPI patches
closes acidanthera/bugtracker#2140
2023-01-02 21:00:44 +03:00
John Davis
7b2af06339 OcMainLib: Fix kext blocker not processing entries if one was skipped due to arch 2022-12-24 08:41:54 -06:00
Vitaly Cheptsov
10fc98fc5d
OcConfigurationLib: Split ShowPicker and HibernateSkipsPicker (#407) 2022-12-06 02:53:35 +03:00
Mykola Grymalyuk
19a87279bb
OcMainLib: Allow hiding Picker when waking from macOS Hibernation (#395) 2022-11-20 12:49:27 +03:00
Marvin Häuser
c7b1063028 OcAppleEventLib: Support dwell-clicking
Fixes https://github.com/acidanthera/bugtracker/issues/2067
2022-10-23 18:41:15 +02:00
PMheart
27905dd7d7
Utilities: Introduce TestProcessKernel tool for testing kext injection/patching from config, by @mhaeuser (#369) 2022-08-24 11:26:35 +03:00
MikeBeaton
b3f2033d20 OcBootManagementLib: Rename DisableFirmwareRuntime option to FullNvramAccess 2022-08-05 08:55:45 +01:00
MikeBeaton
fa7477066c OcBootManagementLib: Add DisableFirmwareRuntime option for Tools 2022-08-04 22:49:42 +01:00
vit9696
3ac28b49bb OcConfigurationLib: Restore enabled and introduce LoadEarly 2022-07-28 23:45:17 +03:00
MikeBeaton
83123452fe OCVAR: Refactor NVRAM code, add OpenVariableRuntimeDxe 2022-07-28 06:38:56 +01:00
PMheart
f604848c61
OcMainLib: Patch order change (#370)
The current behaviors of how our modification to Booter and Kernel are undocumented. In addition, we should ensure that:

- Deletion is always performed first, as it makes no sense to patch something that will be removed
- Integrated quirks are always applied preceding user patches (to prevent users from messing up the whole patch structure)
- Injection is performed last
2022-07-16 19:49:20 +02:00
PMheart
2f9a15d78e OcMainLib: Fix wrong message printing 2022-07-14 11:39:37 +02:00
John Davis
2d55820158 OcAppleKernelLib: Fix incorrect OSBundleLibraries_x86_64 and cacheless injected bundle version handling 2022-07-11 21:02:19 -05:00
PMheart
53c67f308c
OcAppleKernelLib: Fix user after free, thanks @mhaeuser (#368) 2022-07-11 13:29:58 +02:00
MikeBeaton
daa3b63c22 OC: Log legacy secure boot derived ApECID; fix minor typos 2022-07-03 07:09:08 +01:00
PMheart
33978d85ac
OcAppleKernelLib: Print injected kext bundle version in DEBUG builds (#358) 2022-06-23 07:48:45 +03:00
John Davis
436cd9b8a9 OcMainLib: Fix incorrect debug print statement 2022-05-29 11:02:13 -05:00
MikeBeaton
7d0e3d4039 Various: Static string optimisations 2022-05-17 08:50:08 +01:00
MikeBeaton
19ef39ecf5 BootEntryProtocol: Add system action and hotkey support; implement Reset NVRAM and Toggle SIP as drivers 2022-05-16 22:23:49 +01:00
MikeBeaton
bcd2558686 OcAudio: Convert from int ids to string ids 2022-05-05 04:33:54 +01:00
PMheart
5c5056694a Codestyle: Apply Uncrustify patch 2022-05-03 13:12:55 +02:00
PMheart
a825d000be OcAppleKernelLib: Correct CustomPciSerialDevice patch, thanks @joevt
Reference: https://github.com/acidanthera/bugtracker/issues/2003
2022-05-03 13:11:01 +02:00
PMheart
228f8ca1fb Codestyle: Apply codestyle changes with Uncrustify 2022-04-25 14:51:15 +02:00
PMheart
1ca2a9553f
OcAppleKernelLib: Added CustomPciSerialDevice quirk (#331) 2022-04-14 12:58:37 +02:00
PMheart
6825e9a449
OcMainLib: Read and set serial PCD values from config (#330) 2022-04-04 23:43:11 +02:00
PMheart
95596f336a Docs: Fix SetApfsTrimTimeout description 2022-04-04 20:20:33 +02:00
PMheart
41882d980b OcAppleKernelLib: Added ForceAquantiaEthernet quirk 2022-03-20 12:32:47 +01:00