diff --git a/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist b/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist
index a4bc523b4..d3eb4a235 100644
--- a/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist
+++ b/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist
@@ -1104,7 +1104,24 @@
ForceExitBootServices
MmioWhitelist
-
+
+
+ Address
+ 4275159040
+ Comment
+ Haswell: SB_RCBA is a 0x4 page memory region, containing SPI_BASE at 0x3800 (SPI_BASE_ADDRESS)
+ Enabled
+
+
+
+ Address
+ 4278190080
+ Comment
+ Generic: PCI root is a 0x1000 page memory region used by some firmwares
+ Enabled
+
+
+
ProtectMemoryRegions
ProtectSecureBoot
@@ -1125,6 +1142,42 @@
SyncRuntimePermissions
+ FuzzyMatch
+
+ KernelCache
+ Auto
+ AppleCpuPmCfgLock
+
+ AppleXcpmCfgLock
+
+ AppleXcpmExtraMsrs
+
+ AppleXcpmForceBoost
+
+ CustomSMBIOSGuid
+
+ DisableIoMapper
+
+ DisableLinkeditJettison
+
+ DisableRtcChecksum
+
+ DummyPowerManagement
+
+ ExternalDiskIcons
+
+ IncreasePciBarSize
+
+ LapicKernelPanic
+
+ PanicNoKextDump
+
+ PowerTimeoutKernelPanic
+
+ ThirdPartyDrives
+
+ XhciPortLimit
+
diff --git a/Xcode/Clover/Clover.xcodeproj/project.pbxproj b/Xcode/Clover/Clover.xcodeproj/project.pbxproj
index 93c86a003..8d2c9b1cf 100644
--- a/Xcode/Clover/Clover.xcodeproj/project.pbxproj
+++ b/Xcode/Clover/Clover.xcodeproj/project.pbxproj
@@ -91,13 +91,11 @@
A5456D6F23FC5B08000BF18C /* DevicePath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D4223FC5B05000BF18C /* DevicePath.cpp */; };
A5456D7123FC5B08000BF18C /* device_inject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D4523FC5B07000BF18C /* device_inject.cpp */; };
A5456D7223FC5B08000BF18C /* DataHubCpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D4623FC5B07000BF18C /* DataHubCpu.cpp */; };
- A5456D7D23FC5B40000BF18C /* IO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D7623FC5B3D000BF18C /* IO.cpp */; };
A5456D7E23FC5B40000BF18C /* icns.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D7723FC5B3E000BF18C /* icns.cpp */; };
A5456D7F23FC5B40000BF18C /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D7823FC5B3E000BF18C /* main.cpp */; };
A5456D8023FC5B40000BF18C /* lib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D7923FC5B3F000BF18C /* lib.cpp */; };
A5456D8123FC5B40000BF18C /* menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D7A23FC5B3F000BF18C /* menu.cpp */; };
A5456D8223FC5B40000BF18C /* screen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D7B23FC5B3F000BF18C /* screen.cpp */; };
- A5456D8323FC5B40000BF18C /* list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D7C23FC5B40000BF18C /* list.cpp */; };
A5456D9023FC5B72000BF18C /* globals_dtor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D8423FC5B6D000BF18C /* globals_dtor.cpp */; };
A5456D9123FC5B72000BF18C /* globals_ctor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D8523FC5B6E000BF18C /* globals_ctor.cpp */; };
A5456D9323FC5B72000BF18C /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5456D8A23FC5B70000BF18C /* memory.cpp */; };
@@ -2379,16 +2377,12 @@
A5456D4523FC5B07000BF18C /* device_inject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = device_inject.cpp; sourceTree = ""; };
A5456D4623FC5B07000BF18C /* DataHubCpu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DataHubCpu.cpp; sourceTree = ""; };
A5456D4723FC5B08000BF18C /* AmlGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AmlGenerator.h; sourceTree = ""; };
- A5456D7323FC5B3C000BF18C /* IO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IO.h; sourceTree = ""; };
A5456D7423FC5B3C000BF18C /* lib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lib.h; sourceTree = ""; };
- A5456D7523FC5B3D000BF18C /* list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = ""; };
- A5456D7623FC5B3D000BF18C /* IO.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IO.cpp; sourceTree = ""; };
A5456D7723FC5B3E000BF18C /* icns.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = icns.cpp; sourceTree = ""; };
A5456D7823FC5B3E000BF18C /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; };
A5456D7923FC5B3F000BF18C /* lib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lib.cpp; sourceTree = ""; };
A5456D7A23FC5B3F000BF18C /* menu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = menu.cpp; sourceTree = ""; };
A5456D7B23FC5B3F000BF18C /* screen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = screen.cpp; sourceTree = ""; };
- A5456D7C23FC5B40000BF18C /* list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = list.cpp; sourceTree = ""; };
A5456D8423FC5B6D000BF18C /* globals_dtor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = globals_dtor.cpp; sourceTree = ""; };
A5456D8523FC5B6E000BF18C /* globals_ctor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = globals_ctor.cpp; sourceTree = ""; };
A5456D8623FC5B6E000BF18C /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = ""; };
@@ -8979,12 +8973,8 @@
isa = PBXGroup;
children = (
A5456D7723FC5B3E000BF18C /* icns.cpp */,
- A5456D7623FC5B3D000BF18C /* IO.cpp */,
- A5456D7323FC5B3C000BF18C /* IO.h */,
A5456D7923FC5B3F000BF18C /* lib.cpp */,
A5456D7423FC5B3C000BF18C /* lib.h */,
- A5456D7C23FC5B40000BF18C /* list.cpp */,
- A5456D7523FC5B3D000BF18C /* list.h */,
A5456D7823FC5B3E000BF18C /* main.cpp */,
A570FAFE240BA4D00057F26D /* menu.h */,
A5456D7A23FC5B3F000BF18C /* menu.cpp */,
@@ -24438,7 +24428,6 @@
A5AAFCBA237F13B4009CD413 /* UsbMouse.c in Sources */,
A5AA0669237F13C2009CD413 /* SetMem.S in Sources */,
A5AAFC62237F13B3009CD413 /* PciBus.c in Sources */,
- A5456D8323FC5B40000BF18C /* list.cpp in Sources */,
A5AA0622237F13C2009CD413 /* ScanMem32Wrapper.c in Sources */,
A5AAFC0D237F13B3009CD413 /* ConfigRouting.c in Sources */,
A5AA05D5237F13C1009CD413 /* LRotU32.c in Sources */,
@@ -25630,7 +25619,6 @@
A5AAFBB4237F13B3009CD413 /* unicode_unfold_key.c in Sources */,
A5AA0581237F13C1009CD413 /* Monitor.nasm in Sources */,
A5AAFB9D237F13B3009CD413 /* unicode.c in Sources */,
- A5456D7D23FC5B40000BF18C /* IO.cpp in Sources */,
A5AAFB73237F13B3009CD413 /* S3Asm.nasm in Sources */,
A5AA06B7237F13C2009CD413 /* SetMem32.nasm in Sources */,
A5456D5723FC5B08000BF18C /* usbfix.cpp in Sources */,
diff --git a/rEFIt_UEFI/Platform/Console.cpp b/rEFIt_UEFI/Platform/Console.cpp
index 861dd1bd5..4b77fc58c 100644
--- a/rEFIt_UEFI/Platform/Console.cpp
+++ b/rEFIt_UEFI/Platform/Console.cpp
@@ -21,6 +21,11 @@
#include // Only use angled for Platform, else, xcode project won't compile
+extern "C" {
+//#include "../../OpenCorePkg/Include/Acidanthera/OpenCore.h"
+//#include "../../OpenCorePkg/Include/Acidanthera/Library/OcConsoleLib.h"
+}
+
STATIC EFI_CONSOLE_CONTROL_SCREEN_MODE CurrentMode = EfiConsoleControlScreenText;
EFI_STATUS
diff --git a/rEFIt_UEFI/include/Efi.h b/rEFIt_UEFI/include/Efi.h
index e78d84f89..af73b2a2c 100644
--- a/rEFIt_UEFI/include/Efi.h
+++ b/rEFIt_UEFI/include/Efi.h
@@ -92,17 +92,17 @@ extern "C" {
#include
#include
-#include
+//#include
#include
#include
#include
+#include "../../OpenCorePkg/Include/Acidanthera/Library/OcConsoleLib.h"
#ifdef __cplusplus
}
#endif
-
#define EFI_SYSTEM_TABLE_MAX_ADDRESS 0xFFFFFFFF
diff --git a/rEFIt_UEFI/refit/main.cpp b/rEFIt_UEFI/refit/main.cpp
index 86d9a0838..01088a542 100644
--- a/rEFIt_UEFI/refit/main.cpp
+++ b/rEFIt_UEFI/refit/main.cpp
@@ -74,6 +74,7 @@
extern "C" {
#include "../../OpenCorePkg/Include/Acidanthera/OpenCore.h"
+#include "../../OpenCorePkg/Include/Acidanthera/Library/OcConsoleLib.h"
}
#ifndef DEBUG_ALL
@@ -1063,13 +1064,13 @@ DBG("Beginning OC\n");
DBG("Bridge kext patch to OC : %s\n", kextPatch.Label.c_str());
mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx] = (__typeof_am__(*mOpenCoreConfiguration.Kernel.Patch.Values))AllocateZeroPool(mOpenCoreConfiguration.Kernel.Patch.ValueSize); // sizeof(OC_KERNEL_ADD_ENTRY) == 680
OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Arch, OC_BLOB_GET(&mOpenCoreConfiguration.Kernel.Scheme.KernelArch));
- OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Base, "");
+ OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Base, kextPatch.ProcedureName.c_str());
OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Comment, kextPatch.Label.c_str());
mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Count = 0;
mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Enabled = 1;
OC_STRING_ASSIGN_N(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Find, kextPatch.Data.data(), kextPatch.Data.size());
- OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Identifier, "kernel");
+ OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Identifier, kextPatch.Name.c_str());
mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Limit = (UINT32)kextPatch.Count;
OC_STRING_ASSIGN_N(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->Mask, kextPatch.MaskFind.vdata(), kextPatch.MaskFind.size());
OC_STRING_ASSIGN(mOpenCoreConfiguration.Kernel.Patch.Values[kextPatchIdx]->MaxKernel, ""); // it has been filtered, so we don't need to set Min and MaxKernel
@@ -1086,7 +1087,8 @@ DBG("Beginning OC\n");
#endif
- mOpenCoreConfiguration.Uefi.Output.ProvideConsoleGop = gSettings.ProvideConsoleGop;
+ mOpenCoreConfiguration.Uefi.Output.ProvideConsoleGop = FALSE; //gSettings.ProvideConsoleGop;
+ OcProvideConsoleGop(gSettings.ProvideConsoleGop);
OC_STRING_ASSIGN(mOpenCoreConfiguration.Uefi.Output.Resolution, XString8(GlobalConfig.ScreenResolution).c_str());
OcMain(&mOpenCoreStorage, NULL);