diff options
Diffstat (limited to 'ReferenceCode/RapidStart/AcpiTables')
5 files changed, 353 insertions, 0 deletions
diff --git a/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.cif b/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.cif new file mode 100644 index 0000000..9e95414 --- /dev/null +++ b/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.cif @@ -0,0 +1,11 @@ +<component> + name = "RapidStartAcpiTables" + category = ModulePart + LocalRoot = "ReferenceCode\RapidStart\AcpiTables" + RefName = "RapidStartAcpiTables" +[files] +"RapidStartAcpiTables.sdl" +"RapidStartAcpiTables.mak" +"RapidStartAcpiTables.inf" +"Ssdt\RapidStart.asl" +<endComponent> diff --git a/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.inf b/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.inf new file mode 100644 index 0000000..6b98d1f --- /dev/null +++ b/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.inf @@ -0,0 +1,66 @@ +## @file +# Component description file for the ACPI tables +# +#@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 = RapidStartAcpiTables +FILE_GUID = 60AC3A8F-4D66-4CD4-895A-C3F06E6665EE +COMPONENT_TYPE = ACPITABLE #ECP Override RAPID_START_ACPI_TABLES +FFS_EXT = .ffs + +[sources.common] + Ssdt/RapidStart.asl + +[libraries.common] + +[includes.common] + . + $(EFI_SOURCE) + $(EFI_SOURCE)/Include + $(EDK_SOURCE)/Foundation/Efi + $(EDK_SOURCE)/Foundation/Include + $(EDK_SOURCE)/Foundation/Efi/Include + $(EDK_SOURCE)/Foundation/Framework/Include + $(EFI_SOURCE)/Include/IndustryStandard + $(EDK_SOURCE)/Foundation/Include/IndustryStandard + $(EDK_SOURCE)/Foundation/Library/Dxe/Include + $(EDK_SOURCE)/Foundation + $(EDK_SOURCE)/Foundation/Framework +# +# Typically the sample code referenced will be available in the code base already +# So keep this include at the end to defer to the source base definition +# and only use the sample code definition if source base does not include these files. +# + +# +# 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] diff --git a/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.mak b/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.mak new file mode 100644 index 0000000..998ef06 --- /dev/null +++ b/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.mak @@ -0,0 +1,105 @@ +#************************************************************************* +#************************************************************************* +#** ** +#** (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/RapidStartAcpiTables/RapidStartAcpiTables.mak 3 6/02/13 8:23a Joshchou $ +# +# $Revision: 3 $ +# +# $Date: 6/02/13 8:23a $ +#************************************************************************* +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartAcpiTables/RapidStartAcpiTables.mak $ +# +# 3 6/02/13 8:23a Joshchou +# [TAG] None +# [Category] Improvement +# [Description] Change IASL compiler path to +# $(ACPIPLATFORM_ASL_COMPILER) in SharkBay project. +# +# 2 11/20/12 2:22a Bensonlai +# [TAG] EIP107013 +# [Category] Improvement +# [Description] Update Shark Bay Rapid Start Reference Code Version +# 0.8.0.0 +# [Files] RapidStartAcpiTables.sdl +# RapidStartAcpiTables.mak +# RapidStartAcpiTables.inf +# Ssdt\RapidStart.asl +# RapidStartAcpiTables.cif +# +# 1 4/19/12 7:50a Yurenlai +# Initial check in. +# +#************************************************************************* +#----------------------------------------------------------------------- +# ASL compiler definition +#----------------------------------------------------------------------- +MASL = $(SILENT)asl.exe # Microsoft ASL compiler +!IF "$(ACPIPLATFORM_ASL_COMPILER)"=="" +!ERROR It is an invalid path, please check your ASL compiler path. +!ENDIF + +IASL = $(ACPIPLATFORM_ASL_COMPILER) +#----------------------------------------------------------------------- +ASL_COMPILER = IASL # Default ASL compiler. Can be 'IASL' for Intel ASL and 'MASL' for Microsoft ASL compiler. +# Note. Msft. ASL compiler of version 1.0.14NT correctly process ACPI 2.0 extended ASL objects. +#----------------------------------------------------------------------- +EDK : RapidStartASL + +ALLRapidStartSEC = $(BUILD_DIR)\RapidStart.sec\ + +RapidStartASL: $(BUILD_DIR)\RapidStartAcpiTables.ffs + +$(BUILD_DIR)\RapidStart.aml: $(INTEL_RAPIDSTART_ASL_FILE) +!if "$(ASL_COMPILER)" == "MASL" + @$(MASL) /Fo=$@ $** +!elseif "$(ASL_COMPILER)" == "IASL" + @cl /C /EP $(INTEL_RAPIDSTART_ASL_FILE) > $(BUILD_DIR)\RapidStart.asl + $(IASL) -p $(BUILD_DIR)\RapidStart.aml $(BUILD_DIR)\RapidStart.asl +!endif + +$(BUILD_DIR)\RapidStart.sec: $(BUILD_DIR)\RapidStart.aml + $(GENSECTION) -I $** -O $@ -S EFI_SECTION_RAW + +$(BUILD_DIR)\RapidStartAcpiTables.ffs: $(ALLRapidStartSEC) $(RapidStartAcpiTables_DIR)\RapidStartAcpiTables.mak + $(GENFFSFILE) -B $(BUILD_DIR) -V -o $@ -P1 <<$(BUILD_DIR)\RapidStartAcpiTables.pkg +PACKAGE.INF +[.] +BASE_NAME = RapidStartAcpiTables +FFS_FILEGUID = 60AC3A8F-4D66-4CD4-895A-C3F06E6665EE +FFS_FILETYPE = EFI_FV_FILETYPE_FREEFORM +FFS_ATTRIB_CHECKSUM = TRUE + +IMAGE_SCRIPT = +{ + Compress (dummy) { + $(PROJECT_DIR)\$(BUILD_DIR)\RapidStart.sec + } +} +<<KEEP +#************************************************************************* +#************************************************************************* +#** ** +#** (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/AcpiTables/RapidStartAcpiTables.sdl b/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.sdl new file mode 100644 index 0000000..be7a5f2 --- /dev/null +++ b/ReferenceCode/RapidStart/AcpiTables/RapidStartAcpiTables.sdl @@ -0,0 +1,91 @@ +#************************************************************************* +#************************************************************************* +#** ** +#** (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/RapidStartAcpiTables/RapidStartAcpiTables.sdl 3 11/20/12 2:22a Bensonlai $ +# +# $Revision: 3 $ +# +# $Date: 11/20/12 2:22a $ +#************************************************************************* +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/Intel Fast Flash Standby/iRST_SharkBay/RapidStartAcpiTables/RapidStartAcpiTables.sdl $ +# +# 3 11/20/12 2:22a Bensonlai +# [TAG] EIP107013 +# [Category] Improvement +# [Description] Update Shark Bay Rapid Start Reference Code Version +# 0.8.0.0 +# [Files] RapidStartAcpiTables.sdl +# RapidStartAcpiTables.mak +# RapidStartAcpiTables.inf +# Ssdt\RapidStart.asl +# RapidStartAcpiTables.cif +# +# 2 10/15/12 5:46a Bensonlai +# [Category] Improvement +# [Severity] Important +# [Description] Rename all IFFS sting to Rapid Start. +# [Files] Board\EM\RapidStartWrapper\*.*, ReferenceCode\RapidStart\*.* +# +# 1 4/19/12 7:50a Yurenlai +# Initial check in. +# +#************************************************************************* +TOKEN + Name = "RapidStartAcpiTables_SUPPORT" + Value = "1" + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes + Master = Yes + Help = "Main switch to enable RapidStart ACPI tables in Project" +End + +MODULE + Help = "Includes RapidStartAcpiTables.mak to Project" + File = "RapidStartAcpiTables.mak" +End + +PATH + Name = "RapidStartAcpiTables_DIR" +End + +TOKEN + Name = "INTEL_RAPIDSTART_ASL_FILE" + Value = "$(RapidStartAcpiTables_DIR)\Ssdt\RapidStart.asl" + TokenType = Expression + TargetMAK = Yes +End + +ELINK + Name = "$(BUILD_DIR)\RapidStartAcpiTables.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 ** +#** ** +#************************************************************************* +#************************************************************************* diff --git a/ReferenceCode/RapidStart/AcpiTables/Ssdt/RapidStart.asl b/ReferenceCode/RapidStart/AcpiTables/Ssdt/RapidStart.asl new file mode 100644 index 0000000..0004f89 --- /dev/null +++ b/ReferenceCode/RapidStart/AcpiTables/Ssdt/RapidStart.asl @@ -0,0 +1,80 @@ +/*++ + 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 +--*/ + +/*++ + +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. + +Module Name: + + RapidStart.asl + +Abstract: + + RapidStart ACPI ASL code to support OS control + +--*/ + + +DefinitionBlock ( + "RapidStart.aml", + "SSDT", + 0x01, + "Iffs", + "IffsAsl", + 0x3000 + ) +{ + + Scope (\_SB) { + Device(IFFS) { + OperationRegion(FFSN,SystemMemory,0xFFFF0000,0xAA55) + Field(FFSN,AnyAcc,Lock,Preserve) + { + FFSA, 8, // (0) iFFS available events + FFSS, 8, // (1) iFFS enabled events + FFST, 16, // (2) iFFS wake timer in minutes + FFSP, 32 // (4) iFFS performance monitoring data + } + + Name(_HID,EISAID("INT3392")) + Name(_CID,EISAID("PNP0C02")) + + Method(GFFS,0,Serialized) { + Return(FFSS) + } + Method(SFFS,1,Serialized) { + And(Arg0, FFSA, FFSS) + Return(FFSS) + } + Method(GFTV,0,Serialized) { + Return(FFST) + } + Method(SFTV,1,Serialized) { + // + // 24*60=1440 minutes (24 Hours) + // + If (LLessEqual(Arg0,1440)) { + Store(Arg0,FFST) + } Else { + And(FFSS,0xFFFE,FFSS) + Store(10,FFST) + } + Return(FFST) + } + } + } +} |