diff --git a/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist b/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist
index 108ec0674..766e79c77 100755
--- a/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist
+++ b/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist
@@ -1156,6 +1156,8 @@
DummyPowerManagement
+ ExtendBTFeatureFlags
+
ExternalDiskIcons
IncreasePciBarSize
diff --git a/Xcode/CloverConfigPlistValidator/config-test1.plist b/Xcode/CloverConfigPlistValidator/config-test1.plist
index 8eef8d8e6..f97478f66 100644
--- a/Xcode/CloverConfigPlistValidator/config-test1.plist
+++ b/Xcode/CloverConfigPlistValidator/config-test1.plist
@@ -1708,6 +1708,8 @@
DummyPowerManagement
+ ExtendBTFeatureFlags
+
ExternalDiskIcons
IncreasePciBarSize
diff --git a/rEFIt_UEFI/Platform/Settings.h b/rEFIt_UEFI/Platform/Settings.h
index dec19c534..36dd12872 100755
--- a/rEFIt_UEFI/Platform/Settings.h
+++ b/rEFIt_UEFI/Platform/Settings.h
@@ -2078,6 +2078,7 @@ printf("%s", "");
bool DisableLinkeditJettison = false;
// bool DisableRtcChecksum = false;
bool DummyPowerManagement = false;
+ bool ExtendBTFeatureFlags = false;
bool ExternalDiskIcons = false;
bool IncreasePciBarSize = false;
// bool LapicKernelPanic = false;
@@ -2096,6 +2097,7 @@ printf("%s", "");
if ( !(DisableIoMapper == other.DisableIoMapper) ) return false;
if ( !(DisableLinkeditJettison == other.DisableLinkeditJettison) ) return false;
if ( !(DummyPowerManagement == other.DummyPowerManagement) ) return false;
+ if ( !(ExtendBTFeatureFlags == other.ExtendBTFeatureFlags) ) return false;
if ( !(ExternalDiskIcons == other.ExternalDiskIcons) ) return false;
if ( !(IncreasePciBarSize == other.IncreasePciBarSize) ) return false;
if ( !(PowerTimeoutKernelPanic == other.PowerTimeoutKernelPanic) ) return false;
@@ -2110,6 +2112,7 @@ printf("%s", "");
DisableIoMapper = configPlist.dgetDisableIoMapper();
DisableLinkeditJettison = configPlist.dgetDisableLinkeditJettison();
DummyPowerManagement = configPlist.dgetDummyPowerManagement();
+ ExtendBTFeatureFlags = configPlist.dgetExtendBTFeatureFlags();
ExternalDiskIcons = configPlist.dgetExternalDiskIcons();
IncreasePciBarSize = configPlist.dgetIncreasePciBarSize();
PowerTimeoutKernelPanic = configPlist.dgetPowerTimeoutKernelPanic();
diff --git a/rEFIt_UEFI/Settings/ConfigPlist/Config_Quirks.h b/rEFIt_UEFI/Settings/ConfigPlist/Config_Quirks.h
index fa3df8d7c..99abc8631 100755
--- a/rEFIt_UEFI/Settings/ConfigPlist/Config_Quirks.h
+++ b/rEFIt_UEFI/Settings/ConfigPlist/Config_Quirks.h
@@ -59,6 +59,7 @@ public:
XmlBool DisableIoMapper = XmlBool();
XmlBool DisableLinkeditJettison = XmlBool();
XmlBool DummyPowerManagement = XmlBool();
+ XmlBool ExtendBTFeatureFlags = XmlBool();
XmlBool ExternalDiskIcons = XmlBool();
XmlBool IncreasePciBarSize = XmlBool();
XmlBool PowerTimeoutKernelPanic = XmlBool();
@@ -70,6 +71,7 @@ public:
bool dgetDisableIoMapper() const { return DisableIoMapper.isDefined() ? DisableIoMapper.value() : DisableIoMapper.nullValue; };
bool dgetDisableLinkeditJettison() const { return DisableLinkeditJettison.isDefined() ? DisableLinkeditJettison.value() : DisableLinkeditJettison.nullValue; };
bool dgetDummyPowerManagement() const { return DummyPowerManagement.isDefined() ? DummyPowerManagement.value() : DummyPowerManagement.nullValue; };
+ bool dgetExtendBTFeatureFlags() const { return ExtendBTFeatureFlags.isDefined() ? ExtendBTFeatureFlags.value() : ExtendBTFeatureFlags.nullValue; };
bool dgetExternalDiskIcons() const { return ExternalDiskIcons.isDefined() ? ExternalDiskIcons.value() : ExternalDiskIcons.nullValue; };
bool dgetIncreasePciBarSize() const { return IncreasePciBarSize.isDefined() ? IncreasePciBarSize.value() : IncreasePciBarSize.nullValue; };
bool dgetPowerTimeoutKernelPanic() const { return PowerTimeoutKernelPanic.isDefined() ? PowerTimeoutKernelPanic.value() : PowerTimeoutKernelPanic.nullValue; };
@@ -130,7 +132,7 @@ public:
OcKernelQuirks_Class OcKernelQuirks;
OcBooterQuirks_Class OcBooterQuirks;
- XmlDictField m_fields[30] = {
+ XmlDictField m_fields[31] = {
{"AvoidRuntimeDefrag", OcBooterQuirks.AvoidRuntimeDefrag},
{"DevirtualiseMmio", OcBooterQuirks.DevirtualiseMmio},
{"DisableSingleUser", OcBooterQuirks.DisableSingleUser},
@@ -156,6 +158,7 @@ public:
{"DisableIoMapper", OcKernelQuirks.DisableIoMapper},
{"DisableLinkeditJettison", OcKernelQuirks.DisableLinkeditJettison},
{"DummyPowerManagement", OcKernelQuirks.DummyPowerManagement},
+ {"ExtendBTFeatureFlags", OcKernelQuirks.ExtendBTFeatureFlags},
{"ExternalDiskIcons", OcKernelQuirks.ExternalDiskIcons},
{"IncreasePciBarSize", OcKernelQuirks.IncreasePciBarSize},
{"PowerTimeoutKernelPanic", OcKernelQuirks.PowerTimeoutKernelPanic},
diff --git a/rEFIt_UEFI/refit/main.cpp b/rEFIt_UEFI/refit/main.cpp
index a3ad70715..616a8bbb9 100644
--- a/rEFIt_UEFI/refit/main.cpp
+++ b/rEFIt_UEFI/refit/main.cpp
@@ -1060,6 +1060,7 @@ void LOADER_ENTRY::StartLoader()
mOpenCoreConfiguration.Kernel.Quirks.DisableLinkeditJettison = gSettings.Quirks.OcKernelQuirks.DisableLinkeditJettison;
mOpenCoreConfiguration.Kernel.Quirks.DisableRtcChecksum = gSettings.KernelAndKextPatches.KPAppleRTC;
mOpenCoreConfiguration.Kernel.Emulate.DummyPowerManagement = gSettings.Quirks.OcKernelQuirks.DummyPowerManagement;
+ mOpenCoreConfiguration.Kernel.Quirks.ExtendBTFeatureFlags = gSettings.Quirks.OcKernelQuirks.ExtendBTFeatureFlags;
mOpenCoreConfiguration.Kernel.Quirks.ExternalDiskIcons = gSettings.Quirks.OcKernelQuirks.ExternalDiskIcons;
mOpenCoreConfiguration.Kernel.Quirks.IncreasePciBarSize = gSettings.Quirks.OcKernelQuirks.IncreasePciBarSize;
mOpenCoreConfiguration.Kernel.Quirks.LapicKernelPanic = gSettings.KernelAndKextPatches.KPKernelLapic;
@@ -1602,7 +1603,7 @@ void LOADER_ENTRY::StartLoader()
LoadedImage->LoadOptionsSize = (UINT32)LoadOptionsAsXStringW.sizeInBytesIncludingTerminator();
DBG("Kernel quirks\n");
- DBG("ACPCL %d AXCL %d AXEM %d AXFB %d CSG %d DIM %d DLJ %d DRC %d DPM %d EDI %d IPBS %d LKP %d PNKD %d PTKP %d TPD %d XPL %d\n",
+ DBG("ACPCL %d AXCL %d AXEM %d AXFB %d CSG %d DIM %d DLJ %d DRC %d DPM %d EBTFF %d EDI %d IPBS %d LKP %d PNKD %d PTKP %d TPD %d XPL %d\n",
mOpenCoreConfiguration.Kernel.Quirks.AppleCpuPmCfgLock,
mOpenCoreConfiguration.Kernel.Quirks.AppleXcpmCfgLock,
mOpenCoreConfiguration.Kernel.Quirks.AppleXcpmExtraMsrs,
@@ -1612,6 +1613,7 @@ void LOADER_ENTRY::StartLoader()
mOpenCoreConfiguration.Kernel.Quirks.DisableLinkeditJettison,
mOpenCoreConfiguration.Kernel.Quirks.DisableRtcChecksum,
mOpenCoreConfiguration.Kernel.Emulate.DummyPowerManagement,
+ mOpenCoreConfiguration.Kernel.Quirks.ExtendBTFeatureFlags,
mOpenCoreConfiguration.Kernel.Quirks.ExternalDiskIcons,
mOpenCoreConfiguration.Kernel.Quirks.IncreasePciBarSize,
mOpenCoreConfiguration.Kernel.Quirks.LapicKernelPanic,