diff --git a/Clover.dsc b/Clover.dsc index cbf1ae3f9..55f32fa20 100644 --- a/Clover.dsc +++ b/Clover.dsc @@ -771,7 +771,7 @@ FSInject/FSInject.inf Protocols/MsgLog/MsgLog.inf Protocols/SMCHelper/SMCHelper.inf - Protocols/FirmwareVolume/FirmwareVolume.inf + #Protocols/FirmwareVolume/FirmwareVolume.inf Protocols/AppleImageCodec/AppleImageCodec.inf #Protocols/AppleUITheme/AppleUITheme.inf Protocols/HashServiceFix/HashServiceFix.inf diff --git a/CloverEFI/OsxSmbiosGenDxe/SmbiosGen.c b/CloverEFI/OsxSmbiosGenDxe/SmbiosGen.c index c601e4127..3300cbbc2 100644 --- a/CloverEFI/OsxSmbiosGenDxe/SmbiosGen.c +++ b/CloverEFI/OsxSmbiosGenDxe/SmbiosGen.c @@ -228,7 +228,7 @@ SmbiosGenEntrypoint ( SmbiosGenDxeStrings, NULL ); - ASSERT (gStringHandle != NULL); +// ASSERT (gStringHandle != NULL); InstallProcessorSmbios (Smbios); InstallCacheSmbios (Smbios); diff --git a/CloverPackage/package/buildpkg.sh b/CloverPackage/package/buildpkg.sh index d0e4c6ba9..c6dc57ac2 100755 --- a/CloverPackage/package/buildpkg.sh +++ b/CloverPackage/package/buildpkg.sh @@ -967,13 +967,13 @@ if [[ -d "${SRCROOT}/CloverV2/EFI/CLOVER/drivers/$DRIVERS_OFF/$DRIVERS_LEGACY/Fi packageRefId=$(getPackageRefId "${packagesidentity}" "${driverName}") # Add postinstall script for old FileVault2 drivers to remove it if AppleUiSupport driver exists - if [[ "$driver" == AppleImageCodec* || "$driver" == AppleKeyAggregator* || - "$driver" == AppleUITheme* || "$driver" == FirmwareVolume* || "$driver" == HashServiceFix* ]]; then - addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ - --subst="DRIVER_NAME=$driver" \ - --subst="DRIVER_DIR=$(basename $driverDestDir)" \ - "AppleUiSupport" - fi +# if [[ "$driver" == AppleImageCodec* || "$driver" == AppleKeyAggregator* || +# "$driver" == AppleUITheme* || "$driver" == FirmwareVolume* || "$driver" == HashServiceFix* ]]; then +# addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ +# --subst="DRIVER_NAME=$driver" \ +# --subst="DRIVER_DIR=$(basename $driverDestDir)" \ +# "AppleUiSupport" +# fi addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ --subst="INSTALLER_CHOICE=$packageRefId" MarkChoice @@ -1197,13 +1197,13 @@ if [[ -d "${SRCROOT}/CloverV2/EFI/CLOVER/drivers/$DRIVERS_OFF/$DRIVERS_UEFI/File packageRefId=$(getPackageRefId "${packagesidentity}" "${driverName}") # Add postinstall script for old FileVault2 drivers to remove it if AppleUiSupport driver exists - if [[ "$driver" == AppleImageCodec* || "$driver" == AppleKeyAggregator* || - "$driver" == AppleUITheme* || "$driver" == FirmwareVolume* || "$driver" == HashServiceFix* ]]; then - addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ - --subst="DRIVER_NAME=$driver" \ - --subst="DRIVER_DIR=$(basename $driverDestDir)" \ - "AppleUiSupport" - fi +# if [[ "$driver" == AppleImageCodec* || "$driver" == AppleKeyAggregator* || +# "$driver" == AppleUITheme* || "$driver" == FirmwareVolume* || "$driver" == HashServiceFix* ]]; then +# addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ +# --subst="DRIVER_NAME=$driver" \ +# --subst="DRIVER_DIR=$(basename $driverDestDir)" \ +# "AppleUiSupport" +# fi addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ --subst="INSTALLER_CHOICE=$packageRefId" MarkChoice buildpackage "$packageRefId" "${driverName}" "${PKG_BUILD_DIR}/${driverName}" "${driverDestDir}" diff --git a/Protocols/FirmwareVolume/FirmwareVolume.c b/Protocols/FirmwareVolume/FirmwareVolume.c index 4d9121483..01f9dd7b2 100644 --- a/Protocols/FirmwareVolume/FirmwareVolume.c +++ b/Protocols/FirmwareVolume/FirmwareVolume.c @@ -15,7 +15,8 @@ //#include #include -EFI_HANDLE mHandle = NULL; + +EFI_HANDLE mHandle2 = NULL; typedef struct { EFI_GUID Guid; @@ -406,7 +407,7 @@ FVEntrypoint (IN EFI_HANDLE ImageHandle, if (EFI_ERROR(Status)) { Status = gBS->InstallMultipleProtocolInterfaces ( - &mHandle, + &mHandle2, &gEfiFirmwareVolumeProtocolGuid, &FirmwareVolume, NULL diff --git a/ebuild.sh b/ebuild.sh index 98ef5b7b6..32a7511ff 100755 --- a/ebuild.sh +++ b/ebuild.sh @@ -805,7 +805,7 @@ MainPostBuildScript() { copyBin "$BUILD_DIR_ARCH"/$efi.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers/$DRIVERS_LEGACY/$efi.efi done - binArray=( AppleImageCodec AppleKeyAggregator FirmwareVolume ) + binArray=( AppleImageCodec AppleKeyAggregator ) for efi in "${binArray[@]}" do copyBin "$BUILD_DIR_ARCH"/$efi.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers/$DRIVERS_OFF/$DRIVERS_LEGACY/FileVault2/$efi.efi @@ -829,7 +829,7 @@ MainPostBuildScript() { copyBin "$BUILD_DIR_ARCH"/$efi.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers/$DRIVERS_UEFI/$efi.efi done - binArray=( AppleImageCodec AppleKeyAggregator FirmwareVolume ) + binArray=( AppleImageCodec AppleKeyAggregator ) for efi in "${binArray[@]}" do copyBin "$BUILD_DIR_ARCH"/$efi.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers/$DRIVERS_OFF/$DRIVERS_UEFI/FileVault2/$efi.efi diff --git a/hebuild.sh b/hebuild.sh index 6c1a77f4f..09edca86a 100755 --- a/hebuild.sh +++ b/hebuild.sh @@ -781,7 +781,7 @@ MainPostBuildScript() { copyBin "$BUILD_DIR_ARCH"/$efi.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers/$DRIVERS_LEGACY/$efi.efi done - binArray=( AppleImageCodec AppleKeyAggregator FirmwareVolume ) + binArray=( AppleImageCodec AppleKeyAggregator ) for efi in "${binArray[@]}" do copyBin "$BUILD_DIR_ARCH"/$efi.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers/$DRIVERS_OFF/$DRIVERS_LEGACY/FileVault2/$efi.efi @@ -804,7 +804,7 @@ MainPostBuildScript() { copyBin "$BUILD_DIR_ARCH"/$efi.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers/$DRIVERS_UEFI/$efi.efi done - binArray=( AppleImageCodec AppleKeyAggregator FirmwareVolume ) + binArray=( AppleImageCodec AppleKeyAggregator ) for efi in "${binArray[@]}" do copyBin "$BUILD_DIR_ARCH"/$efi.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers/$DRIVERS_OFF/$DRIVERS_UEFI/FileVault2/$efi.efi diff --git a/rEFIt_UEFI/Platform/Injectors.cpp b/rEFIt_UEFI/Platform/Injectors.cpp index 6933cf113..de624f7a6 100644 --- a/rEFIt_UEFI/Platform/Injectors.cpp +++ b/rEFIt_UEFI/Platform/Injectors.cpp @@ -23,6 +23,8 @@ #include "Injectors.h" #include "../Platform/Settings.h" +#include + #ifndef DEBUG_ALL #define DEBUG_PRO 1 #else @@ -366,7 +368,7 @@ STATIC APPLE_USER_INTERFACE_THEME_PROTOCOL mAppleUserInterfaceThemeProtocol = { }; - +extern EFI_FIRMWARE_VOLUME_PROTOCOL FirmwareVolume; EFI_STATUS SetPrivateVarProto(void) @@ -385,8 +387,11 @@ SetPrivateVarProto(void) &mKeyboardInfo, &gAppleUserInterfaceThemeProtocolGuid, &mAppleUserInterfaceThemeProtocol, + &gEfiFirmwareVolumeProtocolGuid, + &FirmwareVolume, NULL ); + //obligatory protocol Status = gBS->InstallProtocolInterface (&gImageHandle, &gEfiDevicePathPropertyDatabaseProtocolGuid, diff --git a/rEFIt_UEFI/refit.inf b/rEFIt_UEFI/refit.inf index 51d9d1d4b..dc56e2663 100644 --- a/rEFIt_UEFI/refit.inf +++ b/rEFIt_UEFI/refit.inf @@ -393,6 +393,8 @@ Settings/Self.h Settings/SelfOem.cpp Settings/SelfOem.h + ../Protocols/FirmwareVolume/FirmwareVolume.c + [Sources.IA32] PlatformIA32/ftol.asm | MSFT @@ -528,6 +530,7 @@ gEfiOSInfoProtocolGuid gEfiKeyboardInfoProtocolGuid gAppleUserInterfaceThemeProtocolGuid + gEfiFirmwareVolumeProtocolGuid gFSInjectProtocolGuid gMsgLogProtocolGuid diff --git a/rEFIt_UEFI/refit/main.cpp b/rEFIt_UEFI/refit/main.cpp index f82374434..f1909693b 100644 --- a/rEFIt_UEFI/refit/main.cpp +++ b/rEFIt_UEFI/refit/main.cpp @@ -86,6 +86,7 @@ #include "../include/OC.h" + #ifndef DEBUG_ALL # ifdef DEBUG_ERALY_CRASH # define DEBUG_MAIN 2 @@ -121,7 +122,7 @@ XBool gGuiIsReady = false; XBool gThemeNeedInit = true; XBool DoHibernateWake = false; -UINT32 mCurrentColor; +UINT32 mCurrentColor; //EFI_HANDLE ConsoleInHandle; //EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL* SimpleTextEx; @@ -831,6 +832,15 @@ void LOADER_ENTRY::StartLoader() //debugStartImageWithOC(); +// check exists + // void *ExistingFirmwareVolume; + + // Status = gBS->LocateProtocol (gEfiFirmwareVolumeProtocolGuid, NULL, (VOID **)&ExistingFirmwareVolume); + // if (EFI_ERROR(Status)) { + // DBG ("FirmwareVolumeProtocol is not installed\n"); + // } else { + // DBG ("FirmwareVolumeProtocol is installed\n"); + // } DBG("Beginning OC\n");