diff options
Diffstat (limited to 'ReferenceCode/RapidStart/Protocol')
12 files changed, 773 insertions, 0 deletions
diff --git a/ReferenceCode/RapidStart/Protocol/DxeGfxProtocol/DxeGfxProtocol.c b/ReferenceCode/RapidStart/Protocol/DxeGfxProtocol/DxeGfxProtocol.c new file mode 100644 index 0000000..326da6b --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/DxeGfxProtocol/DxeGfxProtocol.c @@ -0,0 +1,30 @@ +/** @file + +@copyright + Copyright (c) 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 an 'Intel Peripheral Driver' and uniquely + identified as "Intel Mobile Silicon Support Module" and is + licensed for Intel Mobile CPUs and chipsets under the terms of your + license agreement with Intel or your vendor. This file may + be modified by the user, subject to additional terms of the + license agreement +**/ +#include "EdkIIGlueDxe.h" + +#include "DxeGfxProtocol.h" + +EFI_GUID gDxeGfxProtocolGuid = DXE_GFX_PROTOCOL_GUID; + +EFI_GUID_STRING + ( + &gDxeGfxProtocolGuid, "RST Gfx Protocol", + "Protocol describing RST Gfx Protocol." + ); diff --git a/ReferenceCode/RapidStart/Protocol/DxeGfxProtocol/DxeGfxProtocol.h b/ReferenceCode/RapidStart/Protocol/DxeGfxProtocol/DxeGfxProtocol.h new file mode 100644 index 0000000..70e1c1d --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/DxeGfxProtocol/DxeGfxProtocol.h @@ -0,0 +1,63 @@ +/** @file + +@copyright + Copyright (c) 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 +**/ +#ifndef DXE_GFX_PROTOCOL_H_ +#define DXE_GFX_PROTOCOL_H_ + +#define DXE_GFX_PROTOCOL_GUID \ + { \ + 0xc4d6994a, 0xaa3d, 0x47c0, 0xae, 0xa, 0xb0, 0xbf, 0xad, 0xba, 0xa6, 0x13 \ + } + +// +// Extern the GUID for protocol users. +// +extern EFI_GUID gDxeGfxProtocolGuid; + +#define BIOS_RESTORE 0 // 12 Mbytes space +#define DESKTOP_RESTORE 1 // 512 Kb Space + +typedef +EFI_STATUS +(EFIAPI * GFX_ALLOCATE_DSS_BUFFER) ( + IN UINT8 DisplayType +); + +typedef +EFI_STATUS +(EFIAPI * GFX_GET_DSS_ADDRESS) ( + OUT UINT64 **DssAddress, + OUT UINT64 *SizeOfDss +); + +typedef +EFI_STATUS +(EFIAPI * GFX_SAVE_DISPLAY) ( + IN UINT8 *RestoreImage +); + +#pragma pack(1) + +typedef struct _DXE_GFX_PROTOCOL { + GFX_ALLOCATE_DSS_BUFFER AllocateDssBuffer; + GFX_GET_DSS_ADDRESS GetDssAddress; + GFX_SAVE_DISPLAY SaveDisplay; +} DXE_GFX_PROTOCOL; + +#pragma pack() + +#endif diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartGlobalNvsArea/RapidStartGlobalNvsArea.c b/ReferenceCode/RapidStart/Protocol/RapidStartGlobalNvsArea/RapidStartGlobalNvsArea.c new file mode 100644 index 0000000..b0230a2 --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartGlobalNvsArea/RapidStartGlobalNvsArea.c @@ -0,0 +1,31 @@ +/** @file + RapidStart Global NVS Area description protocol implementation. + +@copyright + Copyright (c) 2011 - 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 an 'Intel Peripheral Driver' and uniquely + identified as "Intel Mobile Silicon Support Module" and is + licensed for Intel Mobile CPUs and chipsets under the terms of your + license agreement with Intel or your vendor. This file may + be modified by the user, subject to additional terms of the + license agreement +**/ +#include "EdkIIGlueDxe.h" + +#include "RapidStartGlobalNvsArea.h" + +EFI_GUID gRapidStartGlobalNvsAreaProtocolGuid = RAPID_START_GLOBAL_NVS_AREA_PROTOCOL_GUID; + +EFI_GUID_STRING + ( + &gRapidStartGlobalNvsAreaProtocolGuid, "RapidStart Global NVS Area Protocol", + "Protocol describing RapidStart ACPI NVS memory region used by ACPI subsystem." + ); diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartGlobalNvsArea/RapidStartGlobalNvsArea.h b/ReferenceCode/RapidStart/Protocol/RapidStartGlobalNvsArea/RapidStartGlobalNvsArea.h new file mode 100644 index 0000000..25fa453 --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartGlobalNvsArea/RapidStartGlobalNvsArea.h @@ -0,0 +1,100 @@ +/** @file + Definition of the RapidStart global NVS area protocol. This protocol + publishes the address and format of a global ACPI NVS buffer used as a communications + buffer between SMM/DXE/PEI code and ASL code. + @todo The format is derived from the ACPI reference code, version 0.95. + + Note: Data structures defined in this protocol are not naturally aligned. + +@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 +**/ +#ifndef _RAPID_START_GLOBAL_NVS_AREA_H_ +#define _RAPID_START_GLOBAL_NVS_AREA_H_ + +// +// Includes +// +// +// Forward reference for pure ANSI compatability +// +EFI_FORWARD_DECLARATION (RAPID_START_GLOBAL_NVS_AREA_PROTOCOL); + +/// +/// RapidStart Global NVS Area Protocol GUID +/// +#define RAPID_START_GLOBAL_NVS_AREA_PROTOCOL_GUID \ + { \ + 0xa5559f06, 0x6415, 0x4759, 0x88, 0x69, 0xde, 0x15, 0xf9, 0xcd, 0x9c, 0x9b \ + } + +/// +/// Extern the GUID for protocol users. +/// +extern EFI_GUID gRapidStartGlobalNvsAreaProtocolGuid; + +/** + Global NVS Area definition + + To provide OS base utility controlling capability, these ACPI Global NVS fields + provides the interface for OS base utility to control Rapid Start behavior and + Rapid Start reference code will work accordingly. +**/ +#pragma pack(1) +typedef struct { + /// + /// It shows what wake up event sources available for Rapid Start Entry. + /// + /// Used by RapidStart.asl as "RSTA" + /// + UINT8 EventsAvailable; + /// + /// This controls which wake up source can be used to trigger Rapid Start Entry tasks. + /// + /// Used by RapidStart.asl as "RSTS" + /// + UINT8 EventsEnabled; + /// + /// This defines how many minutes the wake up event will happen for performing Rapid + /// Start Entry transition. Available options are "Immediately" (wake system up + /// once system entering S3 mode), 1 Min, 2 Min, 5 Min and 10 Min etc. Default + /// Platform Policy will set this to 10 minutes. + /// + /// Used by RapidStart.asl as "RSTT" + /// + UINT16 WakeTimerMin; + /// + /// This is the pointer for performance data structure. + /// + /// Used by RapidStart.asl as "RSTP" + /// + UINT32 PerfDataPtr; +} RAPID_START_GLOBAL_NVS_AREA; +#pragma pack() + +/** + RapidStart Global NVS Area Protocol + + To provide OS base utility controlling mechanism there are some items + created in Rapid Start private ACPI Global NVS area. Note: This will be + published by reference code as one SSDT table so no Platform code change + required. +**/ +struct _RAPID_START_GLOBAL_NVS_AREA_PROTOCOL { + RAPID_START_GLOBAL_NVS_AREA *Area; + VOID *RapidStartData; +}; + +#endif diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartInfo/RapidStartInfo.c b/ReferenceCode/RapidStart/Protocol/RapidStartInfo/RapidStartInfo.c new file mode 100644 index 0000000..7269ff9 --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartInfo/RapidStartInfo.c @@ -0,0 +1,40 @@ +/** @file + This file defines the RapidStart Info Protocol. + +@copyright + Copyright (c) 2011 - 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 +**/ + +// +// Statements that include other files +// +// +// 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 "RapidStartInfo.h" +#endif + +/// +/// Protocol GUID definition +/// +EFI_GUID gRapidStartInfoProtocolGuid = RAPID_START_INFO_PROTOCOL_GUID; + +/// +/// Protocol description +/// +EFI_GUID_STRING(&gRapidStartInfoProtocolGuid, "RapidStart Info Protocol", "RapidStart Information Protocol"); diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartInfo/RapidStartInfo.h b/ReferenceCode/RapidStart/Protocol/RapidStartInfo/RapidStartInfo.h new file mode 100644 index 0000000..3997eda --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartInfo/RapidStartInfo.h @@ -0,0 +1,93 @@ +/** @file + This file defines the RapidStart Info Protocol. + +@copyright + Copyright (c) 2011 - 2014 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 +**/ +#ifndef _RAPID_START_INFO_H_ +#define _RAPID_START_INFO_H_ + +/// +/// GUID to locate Rapid Start Info Protocol +/// +/// EDK and EDKII have different GUID formats +/// +/// @see _RAPID_START_INFO_PROTOCOL +/// +#if !defined(EDK_RELEASE_VERSION) || (EDK_RELEASE_VERSION < 0x00020000) +#define RAPID_START_INFO_PROTOCOL_GUID \ + { \ + 0xd231db5b, 0x4a9c, 0x4092, 0xa8, 0xc5, 0x9c, 0xa0, 0xbc, 0x7d, 0x6a, 0xa6 \ + } + +#else +#define RAPID_START_INFO_PROTOCOL_GUID \ + { \ + 0xd231db5b, 0x4a9c, 0x4092, \ + { \ + 0xa8, 0xc5, 0x9c, 0xa0, 0xbc, 0x7d, 0x6a, 0xa6 \ + } \ + } +#endif + +/// +/// Extern the GUID for protocol users. +/// +/// @see _RAPID_START_INFO_PROTOCOL +/// +extern EFI_GUID gRapidStartInfoProtocolGuid; + +// +// Forward reference for ANSI C compatibility +// +EFI_FORWARD_DECLARATION (RAPID_START_INFO_PROTOCOL); + +/// +/// Protocol revision number +/// Any backwards compatible changes to this protocol will result in an update in the revision number +/// Major changes will require publication of a new protocol +/// +/// Revision 1: Original version +/// +#define RAPID_START_INFO_PROTOCOL_REVISION_1 1 + +/// +/// RapidStart Reference Code formats 0xAABBCCDD +/// DD - Build Number +/// CC - Reference Code Revision +/// BB - Reference Code Minor Version +/// AA - Reference Code Major Version +/// Example: RapidStart Reference Code 0.7.1 should be 00 07 01 00 (0x00070100) +/// +#define RAPID_START_RC_VERSION 0x01090000 +#define RAPID_START_FVI_STRING "Reference Code - Intel Rapid Start" +#define RAPID_START_FVI_SMBIOS_TYPE 0xDD +#define RAPID_START_FVI_SMBIOS_INSTANCE 0x05 +/** + A protocol to indicate Rapid Start reference code revision. + + This protocol will be initialized by Rapid Start reference code to indicate the reference code revision. + It will be installed by reference code even Rapid Start is disabled. + + @see RAPID_START_INFO_PROTOCOL_GUID + @see gRapidStartInfoProtocolGuid + @see RapidStartInstallInfoProtocol() +**/ +struct _RAPID_START_INFO_PROTOCOL { + UINT8 Revision; ///< Revision of this protocol + UINT32 RCVersion; ///< Rapid Start reference code revision +}; + +#endif diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartPlatformPolicy/RapidStartPlatformPolicy.c b/ReferenceCode/RapidStart/Protocol/RapidStartPlatformPolicy/RapidStartPlatformPolicy.c new file mode 100644 index 0000000..eb7d873 --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartPlatformPolicy/RapidStartPlatformPolicy.c @@ -0,0 +1,46 @@ +/** @file + This file defines the RapidStart Policy Protocol. + +@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 an 'Intel Peripheral Driver' and uniquely + identified as "Intel Reference Module" and is + licensed for Intel CPUs and chipsets under the terms of your + license agreement with Intel or your vendor. This file may + be modified by the user, subject to additional terms of the + license agreement +**/ + +// +// Statements that include other files +// +// +// 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 "RapidStartPlatformPolicy.h" +#endif + +/// +/// Protocol GUID definition +/// +EFI_GUID gRapidStartPlatformPolicyProtocolGuid = RAPID_START_PLATFORM_POLICY_PROTOCOL_GUID; + +/// +/// Protocol description +/// +EFI_GUID_STRING + ( + &gRapidStartPlatformPolicyProtocolGuid, "RapidStartPlatformPolicy Protocol", + "Intel(R) DXE Phase RapidStart Platform Policy Protocol" + ); diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartPlatformPolicy/RapidStartPlatformPolicy.h b/ReferenceCode/RapidStart/Protocol/RapidStartPlatformPolicy/RapidStartPlatformPolicy.h new file mode 100644 index 0000000..32bc704 --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartPlatformPolicy/RapidStartPlatformPolicy.h @@ -0,0 +1,162 @@ +/** @file + This file defines the RapidStart Policy Protocol. + +@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 an 'Intel Peripheral Driver' and uniquely + identified as "Intel Reference Module" and is + licensed for Intel CPUs and chipsets under the terms of your + license agreement with Intel or your vendor. This file may + be modified by the user, subject to additional terms of the + license agreement +**/ +#ifndef _RAPID_START_PLATFORM_POLICY_H_ +#define _RAPID_START_PLATFORM_POLICY_H_ + +/// +/// GUID to locate Rapid Start Platform Policy Protocol +/// +/// @see _RAPID_START_PLATFORM_POLICY_PROTOCOL +/// +#define RAPID_START_PLATFORM_POLICY_PROTOCOL_GUID \ + { \ + 0x42bbaca3, 0x7161, 0x4891, 0xac, 0x10, 0xc7, 0x5e, 0x2e, 0x4d, 0xf6, 0x14 \ + } + +#define RAPID_START_WAKE_TIMER_MAX (24 * 60) +#define RAPID_START_WAKE_TIMER_DEFAULT 10 + +/// +/// Extern the GUID for protocol users. +/// +/// @see _RAPID_START_PLATFORM_POLICY_PROTOCOL +/// +extern EFI_GUID gRapidStartPlatformPolicyProtocolGuid; + +// +// Forward reference for ANSI C compatibility +// +EFI_FORWARD_DECLARATION (RAPID_START_PLATFORM_POLICY_PROTOCOL); + +/// +/// Revision 1: Original version +/// +/// +/// Revision 2: Added DisplaySaveRestore +/// Added DisplayType +#define DXE_RAPID_START_PLATFORM_POLICY_PROTOCOL_REVISION 1 +#define DXE_RAPID_START_PLATFORM_POLICY_PROTOCOL_REVISION_2 2 + +/** + RapidStart DXE Platform Platform Policy Protocol + + This protocol provides an interface for platform code to configure Rapid Start + behavior and usable resource without modifying reference code. + + This protocol provides interface to configure Rapid Start policy. Platform code + should initialize this protocol before RapidStartDxe driver executing basing on + the platform implementation. RapidStartDxePolicyInit sample code provided to + initialize default settings which has been validated by CRB BIOS. Platform code + can include this sample code with some porting to make it setup menu + controllable. + + @see RAPID_START_PLATFORM_POLICY_PROTOCOL_GUID + @see gRapidStartPlatformPolicyProtocolGuid + @see RapidStartDxePolicyInitEntryPoint() +**/ +struct _RAPID_START_PLATFORM_POLICY_PROTOCOL { + /// + /// Revision for the protocol structure + /// + UINT8 Revision; + /// + /// Enable or disable Rapid Start function. 0=Disable (Default) and 1=Enable + /// + UINT16 EnableRapidStart : 1; + /// + /// Enable reference code to do Rapid Start Entry flow when system waking up from S3 + /// state by RTC timer event. 0=Disable, 1=Enable (Default) + /// + /// @see S3WakeTimerMin + /// + UINT16 EntryOnS3RtcWake : 1; + /// + /// Enable reference code to perform Rapid Start Entry flow when system waking up + /// from Critical low battery event (from S3 state). 0=Disable, 1=Enable (Default) + /// + UINT16 EntryOnS3CritBattWake : 1; + /// + /// Enable Active Page Threshold support in Rapid Start reference code. Once enabled + /// with proper ActivePageThresholdSize value, Rapid Start functions are able to + /// work on systems with Rapid Start partition size smaller than the amount of the + /// whole system memory. + /// + /// @see ActivePageThresholdSize + /// + UINT16 ActivePageThresholdSupport : 1; + /// + /// Enable Hybrid Hard Disk support in Rapid Start reference code. + /// + /// @see AhciHybridHardDiskSupport + /// + + UINT16 HybridHardDisk : 1; + UINT16 DisplaySaveRestore : 1; + UINT16 DisplayType : 1; + /// + /// These bits are reserved for future use + /// + UINT16 Reserved : 9; ///< Reserved + /// + /// Specific the minutes used for RTC timeout wakeup event. This setting only works + /// when EntryOnS3RtcWake = 1. Default is 10 minutes which will set 10 minutes RTC + /// Alarm to wake system up after system entering S3 state. Available settings: + /// "Immediately=0min", 1min, 2mins, 5mins, 10mins, 15mins, 30mins, 60mins and + /// 120mins etc. + /// + /// @see EntryOnS3RtcWake + /// @see RAPID_START_WAKE_TIMER_MAX + /// @see RAPID_START_WAKE_TIMER_DEFAULT + /// + UINT16 S3WakeTimerMin; + /// + /// This is reserved and not used by FRC. It may be used by sample code for RST + /// Caching mode support. + /// + UINT8 RaidModeSataPortNumber; + /// + /// When ActivePageThresholdSupport is enabled, ActivePageThresholdSize will be + /// adopted as the criteria for the Rapid Start partition size. For example, on a + /// system with 2GB system memory and 1GB Rapid Start partition, when + /// ActivePageThresholdSupport is disabled, partition provisioning will fail because + /// system memory size is greater than Rapid Start partition size. When + /// ActivePageThresholdSupport is enabled and ActivePageThresholdSize set to 1G or + /// smaller, it passes the provisioning. When ActivePageThresholdSize is set to + /// zero, size checking will be skipped. Any size of partition reserved for Rapid + /// Start will pass the provisioning. If Rapid Start functions are still enabled + /// during S3 entry, Rapid Start reference code calculates the size of Active Memory + /// Pages, which is the amount of memory that is to be transferred to the Rapid + /// Start partition after the Zero page filtering. If it is smaller than or equal to + /// the provisioned Rapid Start partition size, then Rapid Start transitions will be + /// activated normally after system entering S3. Otherwise, system will remain in S3 + /// state. + /// + /// @see ActivePageThresholdSupport + /// + UINT32 ActivePageThresholdSize; + /// + /// Specifies the type value of the Firmware Version Info(FVI) Structure used to report + /// version information about Rapid Start through the FVI Interface. + /// + UINT8 FviSmbiosType; +}; + +#endif diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.cif b/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.cif new file mode 100644 index 0000000..81b954a --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.cif @@ -0,0 +1,18 @@ +<component> + name = "RapidStartProtocolLib" + category = ModulePart + LocalRoot = "ReferenceCode\RapidStart\Protocol\" + RefName = "RapidStartProtocolLib" +[files] +"RapidStartProtocolLib.inf" +"RapidStartProtocolLib.mak" +"RapidStartProtocolLib.sdl" +"DxeGfxProtocol\DxeGfxProtocol.c" +"DxeGfxProtocol\DxeGfxProtocol.h" +"RapidStartPlatformPolicy\RapidStartPlatformPolicy.c" +"RapidStartPlatformPolicy\RapidStartPlatformPolicy.h" +"RapidStartInfo\RapidStartInfo.c" +"RapidStartInfo\RapidStartInfo.h" +"RapidStartGlobalNvsArea\RapidStartGlobalNvsArea.c" +"RapidStartGlobalNvsArea\RapidStartGlobalNvsArea.h" +<endComponent> diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.inf b/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.inf new file mode 100644 index 0000000..3bfb5da --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.inf @@ -0,0 +1,61 @@ +## @file +# Component description file for RapidStart module +# +#@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 an 'Intel Peripheral Driver' and uniquely +# identified as "Intel Reference Module" and is +# licensed for Intel CPUs and chipsets under the terms of your +# license agreement with Intel or your vendor. This file may +# be modified by the user, subject to additional terms of the +# license agreement +# + +[defines] +BASE_NAME = RapidStartProtocolLib +COMPONENT_TYPE = LIBRARY + +[sources.common] + RapidStartPlatformPolicy/RapidStartPlatformPolicy.h + RapidStartPlatformPolicy/RapidStartPlatformPolicy.c + RapidStartInfo/RapidStartInfo.h + RapidStartInfo/RapidStartInfo.c + RapidStartGlobalNvsArea/RapidStartGlobalNvsArea.c + RapidStartGlobalNvsArea/RapidStartGlobalNvsArea.h + DxeGfxProtocol/DxeGfxProtocol.c + DxeGfxProtocol/DxeGfxProtocol.h + +[includes.common] + $(EFI_SOURCE) + $(EDK_SOURCE)/Foundation/Efi + $(EDK_SOURCE)/Foundation/Include + $(EDK_SOURCE)/Foundation/Efi/Include + $(EDK_SOURCE)/Foundation/Framework/Include + $(EDK_SOURCE)/Foundation/Include/IndustryStandard + $(EFI_SOURCE)/Include + $(EFI_SOURCE)/Platform/$(PROJECT_FAMILY)/Common + $(EFI_SOURCE)/Platform/$(PROJECT_FAMILY)/Common/Include +# +# Edk II Glue Library, some hearder are included by R9 header so have to include +# + + $(EFI_SOURCE) + $(EFI_SOURCE)/Framework + $(EDK_SOURCE)/Foundation + $(EDK_SOURCE)/Foundation/Framework + $(EDK_SOURCE)/Foundation/Include/IndustryStandard + $(EDK_SOURCE)/Foundation/Core/Dxe + $(EDK_SOURCE)/Foundation/Include/Pei + $(EDK_SOURCE)/Foundation/Library/Dxe/Include + $(EDK_SOURCE)/Foundation/Library/EdkIIGlueLib/Include + +[nmake.common] +C_STD_INCLUDE= diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.mak b/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.mak new file mode 100644 index 0000000..4672d99 --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.mak @@ -0,0 +1,58 @@ +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2011, 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/RapidStartProtocolLib/RapidStartProtocolLib.mak 1 4/19/12 8:12a Yurenlai $ +# +# $Revision: 1 $ +# +# $Date: 4/19/12 8:12a $ +#************************************************************************* +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartProtocolLib/RapidStartProtocolLib.mak $ +# +# 1 4/19/12 8:12a Yurenlai +# Initial check in. +# +#************************************************************************* + +all : RapidStartProtocolLib + +$(BUILD_DIR)\RapidStartProtocolLib.lib : RapidStartProtocolLib + +RapidStartProtocolLib : $(BUILD_DIR)\RapidStartProtocolLib.mak RapidStartProtocolLibBin + +$(BUILD_DIR)\RapidStartProtocolLib.mak : $(RapidStartProtocolLib_DIR)\$(@B).cif $(RapidStartProtocolLib_DIR)\$(@B).mak $(BUILD_RULES) + $(CIF2MAK) $(RapidStartProtocolLib_DIR)\$(@B).cif $(CIF2MAK_DEFAULTS) + +RapidStartProtocolLibBin : + $(MAKE) /$(MAKEFLAGS) $(EDK_DEFAULTS)\ + /f $(BUILD_DIR)\RapidStartProtocolLib.mak all\ + "MY_INCLUDES=$(EDK_INCLUDES) $(MISCFRAMEWORK_INCLUDES) $(EdkIIGlueLib_INCLUDES)" \ + TYPE=LIBRARY + +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2011, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* diff --git a/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.sdl b/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.sdl new file mode 100644 index 0000000..75cd95a --- /dev/null +++ b/ReferenceCode/RapidStart/Protocol/RapidStartProtocolLib.sdl @@ -0,0 +1,71 @@ +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2011, 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/RapidStartProtocolLib/RapidStartProtocolLib.sdl 1 4/19/12 8:12a Yurenlai $ +# +# $Revision: 1 $ +# +# $Date: 4/19/12 8:12a $ +#************************************************************************* +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartProtocolLib/RapidStartProtocolLib.sdl $ +# +# 1 4/19/12 8:12a Yurenlai +# Initial check in. +# +#************************************************************************* +TOKEN + Name = RapidStartProtocolLib_SUPPORT + Value = 1 + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + Master = Yes + Help = "Main switch to enable RapidStartProtocolLib support in Project" +End + +MODULE + Help = "Includes RapidStartProtocolLib.mak to Project" + File = "RapidStartProtocolLib.mak" +End + +PATH + Name = "RapidStartProtocolLib_DIR" +End + +ELINK + Name = "RapidStartProtocolLib_LIB" + InvokeOrder = ReplaceParent +End + +ELINK + Name = "$(BUILD_DIR)\RapidStartProtocolLib.lib" + Parent = "RapidStartProtocolLib_LIB" + InvokeOrder = AfterParent +End +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2011, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* |