diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit | |
download | zprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz |
Diffstat (limited to 'Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit')
7 files changed, 1235 insertions, 0 deletions
diff --git a/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.c b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.c new file mode 100644 index 0000000..87b9146 --- /dev/null +++ b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.c @@ -0,0 +1,626 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.c 9 5/13/14 4:55a Joshchou $ +// +// $Revision: 9 $ +// +// $Date: 5/13/14 4:55a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.c $ +// +// 9 5/13/14 4:55a Joshchou +// [TAG] EIP167032 +// [Category] Improvement +// [Description] Review the variable's attribute, we shouldn't use +// runtime attribute with setup variable. +// [Files] RapidStartDxePolicyInit.h +// RapidStartDxePolicyInit.c +// RapidStartDxePolicyInit.cif +// +// 8 6/21/13 5:59a Joshchou +// [TAG] EIP126792 +// [Category] Bug Fix +// [Severity] Minor +// [Symptom] Can't do AMI capsule when Intel Rapid Start eanble +// [RootCause] CMOS RapidStartFlag does not clear. +// [Solution] Clear RapidStartFlag when cold boot. +// +// 7 1/15/13 4:44a Bensonlai +// [TAG] EIP112263 +// [Category] Bug Fix +// [Severity] Normal +// [Symptom] [RapidStart] Instant-on can't work +// [RootCause] Intel reference code can't work on AMI base. +// [Solution] Modified the PeiGfxDriver.dxs and RapidStartDxe.dxs for +// AMI code +// [Files] RapidStartDxePolicyInit.c, RapidStartSetup.uni, +// RapidStartSetup.sdl, RapidStartSetup.sd, PeiGfxDriver.dxs, +// RapidStartDxe.dxs +// +// 6 1/13/13 7:46a Bensonlai +// [TAG] EIPNone +// [Category] Improvement +// [Description] Disabling the RapidStart while STAT mode in the IDE +// mode +// [Files] RapidStartDxePolicyInit.c, RapidStartDxePolicyInit.h, +// RapidStartDxePolicyInit.mak, RapidStartSetup.c, RapidStartSetup.mak, +// RapidStartSetup.sd, RapidStartSetup.sdl +// +// 5 12/11/12 10:59p Bensonlai +// [TAG] None +// [Category] Improvement +// [Description] Removed unused code +// [Files] RapidStartDxePolicyInit.c +// +// 4 12/07/12 1:15a Bensonlai +// [TAG] None +// [Category] Bug Fix +// [Severity] Normal +// [Symptom] When installed memory size less than HDD partition size of +// teh RapidStart, it still can work. +// [RootCause] The RAPID_START_PERSISTENT_DATA wasn't updated in the +// BdsAllDriversConnectedCallback(). +// [Solution] Get the real total size of memory directly. +// [Files] RapidStartDxePolicyInit.c, RapidStartDxePolicyInit.h, +// RapidStartDxePolicyInit.mak +// +// 3 12/03/12 2:12a Bensonlai +// [TAG] EIP107865 +// [Category] Bug Fix +// [Severity] Normal +// [Symptom] While system has no disk drives, we still free the null +// pointer IdentifyDriveInfo/HandleBuffer and that will cause an assert +// error with DEBUG_MODE=1. +// [Solution] Improved the function of SsdDetection. +// +// 2 11/15/12 12:24a Bensonlai +// [TAG] None +// [Category] Improvement +// [Description] Move the RAPID_START_PARTITION_DETECT_BEFORE_SETUP to +// RapidStartDxePolicyInit.c +// +// 1 10/15/12 4:40a Bensonlai +// [TAG] None +// [Category] Improvement +// [Description] [Category] Improvement +// [Severity] Important +// [Description] Rename all IFFS sting to Rapid Start. +// [Files] Board\EM\RapidStartWrapper\*.*, ReferenceCode\RapidStart\*.* +// +// [Category] Improvement +// [Severity] Important +// [Description] Implementation of the LOCK_DISABLE_RAPID_START_IF_NO_SSD +// using EDKII. +// [Files] Board\EM\RapidStartWrapper\Dxe\RapidStartDxePolicyInit\*.* +// [Files] RapidStartDxePolicyInit.cif +// RapidStartDxePolicyInit.sdl +// RapidStartDxePolicyInit.mak +// RapidStartDxePolicyInit.h +// RapidStartDxePolicyInit.c +// RapidStartDxePolicyInit.dxs +// RapidStartDxePolicyInit.inf +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: RapidStartDxePolicyInit.c +// +// Description: This file is a wrapper for Intel RapidStart Platform Policy driver. +// Get Setup Value to initilize Intel DXE Platform Policy. +// +//<AMI_FHDR_END> +//********************************************************************** + +#include "RapidStartDxePolicyInit.h" + +RAPID_START_PLATFORM_POLICY_PROTOCOL mDxePlatformRapidStartPolicy; +EFI_GUID gRapidStartPlatformPolicyProtocolGuid = RAPID_START_PLATFORM_POLICY_PROTOCOL_GUID; + +// +// Function implementations +// +#if LOCK_DISABLE_RAPID_START_IF_NO_SSD +BOOLEAN SsdDetection ( + VOID +) +{ + EFI_STATUS Status; + UINTN HandleCount; + EFI_HANDLE *HandleBuffer; + UINT8 Index; + PCI_DEVICE_PATH *PciDevicePath; + EFI_DEVICE_PATH_PROTOCOL *DevicePath; + EFI_DEVICE_PATH_PROTOCOL *DevicePathNode; + EFI_DISK_INFO_PROTOCOL *DiskInfo; + EFI_IDENTIFY_DATA *IdentifyDriveInfo; + UINT32 BufferSize = 0; + + Status = gBS->LocateHandleBuffer ( ByProtocol, \ + &gEfiDiskInfoProtocolGuid, \ + NULL, \ + &HandleCount, \ + &HandleBuffer \ + ); + + if ( EFI_ERROR(Status) ) return FALSE; + + for (Index = 0; Index < HandleCount; Index++) { + Status = gBS->HandleProtocol ( HandleBuffer[Index], \ + &gEfiDevicePathProtocolGuid, \ + (VOID *) &DevicePath \ + ); + + if ( EFI_ERROR(Status) ) { + continue; + } + + DevicePathNode = DevicePath; + while (!IsDevicePathEnd (DevicePathNode)) { + if ((DevicePathType (DevicePathNode) == HARDWARE_DEVICE_PATH) && + (DevicePathSubType (DevicePathNode) == HW_PCI_DP) + ) { + PciDevicePath = (PCI_DEVICE_PATH *) DevicePathNode; + break; + } + + DevicePathNode = NextDevicePathNode (DevicePathNode); + } + + + if (PciDevicePath == NULL) continue; + + if ( ((PciDevicePath->Device == PCI_DEVICE_NUMBER_PCH_SATA) && (PciDevicePath->Function == PCI_FUNCTION_NUMBER_PCH_SATA)) || + ((PciDevicePath->Device == PCI_DEVICE_NUMBER_PCH_SATA) && (PciDevicePath->Function == PCI_FUNCTION_NUMBER_PCH_SATA2)) ) { + + Status = gBS->HandleProtocol ( HandleBuffer[Index], \ + &gEfiDiskInfoProtocolGuid, \ + &DiskInfo \ + ); + + if ( EFI_ERROR(Status) ) { + continue; + } + + BufferSize = sizeof (EFI_IDENTIFY_DATA); + IdentifyDriveInfo = AllocatePool (BufferSize); + if (IdentifyDriveInfo == NULL) { + FreePool (HandleBuffer); + return FALSE; + } + + Status = DiskInfo->Identify ( + DiskInfo, + IdentifyDriveInfo, + &BufferSize + ); + + if ( EFI_ERROR(Status) ) { + FreePool (IdentifyDriveInfo); + continue; + } + + if (IdentifyDriveInfo->AtaData.reserved_160_255[57] == 0x0001) { + FreePool (IdentifyDriveInfo); + FreePool (HandleBuffer); + return TRUE; + } + + FreePool (IdentifyDriveInfo); + } + } + + if (HandleCount > 0) { + FreePool (HandleBuffer); + } + return FALSE; +} + +VOID +SsdDetectionCallback ( + IN EFI_EVENT Event, + IN VOID *Context +) +{ + + EFI_STATUS Status; + UINTN VariableSize; + SETUP_DATA SetupData; + UINT32 Attributes = 0; + + VariableSize = sizeof( SETUP_DATA ); + Status = gRT->GetVariable( L"Setup", \ + &SetupGuid, \ + &Attributes, \ + &VariableSize, \ + &SetupData ); + + if ( EFI_ERROR(Status) ) { + gBS->CloseEvent (Event); + ASSERT_EFI_ERROR (Status); + return; + } + + if (!SsdDetection()) { + SetupData.RapidStartLock = 1; + SetupData.RapidStartEnabled = 0; + } else { + SetupData.RapidStartLock = 0; + } + + Status = gRT->SetVariable( L"Setup", \ + &SetupGuid, \ + Attributes, \ + sizeof (SETUP_DATA), \ + &SetupData + ); + + if ( EFI_ERROR(Status) ) { + gBS->CloseEvent (Event); + ASSERT_EFI_ERROR (Status); + return; + } + + gBS->CloseEvent (Event); +} + +VOID +SsdDetectionRegisterCallBack ( + VOID +) +{ + EFI_EVENT Event; + VOID *NotifyReg; + EFI_STATUS Status; + + Status = gBS->CreateEvent ( + EFI_EVENT_NOTIFY_SIGNAL, + EFI_TPL_CALLBACK, + SsdDetectionCallback, + NULL, + &Event + ); + + if ( EFI_ERROR(Status) ) { + ASSERT_EFI_ERROR (Status); + return; + } + + Status = gBS->RegisterProtocolNotify ( + &gNotifyProtocolGuid , + Event, + &NotifyReg + ); + + if ( EFI_ERROR(Status) ) { + ASSERT_EFI_ERROR (Status); + return; + } + + return; +} +#endif + +#ifdef RAPID_START_PARTITION_DETECT_BEFORE_SETUP +VOID +BdsAllDriversConnectedCallback ( + IN EFI_EVENT Event, + IN VOID *Context +) +{ + EFI_STATUS Status; + EFI_GUID RapidStartPartitionProtocolGuid = RAPID_START_PARTITION_STATUS_PROTOCOL_GUID; + RAPID_START_PERSISTENT_DATA *mRapidStartData; + UINTN MchBase; + + mRapidStartData = AllocateZeroPool (sizeof(RAPID_START_PERSISTENT_DATA)); + if (mRapidStartData == NULL) { + return; + } + + MchBase = MmPciAddress (0, SA_MC_BUS, SA_MC_DEV, SA_MC_FUN, 0); + mRapidStartData->Tolm = MmioRead32 (MchBase + R_SA_BDSM) & B_SA_BDSM_BDSM_MASK; + mRapidStartData->Tohm = MmioRead64 (MchBase + R_SA_TOUUD) & B_SA_TOUUD_TOUUD_MASK; + /// + /// Calculate total size of memory to be stored + /// + mRapidStartData->TotalMem = mRapidStartData->Tolm; + if (mRapidStartData->Tohm > MEM_EQU_4GB) { + mRapidStartData->TotalMem += mRapidStartData->Tohm - MEM_EQU_4GB; + } + + // + // Rapid Start has been enabled, check if Rapid Start store valid. + // + Status = SearchRapidStartStore ( + &mDxePlatformRapidStartPolicy, + &(mRapidStartData->StoreSectors), + &(mRapidStartData->StoreLbaAddr), + &(mRapidStartData->StoreSataPort) + ); + if ( (EFI_ERROR (Status)) || + (MEM_TO_SECT (mRapidStartData->TotalMem) > mRapidStartData->StoreSectors) && + (mDxePlatformRapidStartPolicy.ActivePageThresholdSupport == 0) ) { + // + } else { + Status = gBS->InstallProtocolInterface ( + &gImageHandle, + &RapidStartPartitionProtocolGuid, + EFI_NATIVE_INTERFACE, + NULL ); + ASSERT_EFI_ERROR (Status); + } + + gBS->CloseEvent (Event); +} + +VOID +RegisterForBdsAllDriversConnected ( + IN EFI_HANDLE ImageHandle +) +{ + EFI_EVENT Event; + VOID *NotifyReg; + EFI_STATUS Status; + + gImageHandle = ImageHandle; + + Status = gBS->CreateEvent ( + EFI_EVENT_NOTIFY_SIGNAL, + EFI_TPL_CALLBACK, + BdsAllDriversConnectedCallback, + NULL, + &Event + ); + + if ( EFI_ERROR(Status) ) { + ASSERT_EFI_ERROR (Status); + return; + } + + Status = gBS->RegisterProtocolNotify ( + &gBdsAllDriversConnectedProtocolGuid, + Event, + &NotifyReg + ); + + if ( EFI_ERROR(Status) ) { + ASSERT_EFI_ERROR (Status); + return; + } + + return; +} +#endif + +#if SYNC_UP_DRIVER_AND_BIOS_VARIABLE +VOID +SyncUpDriverAndBiosVariable ( + VOID +) +{ + EFI_STATUS Status; + UINTN VariableSize; + RAPID_START_WRAPPER_SMM_DATA RapidStartWrapperSmmData; + UINT32 Attributes = 0; + SETUP_DATA SetupData; + + VariableSize = sizeof( RAPID_START_WRAPPER_SMM_DATA ); + Status = gRT->GetVariable( L"RstWrapVar", + &RapidStartWrapperSmmDataGuid, + &Attributes, + &VariableSize, + &RapidStartWrapperSmmData ); + + //TRACE((-1,"SYNC_UP_DRIVER_AND_BIOS_VARIABLE Get Setup Variable RstWrapVar Attributes = %x.\n",Attributes)); + + if ( EFI_ERROR (Status) ) { + //TRACE((-1,"SYNC_UP_DRIVER_AND_BIOS_VARIABLE Get Variable Failed!\n")); + return; + } + else{ +// TRACE((-1,"SYNC_UP_DRIVER_AND_BIOS_VARIABLE S3WakeTimerMin = %d\n",RapidStartWrapperSmmData.S3WakeTimerMin)); +// TRACE((-1,"SYNC_UP_DRIVER_AND_BIOS_VARIABLE EntryOnS3RtcWake = %x\n",RapidStartWrapperSmmData.EntryOnS3RtcWake)); +// TRACE((-1,"SYNC_UP_DRIVER_AND_BIOS_VARIABLE EntryOnS3CritBattWake = %x\n",RapidStartWrapperSmmData.EntryOnS3CritBattWake)); + + VariableSize = sizeof( SETUP_DATA ); + Status = gRT->GetVariable( L"Setup", + &SetupGuid, + &Attributes, + &VariableSize, + &SetupData ); + +// TRACE((-1,"SYNC_UP_DRIVER_AND_BIOS_VARIABLE Get Setup Variable Attributes = %x.\n",Attributes)); + SetupData.S3WakeTimerMin = RapidStartWrapperSmmData.S3WakeTimerMin; + SetupData.EntryOnS3RtcWake = RapidStartWrapperSmmData.EntryOnS3RtcWake; + SetupData.EntryOnS3CritBattWake = RapidStartWrapperSmmData.EntryOnS3CritBattWake; + + Status = gRT->SetVariable( L"Setup", \ + &SetupGuid, \ + Attributes, \ + sizeof (SETUP_DATA), \ + &SetupData ); + + return; + } + + +} +#endif + +VOID +SetCriticalBatteryThreshole ( + IN UINT8 Value +) +{ + UINT8 RtcIndexPort; + UINT8 RtcDataPort; + + // + // CMOS access registers (using alternative access not to handle NMI bit) + // + if (FFS_CBTH_DATA_REG < 0x80) { + // + // First bank + // + RtcIndexPort = 0x74; + RtcDataPort = 0x75; + } else { + // + // Second bank + // + RtcIndexPort = 0x76; + RtcDataPort = 0x77; + } + + IoWrite8 (RtcIndexPort, FFS_CBTH_DATA_REG & 0x7F); + IoWrite8 (RtcDataPort, Value); +} + +/** + Initilize Intel RapidStart DXE Platform Policy + + @param[in] ImageHandle Image handle of this driver. + @param[in] SystemTable Global system service table. + + @retval EFI_SUCCESS Initialization complete. + @exception EFI_UNSUPPORTED The chipset is unsupported by this driver. + @retval EFI_OUT_OF_RESOURCES Do not have enough resources to initialize the driver. + @retval EFI_DEVICE_ERROR Device error, driver exits abnormally. +**/ +EFI_STATUS +EFIAPI +RapidStartDxePolicyInitEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable +) +{ + EFI_STATUS Status; + UINTN VariableSize; + SETUP_DATA SetupData; + PCH_SERIES PchSeries = GetPchSeries(); + /// + /// Initialize the EFI Driver Library + /// + ZeroMem (&mDxePlatformRapidStartPolicy, sizeof (RAPID_START_PLATFORM_POLICY_PROTOCOL)); + + VariableSize = sizeof( SETUP_DATA ); + Status = gRT->GetVariable( L"Setup", + &SetupGuid, + NULL, + &VariableSize, + &SetupData ); + + if ( EFI_ERROR(Status) ) { + mDxePlatformRapidStartPolicy.EnableRapidStart = 0; + mDxePlatformRapidStartPolicy.EntryOnS3RtcWake = 0; + mDxePlatformRapidStartPolicy.S3WakeTimerMin = 0; + mDxePlatformRapidStartPolicy.EntryOnS3CritBattWake = 0; + mDxePlatformRapidStartPolicy.ActivePageThresholdSupport = 0; + mDxePlatformRapidStartPolicy.ActivePageThresholdSize = 0; + mDxePlatformRapidStartPolicy.HybridHardDisk = 0; + mDxePlatformRapidStartPolicy.DisplaySaveRestore = 0; + mDxePlatformRapidStartPolicy.DisplayType = 0; + mDxePlatformRapidStartPolicy.RaidModeSataPortNumber = 255; + } else { + if (PchSeries == PchLp) { + if ( SetupData.ULTSataInterfaceMode == 0 ) { //IDE mode + mDxePlatformRapidStartPolicy.EnableRapidStart = 0; + } else { + mDxePlatformRapidStartPolicy.EnableRapidStart = SetupData.RapidStartEnabled; + } + } else { + if ( SetupData.SataInterfaceMode == 0 ) { //IDE mode + mDxePlatformRapidStartPolicy.EnableRapidStart = 0; + } else { + mDxePlatformRapidStartPolicy.EnableRapidStart = SetupData.RapidStartEnabled; + } + } + mDxePlatformRapidStartPolicy.EntryOnS3RtcWake = SetupData.EntryOnS3RtcWake; + mDxePlatformRapidStartPolicy.S3WakeTimerMin = SetupData.S3WakeTimerMin; + mDxePlatformRapidStartPolicy.EntryOnS3CritBattWake = SetupData.EntryOnS3CritBattWake; + mDxePlatformRapidStartPolicy.ActivePageThresholdSupport = SetupData.ActivePageThresholdSupport; + mDxePlatformRapidStartPolicy.ActivePageThresholdSize = SetupData.ActivePageThresholdSize; + mDxePlatformRapidStartPolicy.HybridHardDisk = SetupData.RapidStartHybridHardDisk; + mDxePlatformRapidStartPolicy.DisplaySaveRestore = SetupData.RapidStartDisplaySaveRestore; + mDxePlatformRapidStartPolicy.DisplayType = SetupData.RapidStartDisplayType; + SetCriticalBatteryThreshole(SetupData.CritBattWakeThreshold); + + /// + /// By default set to 255 as not used + /// + mDxePlatformRapidStartPolicy.RaidModeSataPortNumber = 255; + } + //AMI_OVERRIDE_FOR_RAPID_START + //Clear CMOS RapidStartFlag in DXE + RapidStartSetConfig(0); + //AMI_OVERRIDE_FOR_RAPID_START +#if LOCK_DISABLE_RAPID_START_IF_NO_SSD + SsdDetectionRegisterCallBack(); +#endif + +#ifdef RAPID_START_PARTITION_DETECT_BEFORE_SETUP + RegisterForBdsAllDriversConnected(ImageHandle); +#endif + +#if SYNC_UP_DRIVER_AND_BIOS_VARIABLE + SyncUpDriverAndBiosVariable(); +#endif + + /// + /// Protocol revision number + /// + mDxePlatformRapidStartPolicy.Revision = DXE_RAPID_START_PLATFORM_POLICY_PROTOCOL_REVISION; + + /// + /// FviSmbiosType is the SMBIOS OEM type (0x80 to 0xFF) defined in SMBIOS Type 14 - Group + /// Associations structure - item type. FVI structure uses it as SMBIOS OEM type to provide + /// version information. The default value is type 221. + /// + mDxePlatformRapidStartPolicy.FviSmbiosType = 0xDD; + + + /// + /// Install protocol to to allow access to this Policy. + /// + Status = gBS->InstallMultipleProtocolInterfaces ( + &ImageHandle, + &gRapidStartPlatformPolicyProtocolGuid, + &mDxePlatformRapidStartPolicy, + NULL + ); + if ( EFI_ERROR(Status) ) { + ASSERT_EFI_ERROR (Status); + return Status; + } + + return Status; +} + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** diff --git a/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.cif b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.cif new file mode 100644 index 0000000..2edcee5 --- /dev/null +++ b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.cif @@ -0,0 +1,13 @@ +<component> + name = "RapidStartDxePolicyInit" + category = ModulePart + LocalRoot = "Board\EM\RapidStartWrapper\Dxe\RapidStartDxePolicyInit" + RefName = "RapidStartDxePolicyInit" +[files] +"RapidStartDxePolicyInit.sdl" +"RapidStartDxePolicyInit.mak" +"RapidStartDxePolicyInit.h" +"RapidStartDxePolicyInit.c" +"RapidStartDxePolicyInit.dxs" +"RapidStartDxePolicyInit.inf" +<endComponent> diff --git a/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.dxs b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.dxs new file mode 100644 index 0000000..a785e6d --- /dev/null +++ b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.dxs @@ -0,0 +1,76 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.dxs 1 10/15/12 4:40a Bensonlai $ +// +// $Revision: 1 $ +// +// $Date: 10/15/12 4:40a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.dxs $ +// +// 1 10/15/12 4:40a Bensonlai +// [TAG] None +// [Category] Improvement +// [Description] [Category] Improvement +// [Severity] Important +// [Description] Rename all IFFS sting to Rapid Start. +// [Files] Board\EM\RapidStartWrapper\*.*, ReferenceCode\RapidStart\*.* +// +// [Category] Improvement +// [Severity] Important +// [Description] Implementation of the LOCK_DISABLE_RAPID_START_IF_NO_SSD +// using EDKII. +// [Files] Board\EM\RapidStartWrapper\Dxe\RapidStartDxePolicyInit\*.* +// [Files] RapidStartDxePolicyInit.cif +// RapidStartDxePolicyInit.sdl +// RapidStartDxePolicyInit.mak +// RapidStartDxePolicyInit.h +// RapidStartDxePolicyInit.c +// RapidStartDxePolicyInit.dxs +// RapidStartDxePolicyInit.inf +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: RapidStartDxePolicyInit.dxs +// +// Description: Dependency expression source file. +// +//<AMI_FHDR_END> +//********************************************************************** + +#include "EfiDepex.h" +#include EFI_ARCH_PROTOCOL_DEFINITION (Variable) + +DEPENDENCY_START + EFI_VARIABLE_ARCH_PROTOCOL_GUID +DEPENDENCY_END + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** diff --git a/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.h b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.h new file mode 100644 index 0000000..13a5bd0 --- /dev/null +++ b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.h @@ -0,0 +1,187 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.h 6 5/13/14 4:55a Joshchou $ +// +// $Revision: 6 $ +// +// $Date: 5/13/14 4:55a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.h $ +// +// 6 5/13/14 4:55a Joshchou +// [TAG] EIP167032 +// [Category] Improvement +// [Description] Review the variable's attribute, we shouldn't use +// runtime attribute with setup variable. +// [Files] RapidStartDxePolicyInit.h +// RapidStartDxePolicyInit.c +// RapidStartDxePolicyInit.cif +// +// 5 6/21/13 6:00a Joshchou +// [TAG] EIP126792 +// [Category] Bug Fix +// [Severity] Minor +// [Symptom] Can't do AMI capsule when Intel Rapid Start eanble +// [RootCause] CMOS RapidStartFlag does not clear. +// [Solution] Clear RapidStartFlag when cold boot. +// +// 4 1/13/13 7:47a Bensonlai +// [TAG] EIPNone +// [Category] Improvement +// [Description] Disabling the RapidStart while STAT mode in the IDE +// mode +// [Files] RapidStartDxePolicyInit.c, RapidStartDxePolicyInit.h, +// RapidStartDxePolicyInit.mak, RapidStartSetup.c, RapidStartSetup.mak, +// RapidStartSetup.sd, RapidStartSetup.sdl +// +// 3 12/07/12 1:16a Bensonlai +// [TAG] None +// [Category] Bug Fix +// [Severity] Normal +// [Symptom] When installed memory size less than HDD partition size of +// teh RapidStart, it still can work. +// [RootCause] The RAPID_START_PERSISTENT_DATA wasn't updated in the +// BdsAllDriversConnectedCallback(). +// [Solution] Get the real total size of memory directly. +// [Files] RapidStartDxePolicyInit.c, RapidStartDxePolicyInit.h, +// RapidStartDxePolicyInit.mak +// +// 2 11/15/12 1:03a Bensonlai +// [TAG] None +// [Category] Improvement +// [Description] Move the RAPID_START_PARTITION_DETECT_BEFORE_SETUP to +// RapidStartDxePolicyInit.c. +// +// 1 10/15/12 4:40a Bensonlai +// [TAG] None +// [Category] Improvement +// [Description] [Category] Improvement +// [Severity] Important +// [Description] Rename all IFFS sting to Rapid Start. +// [Files] Board\EM\RapidStartWrapper\*.*, ReferenceCode\RapidStart\*.* +// +// [Category] Improvement +// [Severity] Important +// [Description] Implementation of the LOCK_DISABLE_RAPID_START_IF_NO_SSD +// using EDKII. +// [Files] Board\EM\RapidStartWrapper\Dxe\RapidStartDxePolicyInit\*.* +// [Files] RapidStartDxePolicyInit.cif +// RapidStartDxePolicyInit.sdl +// RapidStartDxePolicyInit.mak +// RapidStartDxePolicyInit.h +// RapidStartDxePolicyInit.c +// RapidStartDxePolicyInit.dxs +// RapidStartDxePolicyInit.inf +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: RapidStartDxePolicyInit.h +// +// Description: Header file for the RapidStartDxePolicyInit Driver. +// +//<AMI_FHDR_END> +//********************************************************************** + +#ifndef _RAPID_START_DXE_PLATFORM_POLICY_H_ +#define _RAPID_START_DXE_PLATFORM_POLICY_H_ +// +// External include files do NOT need to be explicitly specified in real EDKII +// environment +// +#if !defined(EDK_RELEASE_VERSION) || (EDK_RELEASE_VERSION < 0x00020000) +#include "EdkIIGlueDxe.h" +#include EFI_PROTOCOL_PRODUCER (RapidStartPlatformPolicy) +#include EFI_PROTOCOL_CONSUMER (DiskInfo) +#include <token.h> +#include "PchRegs.h" +#include "SaAccess.h" +#include "PchPlatformLib.h" +#include <SetupDataDefinition.h> +#define SYSTEM_CONFIGURATION_GUID { 0xEC87D643, 0xEBA4, 0x4BB5, 0xA1, 0xE5, 0x3F, 0x3E, 0x36, 0xB2, 0x0D, 0xA9 } +EFI_GUID SetupGuid = SYSTEM_CONFIGURATION_GUID; + +#if LOCK_DISABLE_RAPID_START_IF_NO_SSD +#define BDS_ALL_DRIVERS_CONNECTED_PROTOCOL_GUID \ + { 0xdbc9fd21, 0xfad8, 0x45b0, 0x9e, 0x78, 0x27, 0x15, 0x88, 0x67, 0xcc, 0x93 } + +EFI_GUID gNotifyProtocolGuid = BDS_ALL_DRIVERS_CONNECTED_PROTOCOL_GUID; +#endif + +#ifdef RAPID_START_PARTITION_DETECT_BEFORE_SETUP +#define BDS_ALL_DRIVERS_CONNECTED_PROTOCOL_GUID \ + { 0xdbc9fd21, 0xfad8, 0x45b0, 0x9e, 0x78, 0x27, 0x15, 0x88, 0x67, 0xcc, 0x93 } + +#define RAPID_START_PARTITION_STATUS_PROTOCOL_GUID \ + { 0x65639144, 0xd492, 0x4328, 0xa4, 0x98, 0xf4, 0xb5, 0x54, 0x5e, 0x4a, 0x30 } + +EFI_GUID gBdsAllDriversConnectedProtocolGuid = \ + BDS_ALL_DRIVERS_CONNECTED_PROTOCOL_GUID; +EFI_HANDLE gImageHandle; +#if SYNC_UP_DRIVER_AND_BIOS_VARIABLE +#define RAPID_START_WRAPPER_SMM_DATA_GUID { 0xc840359f, 0x1c11, 0x4d41, 0x92, 0x4c, 0x89, 0x70, 0x52, 0x22, 0x6a, 0xd4 } +EFI_GUID RapidStartWrapperSmmDataGuid = RAPID_START_WRAPPER_SMM_DATA_GUID; + +typedef struct _RAPID_START_WRAPPER_SMM_DATA { + UINT16 S3WakeTimerMin; + UINT8 EntryOnS3RtcWake; + UINT8 EntryOnS3CritBattWake; +} RAPID_START_WRAPPER_SMM_DATA; +#endif +#include <RapidStartData.h> +#include <RapidStartDxeLib.h> +#include <RapidStartAhciReg.h> +//AMI_OVERRIDE_FOR_RAPID_START +#include <RapidStartCommonLib.h> +//AMI_OVERRIDE_FOR_RAPID_START +#endif +//#include "RapidStartPlatformPolicyUpdateDxeLib.h" +#endif + +/** + Initilize Intel RapidStart DXE Platform Policy + + @param[in] ImageHandle - Image handle of this driver. + @param[in] SystemTable - Global system service table. + + @retval EFI_SUCCESS Initialization complete. + @exception EFI_UNSUPPORTED The chipset is unsupported by this driver. + @retval EFI_OUT_OF_RESOURCES Do not have enough resources to initialize the driver. + @retval EFI_DEVICE_ERROR Device error, driver exits abnormally. +**/ +EFI_STATUS +RapidStartDxePolicyInitEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN OUT EFI_SYSTEM_TABLE *SystemTable + ); + +#endif + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** diff --git a/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.inf b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.inf new file mode 100644 index 0000000..97d8602 --- /dev/null +++ b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.inf @@ -0,0 +1,74 @@ +## @file +# Component description file for the RapidStartDxePolicyInit DXE driver. +# +#@copyright +# Copyright (c) 1999 - 2012 Intel Corporation. All rights reserved +# This software and associated documentation (if any) is furnished +# under a license and may only be used or copied in accordance +# with the terms of the license. Except as permitted by such +# license, no part of this software or documentation may be +# reproduced, stored in a retrieval system, or transmitted in any +# form or by any means without the express written consent of +# Intel Corporation. +# +# This file contains a 'Sample Driver' and is licensed as such +# under the terms of your license agreement with Intel or your +# vendor. This file may be modified by the user, subject to +# the additional terms of the license agreement +# + +[defines] +BASE_NAME = RapidStartDxePolicyInit +FILE_GUID = DDB412A6-E3F3-4e9e-90A3-2A991270219C +COMPONENT_TYPE = BS_DRIVER + +[sources.common] + RapidStartDxePolicyInit.c + RapidStartDxePolicyInit.h +# +# Edk II Glue Driver Entry Point +# + EdkIIGlueDxeDriverEntryPoint.c + +[includes.common] + . + $(EDK_SOURCE)/Foundation + $(EDK_SOURCE)/Foundation/Include + $(EDK_SOURCE)/Foundation/Efi + $(EDK_SOURCE)/Foundation/Efi/Include + $(EDK_SOURCE)/Foundation/Framework + $(EDK_SOURCE)/Foundation/Framework/Include + $(EDK_SOURCE)/Foundation/Library/EdkIIGlueLib/Include + $(EDK_SOURCE)/Foundation/Library/EdkIIGlueLib/Include/Pcd + $(EDK_SOURCE)/Foundation/Include/IndustryStandard + $(EDK_SOURCE)/Foundation/Library/Dxe/Include + $(EDK_SOURCE)/Foundation/Core/Dxe + $(EDK_SOURCE)/Foundation/Cpu/Pentium/Include + $(EFI_SOURCE)/$(PROJECT_RAPID_START_ROOT) + $(EFI_SOURCE)/$(PROJECT_RAPID_START_ROOT)/Include + $(EFI_SOURCE) + $(PLATFORM_ECP_PACKAGE)/Include + +[libraries.common] + EdkIIGlueDxeReportStatusCodeLib + EdkIIGlueDxeDebugLibReportStatusCode + EdkFrameworkProtocolLib + EdkProtocolLib + RapidStartProtocolLib + EdkIIGlueUefiBootServicesTableLib + EdkIIGlueUefiRuntimeServicesTableLib + PlatformPolicyUpdateDxeLib + +[nmake.common] + IMAGE_ENTRY_POINT = _ModuleEntryPoint + DPX_SOURCE = RapidStartDxePolicyInit.dxs + +# +# Module Entry Point +# + C_FLAGS = $(C_FLAGS) -D __EDKII_GLUE_MODULE_ENTRY_POINT__=RapidStartDxePolicyInitEntryPoint + C_FLAGS = $(C_FLAGS) -D __EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__ \ + -D __EDKII_GLUE_DXE_DEBUG_LIB_REPORT_STATUS_CODE__ \ + -D __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__ \ + -D __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__ + diff --git a/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.mak b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.mak new file mode 100644 index 0000000..484a1eb --- /dev/null +++ b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.mak @@ -0,0 +1,165 @@ +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#********************************************************************** + +#********************************************************************** +# $Header: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.mak 5 6/21/13 6:01a Joshchou $ +# +# $Revision: 5 $ +# +# $Date: 6/21/13 6:01a $ +#********************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.mak $ +# +# 5 6/21/13 6:01a Joshchou +# [TAG] EIP126792 +# [Category] Bug Fix +# [Severity] Minor +# [Symptom] Can't do AMI capsule when Intel Rapid Start eanble +# [RootCause] CMOS RapidStartFlag does not clear. +# [Solution] Clear RapidStartFlag when cold boot. +# +# 4 1/13/13 7:47a Bensonlai +# [TAG] EIPNone +# [Category] Improvement +# [Description] Disabling the RapidStart while STAT mode in the IDE +# mode +# [Files] RapidStartDxePolicyInit.c, RapidStartDxePolicyInit.h, +# RapidStartDxePolicyInit.mak, RapidStartSetup.c, RapidStartSetup.mak, +# RapidStartSetup.sd, RapidStartSetup.sdl +# +# 3 12/07/12 1:17a Bensonlai +# [TAG] None +# [Category] Bug Fix +# [Severity] Normal +# [Symptom] When installed memory size less than HDD partition size of +# teh RapidStart, it still can work. +# [RootCause] The RAPID_START_PERSISTENT_DATA wasn't updated in the +# BdsAllDriversConnectedCallback(). +# [Solution] Get the real total size of memory directly. +# [Files] RapidStartDxePolicyInit.c, RapidStartDxePolicyInit.h, +# RapidStartDxePolicyInit.mak +# +# 2 11/15/12 12:38a Bensonlai +# [TAG] None +# [Category] Improvement +# [Description] Move the RAPID_START_PARTITION_DETECT_BEFORE_SETUP to +# RapidStartDxePolicyInit.c. +# +# 1 10/15/12 4:40a Bensonlai +# [TAG] None +# [Category] Improvement +# [Description] [Category] Improvement +# [Severity] Important +# [Description] Rename all IFFS sting to Rapid Start. +# [Files] Board\EM\RapidStartWrapper\*.*, ReferenceCode\RapidStart\*.* +# +# [Category] Improvement +# [Severity] Important +# [Description] Implementation of the LOCK_DISABLE_RAPID_START_IF_NO_SSD +# using EDKII. +# [Files] Board\EM\RapidStartWrapper\Dxe\RapidStartDxePolicyInit\*.* +# [Files] RapidStartDxePolicyInit.cif +# RapidStartDxePolicyInit.sdl +# RapidStartDxePolicyInit.mak +# RapidStartDxePolicyInit.h +# RapidStartDxePolicyInit.c +# RapidStartDxePolicyInit.dxs +# RapidStartDxePolicyInit.inf +# +#********************************************************************** +#<AMI_FHDR_START> +# +# Name: RapidStartDxePolicyInit.mak +# +# Description: Component description file for the RapidStartDxePolicyInit DXE driver. +# +#<AMI_FHDR_END> +#********************************************************************** + +All : RapidStartDxePolicyInit + +RapidStartDxePolicyInit : $(BUILD_DIR)\RapidStartDxePolicyInit.mak RapidStartDxePolicyInitBin + +$(BUILD_DIR)\RapidStartDxePolicyInit.mak : $(RapidStartDxePolicyInit_DIR)\$(@B).cif $(RapidStartDxePolicyInit_DIR)\$(@B).mak $(BUILD_RULES) + $(CIF2MAK) $(RapidStartDxePolicyInit_DIR)\$(@B).cif $(CIF2MAK_DEFAULTS) + +RapidStartDxePolicyInit_INCLUDES=\ + $(EdkIIGlueLib_INCLUDES)\ + $(EDK_INCLUDES)\ + $(RAPIDSTART_INCLUDES)\ + $(INTEL_PCH_INCLUDES)\ + $(INTEL_MCH_INCLUDES)\ + +RapidStartDxePolicyInit_LIBS=\ + $(EDKPROTOCOLLIB)\ + $(EFIGUIDLIB)\ + $(EdkIIGlueBaseLib_LIB)\ +!IF "$(x64_BUILD)"=="1" + $(EdkIIGlueBaseLibX64_LIB)\ +!ELSE + $(EdkIIGlueBaseLibIA32_LIB)\ +!ENDIF + $(EDKFRAMEWORKGUIDLIB)\ + $(EDKFRAMEWORKPROTOCOLLIB)\ + $(EdkIIGlueBaseIoLibIntrinsic_LIB)\ + $(EdkIIGlueBaseMemoryLib_LIB)\ + $(EdkIIGlueDxeReportStatusCodeLib_LIB)\ + $(EdkIIGlueDxeServicesTableLib_LIB)\ + $(EdkIIGlueDxeDebugLibReportStatusCode_LIB)\ + $(EdkIIGlueUefiBootServicesTableLib_LIB)\ + $(EdkIIGlueBasePciLibPciExpress_LIB)\ + $(EdkIIGlueEdkDxeRuntimeDriverLib_LIB)\ + $(RapidStartProtocolLib_LIB)\ + $(RapidStartDxeLib_LIB)\ + $(PchPlatformDxeLib_LIB)\ + $(RapidStartCommonDxeLib_LIB)\ + +RapidStartDxePolicyInit_DEFINES=\ + $(MY_DEFINES)\ + /D"__EDKII_GLUE_MODULE_ENTRY_POINT__=RapidStartDxePolicyInitEntryPoint"\ + /D __EDKII_GLUE_BASE_MEMORY_LIB__ \ + /D __EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__ \ + /D __EDKII_GLUE_DXE_DEBUG_LIB_REPORT_STATUS_CODE__ \ + /D __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__\ + /D __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ \ + /D __EDKII_GLUE_DXE_SERVICES_TABLE_LIB__ \ + +RapidStartDxePolicyInitBin : $(RapidStartDxePolicyInit_LIBS) + $(MAKE) /$(MAKEFLAGS) $(EDKIIGLUE_DEFAULTS)\ + /f $(BUILD_DIR)\RapidStartDxePolicyInit.mak all\ + "MY_INCLUDES=$(RapidStartDxePolicyInit_INCLUDES)"\ + "MY_DEFINES=$(RapidStartDxePolicyInit_DEFINES)"\ + GUID=DDB412A6-E3F3-4e9e-90A3-2A991270219C\ + ENTRY_POINT=_ModuleEntryPoint \ + EDKIIModule=DXEDRIVER\ + TYPE=BS_DRIVER \ + DEPEX1=$(RapidStartDxePolicyInit_DIR)\RapidStartDxePolicyInit.dxs \ + DEPEX1_TYPE=EFI_SECTION_DXE_DEPEX \ + COMPRESS=1\ + +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#********************************************************************** diff --git a/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.sdl b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.sdl new file mode 100644 index 0000000..c895fdc --- /dev/null +++ b/Board/EM/RapidStartWrapper/Dxe/RapidStartDxePolicyInit/RapidStartDxePolicyInit.sdl @@ -0,0 +1,94 @@ +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#********************************************************************** + +#********************************************************************** +# $Header: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.sdl 1 10/15/12 4:40a Bensonlai $ +# +# $Revision: 1 $ +# +# $Date: 10/15/12 4:40a $ +#********************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartWrapper/RapidStartDxePolicyInit/RapidStartDxePolicyInit.sdl $ +# +# 1 10/15/12 4:40a Bensonlai +# [TAG] None +# [Category] Improvement +# [Description] [Category] Improvement +# [Severity] Important +# [Description] Rename all IFFS sting to Rapid Start. +# [Files] Board\EM\RapidStartWrapper\*.*, ReferenceCode\RapidStart\*.* +# +# [Category] Improvement +# [Severity] Important +# [Description] Implementation of the LOCK_DISABLE_RAPID_START_IF_NO_SSD +# using EDKII. +# [Files] Board\EM\RapidStartWrapper\Dxe\RapidStartDxePolicyInit\*.* +# [Files] RapidStartDxePolicyInit.cif +# RapidStartDxePolicyInit.sdl +# RapidStartDxePolicyInit.mak +# RapidStartDxePolicyInit.h +# RapidStartDxePolicyInit.c +# RapidStartDxePolicyInit.dxs +# RapidStartDxePolicyInit.inf +# +#********************************************************************** +#<AMI_FHDR_START> +# +# Name: RapidStartDxePolicyInit.sdl +# +# Description: SDL file for the RapidStartDxePolicyInit. +# +#<AMI_FHDR_END> +#********************************************************************** + +TOKEN + Name = "RapidStartDxePolicyInit_SUPPORT" + Value = "1" + Help = "Main switch to enable RapidStartDxePolicyInit support in Project" + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + Master = Yes +End + +PATH + Name = "RapidStartDxePolicyInit_DIR" +End + +MODULE + File = "RapidStartDxePolicyInit.mak" + Help = "Includes RapidStartDxePolicyInit.mak to Project" +End + +ELINK + Name = "$(BUILD_DIR)\RapidStartDxePolicyInit.ffs" + Parent = "FV_MAIN" + InvokeOrder = AfterParent +End + +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#********************************************************************** |