OcAppleKernelLib: Fixed ExtendBTFeatureFlags quirk on newer macOS versions, thx @lvs1974

This commit is contained in:
PMheart 2022-04-22 12:27:30 +02:00
parent 7688cf4efd
commit ad16b282ea
2 changed files with 23 additions and 2 deletions

View File

@ -1,5 +1,8 @@
OpenCore Changelog
==================
#### v0.8.1
- Fixed `ExtendBTFeatureFlags` quirk on newer macOS versions, thx @lvs1974
#### v0.8.0
- Added support for early log preservation
- Switched to Python 3 in scripts (use `python /path/to/script` to force Python 2)

View File

@ -1818,6 +1818,20 @@ mBTFeatureFlagsPatchV2 = {
.Skip = 0
};
STATIC
PATCHER_GENERIC_PATCH
mBTFeatureFlagsPatchV3 = {
.Comment = DEBUG_POINTER ("BTFeatureFlagsV3"),
.Base = "__ZN17IOBluetoothDevice25setDeviceSupportedFeatureEj",
.Find = NULL,
.Mask = NULL,
.Replace = mBTFeatureFlagsReplace,
.ReplaceMask = NULL,
.Size = sizeof (mBTFeatureFlagsReplace),
.Count = 1,
.Skip = 0
};
STATIC
EFI_STATUS
PatchBTFeatureFlags (
@ -1837,9 +1851,13 @@ PatchBTFeatureFlags (
Status = PatcherApplyGenericPatch (Patcher, &mBTFeatureFlagsPatchV1);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "OCAK: Failed to find BT FeatureFlags symbol v1 - %r, trying v2\n", Status));
Status = PatcherApplyGenericPatch (Patcher,&mBTFeatureFlagsPatchV2);
Status = PatcherApplyGenericPatch (Patcher, &mBTFeatureFlagsPatchV2);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "OCAK: Failed to find BT FeatureFlags symbol v2 - %r\n", Status));
DEBUG ((DEBUG_INFO, "OCAK: Failed to find BT FeatureFlags symbol v2 - %r, trying v3\n", Status));
Status = PatcherApplyGenericPatch (Patcher, &mBTFeatureFlagsPatchV3);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "OCAK: Failed to find BT FeatureFlags symbol v3 - %r\n", Status));
}
}
}