319 Commits

Author SHA1 Message Date
Download-Fritz
72649849dd OcAppleKernelLib: Rebuild KC when no kexts are injected
Fixes an issue where __PRELINK_INFO (first segment) is relocated and thus renders relocations invalid (relative to the first segment's VA)
2020-10-25 14:15:01 +01:00
Download-Fritz
6ffd979500 OcAppleKernelLib: Fix invalid kremlin section 2020-10-25 14:15:01 +01:00
Download-Fritz
7732a7b6d2 OcAppleKernelLib: Zero trailing KC expansion 2020-10-25 12:43:36 +01:00
Goldfish64
7adaaa15ee OcAppleKernelLib: Fix invalid return status handling 2020-10-18 18:36:23 -05:00
Goldfish64
ff3984b2e6 OcAppleKernelLib: Fix previous commit 2020-10-13 21:05:35 -05:00
Goldfish64
9ecb761836 OcAppleKernelLib: Fix CPUID patching on 10.4.10 and 10.4.11 2020-10-13 19:57:43 -05:00
vit9696
61cc6f609e OcAppleKernelLib: Add memcpy/memmove support to legacy bcopy 2020-10-04 20:59:23 +03:00
vit9696
ecbed230e0 OcAppleKernelLib: Fix compilation (again) 2020-10-04 18:01:30 +03:00
vit9696
21fb96107e OcAppleKernelLib: Do not compile bcopy to avoid linker issues 2020-10-04 17:15:51 +03:00
vit9696
8a5342a4ea OcAppleKernelLib: Fix Windows compilation 2020-10-04 14:08:53 +03:00
vit9696
81c2818175 OcAppleKernelLib: Fix bcopy implementation for LegacyCommpage quirk 2020-10-04 13:52:48 +03:00
Goldfish64
eb56315475 OcAppleKernelLib: Fix comments from previous commit 2020-10-03 19:51:51 -05:00
Goldfish64
f18a2a73c1 OcAppleKernelLib: Add LegacyCommpage quirk
Replaces default 64-bit commpage bcopy implementation with one that does not require SSSE3, required for legacy platforms without SSSE3. Resolves a "commpage no match for last" panic due to no available bcopy implementations.
2020-10-03 19:43:35 -05:00
PMheart
e93624ab16
OcAppleKernelLib: Added ExtendBTFeatureFlags quirk (#126)
This quirk substitutes BT4LEContinuityFixup which actually fails to function properly due to late patching.
2020-10-02 11:31:03 +08:00
John Davis
676ef93d9d
OcAppleKernelLib: Add 32-bit prelinking support (#122) 2020-09-29 12:41:37 +03:00
John Davis
74062d4e0f
OcAppleKernelLib: Add 32-bit Mach-O and patching support (#118) 2020-09-13 22:57:10 +03:00
Goldfish64
18ce64b408 OcAppleKernelLib: Fix previous commit 2020-09-13 12:16:24 -05:00
Goldfish64
85d0532e17 OcAppleKernelLib: Fix previous commit 2020-09-13 11:49:02 -05:00
Goldfish64
d583e2031a OcAppleKernelLib: Only apply KC address fixup during block if KC 2020-09-13 10:57:53 -05:00
Goldfish64
c559acd81c OcAppleKernelLib: Do not abort if Info.plist is missing
Some versions of 10.4 may have kexts that do not have an Info.plist, but have plugins. We still want to scan any plugins in this case.
2020-09-12 18:52:22 -05:00
vit9696
bc6398fa30 OcAppleKernelLib: Fix typo in the previous commit 2020-09-06 12:02:30 +03:00
vit9696
2bde94afc5 OcAppleKernelLib: Added DisableLinkeditJettison quirk
This quirk is similar to keepsyms=1 but is potentially less intrusive.
Lilu needs to access __LINKEDIT to do symbol solving in the kernel.
2020-09-06 03:11:45 +03:00
vit9696
6df942413c OcAppleKernelLib: Fix issues in 11.0 kext injection and patching
- KcGetKextSize may report far larger kext size due to using segment
  address instead of kext address as a base.
- KC Mach-O header rebuild may make Context->LinkEditSegment point
  to invalid memory breaking KcGetKextSize in the kext patcher.
2020-09-04 15:28:08 +03:00
vit9696
53614abdad OcAppleKernelLib: Fix prelinked kext patches in KC mode 2020-09-02 10:21:00 +03:00
John Davis
8b452306e5
OpenCoreKernel: Implement force injection of system kexts (#111) 2020-08-27 18:52:53 +03:00
vit9696
f427a77d81 OcAppleKernelLib: Update PrelinkedStateKextsAddress after rebase
This lets kext patching work after injection on 10.6.8
2020-08-27 02:27:29 +03:00
vit9696
520d27d66d OcAppleKernelLib: Fix KPI handling in 10.6 prelinkedkernel
Resolves issues injecting AppleIntelE1000e.kext referencing IOLockLock
2020-08-27 01:38:13 +03:00
Goldfish64
8e2755f29c OpenCoreKernel: Implement kernelcache fuzzy matching 2020-08-25 05:47:41 +03:00
vit9696
ee7aaa37e1 OcAppleKernelLib: Fix CFG lock patch for SNB 2020-08-23 22:03:16 +03:00
vit9696
57fc9000ad OcAppleKernelLib: Fixed LapicKernelPanic quirk on 10.8.5 2020-08-23 18:50:54 +03:00
vit9696
444365c87c OcAppleKernelLib: Fixed IncreasePciBarSize on 10.11.5 2020-08-23 17:32:10 +03:00
vit9696
ca6c829961 OcAppleKernelLib: Rework AppleCpuPmCfgLock to support 10.6.8 2020-08-23 17:04:08 +03:00
vit9696
c8c9ee5608 OcAppleKernelLib: Fixed XhciPortLimit on 10.12.6 2020-08-23 17:03:24 +03:00
vit9696
4b00ad2c1c OcAppleKernelLib: Improve error checking for kernel quirks (part 1) 2020-08-23 00:25:52 +03:00
vit9696
5ded24b71f OcAppleKernelLib: Expose kernel version to quirks 2020-08-22 22:28:28 +03:00
vit9696
d4b1f49b65 OcAppleKernelLib: Improve CPUID patch for 10.6 2020-08-22 21:17:31 +03:00
vit9696
dc923bc895 OcAppleKernelLib: Partially fix kext blocking for 11.0 2020-08-22 09:54:29 +03:00
vit9696
6f795d6a80 OcAppleKernelLib: Fix memory initialisation 2020-08-22 09:29:26 +03:00
vit9696
dde7432b62 OcAppleKernelLib: Implement KXLD symbolic solver 2020-08-22 09:11:28 +03:00
John Davis
818f9e3f57
32-bit kernel switching support (#104)
* OcMacInfoLib: Add 64-bit model compatibility function

* OcMacInfoLib: Fix previous commit

* OpenCorePlatform: Store current SMBIOS platform

* OpenCorePlatform: Fix variable

* OpenCoreKernel: Implement 32-bit kernel switching

* OpenCoreKernel: Force 32-bit on EFI32

* OpenCoreKernel: Fix previous commit
2020-08-21 22:31:19 -05:00
Goldfish64
442ec2f2c3 OcAppleKernelLib: Add ParseFatArchitecture status check 2020-08-20 14:19:42 -05:00
Goldfish64
342773ef34 OcAppleKernelLib: Use library FAT parsing 2020-08-20 12:05:56 -05:00
Goldfish64
5ea680a055 OcAppleKernelLib: Fix handling for codeless kexts 2020-08-19 11:25:41 -05:00
Goldfish64
5c92fe3098 OcAppleKernelLib: Fix cacheless codeless kext handling 2020-08-19 10:23:22 -05:00
vit9696
04fa1c2394
OcAppleKernelLib: Implement cacheless & mkext kext patching and quirks (#102) 2020-08-18 23:47:38 +03:00
vit9696
17e99ea36b OcAppleKernelLib: Fix compiler warnings 2020-08-17 00:04:34 +03:00
vit9696
70c55e03bb OcAppleKernelLib: Implement CPUID patching for 10.6 64-bit 2020-08-16 04:59:47 +03:00
vit9696
b5dcbd32d1
OcAppleKernelLib: Implement KXLD link state handling (#101) 2020-08-16 00:33:56 +03:00
vit9696
c3e14b6824
OcAppleKernelLib: Implement mkext injection support (#99) 2020-08-15 00:40:06 +03:00
vit9696
f48c647b70 OcAppleKernelLib: Fix solving kernel symbols to zero in 11.0
Observed with Black80211 when trying to solve Black80211Control vtable
imports from IONetworkingFamily. When trying to look up
__ZNK19IONetworkController11getFeaturesEv it will be found not just in
IONetworkingFamily but also IO80211Family, where it is going to be
external undefined, i.e. Type = 0x1.
2020-08-10 21:28:39 +03:00