summaryrefslogtreecommitdiff
path: root/ReferenceCode/Haswell/Guid
diff options
context:
space:
mode:
authorraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
committerraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
commitb7c51c9cf4864df6aabb99a1ae843becd577237c (patch)
treeeebe9b0d0ca03062955223097e57da84dd618b9a /ReferenceCode/Haswell/Guid
downloadzprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz
init. 1AQQW051HEADmaster
Diffstat (limited to 'ReferenceCode/Haswell/Guid')
-rw-r--r--ReferenceCode/Haswell/Guid/CpuGuidLib.cif24
-rw-r--r--ReferenceCode/Haswell/Guid/CpuGuidLib.inf68
-rw-r--r--ReferenceCode/Haswell/Guid/CpuGuidLib.mak19
-rw-r--r--ReferenceCode/Haswell/Guid/CpuGuidLib.sdl26
-rw-r--r--ReferenceCode/Haswell/Guid/HtBistHob/HtBistHob.c24
-rw-r--r--ReferenceCode/Haswell/Guid/HtBistHob/HtBistHob.h29
-rw-r--r--ReferenceCode/Haswell/Guid/PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.c40
-rw-r--r--ReferenceCode/Haswell/Guid/PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.h35
-rw-r--r--ReferenceCode/Haswell/Guid/PoweronHob/PoweronHob.c24
-rw-r--r--ReferenceCode/Haswell/Guid/PoweronHob/PoweronHob.h29
-rw-r--r--ReferenceCode/Haswell/Guid/SmramCpuDataHeader/SmramCpuDataHeader.c24
-rw-r--r--ReferenceCode/Haswell/Guid/SmramCpuDataHeader/SmramCpuDataHeader.h32
-rw-r--r--ReferenceCode/Haswell/Guid/SmramCpuDataVariable/SmramCpuDataVariable.c24
-rw-r--r--ReferenceCode/Haswell/Guid/SmramCpuDataVariable/SmramCpuDataVariable.h46
-rw-r--r--ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.c33
-rw-r--r--ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.h65
-rw-r--r--ReferenceCode/Haswell/Guid/TxtOneTouch/TxtOneTouch.c33
-rw-r--r--ReferenceCode/Haswell/Guid/TxtOneTouch/TxtOneTouch.h53
18 files changed, 628 insertions, 0 deletions
diff --git a/ReferenceCode/Haswell/Guid/CpuGuidLib.cif b/ReferenceCode/Haswell/Guid/CpuGuidLib.cif
new file mode 100644
index 0000000..8baf1c5
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/CpuGuidLib.cif
@@ -0,0 +1,24 @@
+<component>
+ name = "CpuGuidLib"
+ category = ModulePart
+ LocalRoot = "ReferenceCode\Haswell\Guid\"
+ RefName = "CpuGuidLib"
+[files]
+"CpuGuidLib.sdl"
+"CpuGuidLib.mak"
+"CpuGuidLib.inf"
+"HtBistHob\HtBistHob.c"
+"HtBistHob\HtBistHob.h"
+"PowerMgmtAcpiTableStorage\PowerMgmtAcpiTableStorage.c"
+"PowerMgmtAcpiTableStorage\PowerMgmtAcpiTableStorage.h"
+"PoweronHob\PoweronHob.c"
+"PoweronHob\PoweronHob.h"
+"SmramCpuDataHeader\SmramCpuDataHeader.c"
+"SmramCpuDataHeader\SmramCpuDataHeader.h"
+"SmramCpuDataVariable\SmramCpuDataVariable.c"
+"SmramCpuDataVariable\SmramCpuDataVariable.h"
+"TxtInfoHob\TxtInfoHob.c"
+"TxtInfoHob\TxtInfoHob.h"
+"TxtOneTouch\TxtOneTouch.c"
+"TxtOneTouch\TxtOneTouch.h"
+<endComponent>
diff --git a/ReferenceCode/Haswell/Guid/CpuGuidLib.inf b/ReferenceCode/Haswell/Guid/CpuGuidLib.inf
new file mode 100644
index 0000000..12a43c2
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/CpuGuidLib.inf
@@ -0,0 +1,68 @@
+## @file
+# Component description file for CpuGuidLib
+#
+#@copyright
+# Copyright (c) 2008 - 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 = CpuGuidLib
+COMPONENT_TYPE = LIBRARY
+
+[sources.common]
+ HtBistHob/HtBistHob.c
+ HtBistHob/HtBistHob.h
+ SmramCpuDataVariable/SmramCpuDataVariable.c
+ SmramCpuDataVariable/SmramCpuDataVariable.h
+ SmramCpuDataHeader/SmramCpuDataHeader.c
+ SmramCpuDataHeader/SmramCpuDataHeader.h
+ PoweronHob/PoweronHob.c
+ PoweronHob/PoweronHob.h
+ PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.h
+ PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.c
+ TxtInfoHob/TxtInfoHob.c
+ TxtInfoHob/TxtInfoHob.h
+ TxtOneTouch/TxtOneTouch.c
+ TxtOneTouch/TxtOneTouch.h
+
+[includes.common]
+ $(EDK_SOURCE)/Foundation/Efi
+ $(EDK_SOURCE)/Foundation/Include
+ $(EDK_SOURCE)/Foundation/Efi/Include
+ $(EDK_SOURCE)/Foundation/Framework/Include
+ $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+ $(EDK_SOURCE)/Foundation/Core/Dxe
+ $(EDK_SOURCE)/Foundation/Include/Pei
+ $(EDK_SOURCE)/Foundation/Library/Pei/Include
+ $(EFI_SOURCE)/$(PROJECT_CPU_ROOT)
+
+#
+# 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/Haswell/Guid/CpuGuidLib.mak b/ReferenceCode/Haswell/Guid/CpuGuidLib.mak
new file mode 100644
index 0000000..b569f92
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/CpuGuidLib.mak
@@ -0,0 +1,19 @@
+# MAK file for the ModulePart:PpmGuidLib
+
+$(CpuGuidLib_LIB) : CpuGuidLib
+
+CpuGuidLib : $(BUILD_DIR)\CpuGuidLib.mak CpuGuidLibBin
+
+$(BUILD_DIR)\CpuGuidLib.mak : $(CpuGuidLib_DIR)\$(@B).cif $(CpuGuidLib_DIR)\$(@B).mak $(BUILD_RULES)
+ $(CIF2MAK) $(CpuGuidLib_DIR)\$(@B).cif $(CIF2MAK_DEFAULTS)
+
+CpuGuidLibBin :
+ $(MAKE) /$(MAKEFLAGS) $(EDK_DEFAULTS)\
+ /f $(BUILD_DIR)\CpuGuidLib.mak all\
+ "MY_INCLUDES=$(EDK_INCLUDES) $(EdkIIGlueLib_INCLUDES) $(PROJECT_CPU_INCLUDES)" \
+ TYPE=LIBRARY \
+ LIBRARY_NAME=$(CpuGuidLib_LIB)
+ $(MAKE) /$(MAKEFLAGS) $(EDK_DEFAULTS) BUILD_DIR=$(BUILD_DIR)\IA32\
+ /f $(BUILD_DIR)\CpuGuidLib.mak all\
+ "MY_INCLUDES=$(EDK_INCLUDES) $(EdkIIGlueLib_INCLUDES) $(PROJECT_CPU_INCLUDES)" \
+ TYPE=PEI_LIBRARY
diff --git a/ReferenceCode/Haswell/Guid/CpuGuidLib.sdl b/ReferenceCode/Haswell/Guid/CpuGuidLib.sdl
new file mode 100644
index 0000000..f328927
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/CpuGuidLib.sdl
@@ -0,0 +1,26 @@
+TOKEN
+ Name = CpuGuidLib_SUPPORT
+ Value = "1"
+ TokenType = Boolean
+ TargetEQU = Yes
+ TargetMAK = Yes
+ Master = Yes
+ Help = "Main switch to enable CpuGuidLib support in Project"
+End
+
+MODULE
+ Help = "Includes CpuGuidLib.mak to Project"
+ File = "CpuGuidLib.mak"
+End
+
+PATH
+ Name = "CpuGuidLib_DIR"
+End
+
+TOKEN
+ Name = "CpuGuidLib_LIB"
+ Value = "$$(LIB_BUILD_DIR)\CpuGuidLib.lib"
+ TokenType = Expression
+ TargetMAK = Yes
+End
+
diff --git a/ReferenceCode/Haswell/Guid/HtBistHob/HtBistHob.c b/ReferenceCode/Haswell/Guid/HtBistHob/HtBistHob.c
new file mode 100644
index 0000000..a2457c7
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/HtBistHob/HtBistHob.c
@@ -0,0 +1,24 @@
+/** @file
+ GUIDs used for HT BIST Status HOB entries in the HOB list.
+
+@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 'Framework Code' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may not be modified, except as allowed by
+ additional terms of your license agreement.
+**/
+#include "Tiano.h"
+#include EFI_GUID_DEFINITION (HtBistHob)
+
+EFI_GUID gEfiHtBistHobGuid = EFI_HT_BIST_HOB_GUID;
+
+EFI_GUID_STRING(&gEfiHtBistHobGuid, "HT BIST HOB", "HT BIST HOB GUID for HOB list.");
diff --git a/ReferenceCode/Haswell/Guid/HtBistHob/HtBistHob.h b/ReferenceCode/Haswell/Guid/HtBistHob/HtBistHob.h
new file mode 100644
index 0000000..bd5e593
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/HtBistHob/HtBistHob.h
@@ -0,0 +1,29 @@
+/** @file
+ GUID used for HT BIST Status HOB entries in the HOB list.
+
+@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 'Framework Code' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may not be modified, except as allowed by
+ additional terms of your license agreement.
+**/
+#ifndef _HT_BIST_HOB_GUID_H_
+#define _HT_BIST_HOB_GUID_H_
+
+#define EFI_HT_BIST_HOB_GUID \
+ { \
+ 0xbe644001, 0xe7d4, 0x48b1, 0xb0, 0x96, 0x8b, 0xa0, 0x47, 0xbc, 0x7a, 0xe7 \
+ }
+
+extern EFI_GUID gEfiHtBistHobGuid;
+
+#endif
diff --git a/ReferenceCode/Haswell/Guid/PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.c b/ReferenceCode/Haswell/Guid/PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.c
new file mode 100644
index 0000000..f8878dd
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.c
@@ -0,0 +1,40 @@
+/** @file
+ The GUID definition for power management ACPI table storage file name
+
+@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
+///
+#include "EdkIIGlueDxe.h"
+#include "PowerMgmtAcpiTableStorage.h"
+
+///
+/// Protocol GUID definition
+///
+EFI_GUID gPowerMgmtAcpiTableStorageGuid = POWER_MGMT_ACPI_TABLE_STORAGE_GUID;
+
+///
+/// Protocol description
+///
+EFI_GUID_STRING
+(
+ &gPowerMgmtAcpiTableStorageGuid, "Power Management ACPI Table Storage File Name",
+ "Power Management ACPI Table Storage file name GUID"
+);
diff --git a/ReferenceCode/Haswell/Guid/PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.h b/ReferenceCode/Haswell/Guid/PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.h
new file mode 100644
index 0000000..fa96723
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/PowerMgmtAcpiTableStorage/PowerMgmtAcpiTableStorage.h
@@ -0,0 +1,35 @@
+/** @file
+ GUID definition for the Power Management ACPI table storage file name
+
+@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 _POWER_MGMT_ACPI_TABLE_STORAGE_H_
+#define _POWER_MGMT_ACPI_TABLE_STORAGE_H_
+
+///
+/// Power Mgmt policy provided by platform for ACPI Table Storage
+/// {299141BB-211A-48a5-92C0-6F9A0A3A006E}
+///
+#define POWER_MGMT_ACPI_TABLE_STORAGE_GUID \
+ { \
+ 0x299141bb, 0x211a, 0x48a5, 0x92, 0xc0, 0x6f, 0x9a, 0xa, 0x3a, 0x0, 0x6e \
+ }
+
+extern EFI_GUID gPowerMgmtAcpiTableStorageGuid;
+
+#endif
diff --git a/ReferenceCode/Haswell/Guid/PoweronHob/PoweronHob.c b/ReferenceCode/Haswell/Guid/PoweronHob/PoweronHob.c
new file mode 100644
index 0000000..660d5d1
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/PoweronHob/PoweronHob.c
@@ -0,0 +1,24 @@
+/** @file
+ GUIDs used for PowerOn boot mode (not reset).
+
+@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 'Framework Code' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may not be modified, except as allowed by
+ additional terms of your license agreement.
+**/
+#include "Tiano.h"
+#include EFI_GUID_DEFINITION (PowerOnHob)
+
+EFI_GUID gEfiPowerOnHobGuid = EFI_POWER_ON_HOB_GUID;
+
+EFI_GUID_STRING(&gEfiPowerOnHobGuid, "Power On HOB", "Hob GUID for Power On boot mode");
diff --git a/ReferenceCode/Haswell/Guid/PoweronHob/PoweronHob.h b/ReferenceCode/Haswell/Guid/PoweronHob/PoweronHob.h
new file mode 100644
index 0000000..9d0487b
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/PoweronHob/PoweronHob.h
@@ -0,0 +1,29 @@
+/** @file
+ GUID for Power On boot mode.
+
+@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 'Framework Code' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may not be modified, except as allowed by
+ additional terms of your license agreement.
+**/
+#ifndef _POWER_ON_HOB_GUID_H_
+#define _POWER_ON_HOB_GUID_H_
+
+#define EFI_POWER_ON_HOB_GUID \
+ { \
+ 0x468a601, 0xc535, 0x46fd, 0xa9, 0x5d, 0xbb, 0xab, 0x99, 0x1b, 0x17, 0x8c \
+ }
+
+extern EFI_GUID gEfiPowerOnHobGuid;
+
+#endif
diff --git a/ReferenceCode/Haswell/Guid/SmramCpuDataHeader/SmramCpuDataHeader.c b/ReferenceCode/Haswell/Guid/SmramCpuDataHeader/SmramCpuDataHeader.c
new file mode 100644
index 0000000..76f25fe
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/SmramCpuDataHeader/SmramCpuDataHeader.c
@@ -0,0 +1,24 @@
+/** @file
+ GUIDs used for SMRAM CPU DATA Header as signature for search
+
+@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 'Framework Code' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may not be modified, except as allowed by
+ additional terms of your license agreement.
+**/
+#include "Tiano.h"
+#include EFI_GUID_DEFINITION (SmramCpuDataHeader)
+
+EFI_GUID gSmramCpuDataHeaderGuid = SMRAM_CPU_DATA_HEADER_GUID;
+
+EFI_GUID_STRING(&gSmramCpuDataHeaderGuid, "SMRAM CPU DATA Header", "SMRAM CPU DATA Header GUID");
diff --git a/ReferenceCode/Haswell/Guid/SmramCpuDataHeader/SmramCpuDataHeader.h b/ReferenceCode/Haswell/Guid/SmramCpuDataHeader/SmramCpuDataHeader.h
new file mode 100644
index 0000000..fd8c4ea
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/SmramCpuDataHeader/SmramCpuDataHeader.h
@@ -0,0 +1,32 @@
+/** @file
+ GUIDs used for SMRAM CPU DATA Header signature
+
+@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 'Framework Code' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may not be modified, except as allowed by
+ additional terms of your license agreement.
+**/
+#ifndef _SMRAM_CPU_DATA_HEADER_H_
+#define _SMRAM_CPU_DATA_HEADER_H_
+
+///
+/// SMRAM CPU DATA Header for search by CpuS3Peim
+///
+#define SMRAM_CPU_DATA_HEADER_GUID \
+ { \
+ 0x5848fd2d, 0xd6af, 0x474b, 0x82, 0x75, 0x95, 0xdd, 0xe7, 0x0a, 0xe8, 0x23 \
+ }
+
+extern EFI_GUID gSmramCpuDataHeaderGuid;
+
+#endif
diff --git a/ReferenceCode/Haswell/Guid/SmramCpuDataVariable/SmramCpuDataVariable.c b/ReferenceCode/Haswell/Guid/SmramCpuDataVariable/SmramCpuDataVariable.c
new file mode 100644
index 0000000..9448ca9
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/SmramCpuDataVariable/SmramCpuDataVariable.c
@@ -0,0 +1,24 @@
+/** @file
+ GUIDs used for ACPI CPU DATA Variable.
+
+@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 'Framework Code' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may not be modified, except as allowed by
+ additional terms of your license agreement.
+**/
+#include "Tiano.h"
+#include EFI_GUID_DEFINITION (SmramCpuDataVariable)
+
+EFI_GUID gSmramCpuDataVariableGuid = SMRAM_CPU_DATA_VARIABLE_GUID;
+
+EFI_GUID_STRING(&gSmramCpuDataVariableGuid, "SMRAM CPU DATA Variable", "SMRAM CPU DATA Variable GUID");
diff --git a/ReferenceCode/Haswell/Guid/SmramCpuDataVariable/SmramCpuDataVariable.h b/ReferenceCode/Haswell/Guid/SmramCpuDataVariable/SmramCpuDataVariable.h
new file mode 100644
index 0000000..33a66b9
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/SmramCpuDataVariable/SmramCpuDataVariable.h
@@ -0,0 +1,46 @@
+/** @file
+ GUIDs used for SMRAM CPU DATA Variable to keep 2 locations for copying data from
+ regular memory to SMM memory
+
+@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 'Framework Code' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may not be modified, except as allowed by
+ additional terms of your license agreement.
+**/
+#ifndef _SMRAM_CPU_DATA_VARIABLE_H_
+#define _SMRAM_CPU_DATA_VARIABLE_H_
+
+///
+/// CPU Driver will maintain ACPI CPU DATA in regular memory,
+/// 1. CpuInitDxe driver will allocate SMM memory, and normal memory
+/// 2. Save both location in SMRAM_CPU_DATA_VARIABLE
+/// 3. Issue SMM_FROM_CPU_DRIVER_SAVE_INFO SW SMI to ask SMM driver to
+/// copy data to SMRAM with signature.
+/// 4. In S3 path, CPUS3 retrieves data by search signature in SMRAM.
+///
+#define SMRAM_CPU_DATA_VARIABLE_GUID \
+ { \
+ 0x429501d9, 0xe447, 0x40f4, 0x86, 0x7b, 0x75, 0xc9, 0x3a, 0x1d, 0xb5, 0x4e \
+ }
+
+#define SMRAM_CPU_DATA_VARIABLE L"SmramCpuDataVar"
+
+typedef struct {
+ EFI_PHYSICAL_ADDRESS LockBoxData;
+ EFI_PHYSICAL_ADDRESS SmramCpuData;
+ UINT64 LockBoxSize;
+} SMRAM_CPU_DATA_ADDRESS;
+
+extern EFI_GUID gSmramCpuDataVariableGuid;
+
+#endif
diff --git a/ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.c b/ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.c
new file mode 100644
index 0000000..6803c27
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.c
@@ -0,0 +1,33 @@
+/** @file
+ This file contains GUID to use for creation of TXT Info Hob.
+
+@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
+**/
+
+///
+/// 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_GUID_DEFINITION (TxtInfoHob)
+#endif
+
+EFI_GUID gTxtInfoHobGuid = TXT_INFO_HOB_GUID;
+
+EFI_GUID_STRING(&gTxtInfoHobGuid, "TXT Info Hob", "TXT Info Hob");
diff --git a/ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.h b/ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.h
new file mode 100644
index 0000000..e006497
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/TxtInfoHob/TxtInfoHob.h
@@ -0,0 +1,65 @@
+/** @file
+ This file contains definitions required for creation of TXT Info HOB.
+
+@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 _TXT_HOB_H_
+#define _TXT_HOB_H_
+
+#define TXT_INFO_HOB_GUID \
+ { \
+ 0x2986883F, 0x88E0, 0x48d0, 0x4B, 0x82, 0x20, 0xC2, 0x69, 0x48, 0xDD, 0xAC \
+ }
+
+extern EFI_GUID gTxtInfoHobGuid;
+
+#pragma pack(push, 1)
+
+typedef struct {
+ BOOLEAN ChipsetIsTxtCapable;
+ UINT8 TxtMode;
+ UINT64 PmBase;
+ UINT64 SinitMemorySize;
+ UINT64 TxtHeapMemorySize;
+ EFI_PHYSICAL_ADDRESS TxtDprMemoryBase;
+ UINT64 TxtDprMemorySize;
+ EFI_PHYSICAL_ADDRESS BiosAcmBase;
+ UINT64 BiosAcmSize;
+ EFI_PHYSICAL_ADDRESS McuUpdateDataAddr;
+ EFI_PHYSICAL_ADDRESS SinitAcmBase;
+ UINT64 SinitAcmSize;
+ UINT64 TgaSize;
+ EFI_PHYSICAL_ADDRESS TxtLcpPdBase;
+ UINT64 TxtLcpPdSize;
+ UINT64 Flags;
+} TXT_INFO_DATA;
+
+#define FLAGS0 0x1
+#define TXT_CPU_RESET_REQUIRED 0x2
+#define TPM_INIT_FAILED 0x4
+
+#define CMOS_INDEX_PORT 0x70
+#define CMOS_DATA_PORT 0x71
+
+typedef struct {
+ EFI_HOB_GUID_TYPE EfiHobGuidType;
+ TXT_INFO_DATA Data;
+} TXT_INFO_HOB;
+#pragma pack(pop)
+
+#endif
diff --git a/ReferenceCode/Haswell/Guid/TxtOneTouch/TxtOneTouch.c b/ReferenceCode/Haswell/Guid/TxtOneTouch/TxtOneTouch.c
new file mode 100644
index 0000000..acdeafc
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/TxtOneTouch/TxtOneTouch.c
@@ -0,0 +1,33 @@
+/** @file
+ This file contains definitions required for One-Touch function.
+
+@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
+**/
+
+///
+/// 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_GUID_DEFINITION (TxtOneTouch)
+#endif
+
+EFI_GUID gTxtOneTouchGuid = TXT_ONE_TOUCH_GUID;
+
+EFI_GUID_STRING(&gTxtOneTouchGuid, "TXT One_Touch GUID", "TXT One_Touch GUID");
diff --git a/ReferenceCode/Haswell/Guid/TxtOneTouch/TxtOneTouch.h b/ReferenceCode/Haswell/Guid/TxtOneTouch/TxtOneTouch.h
new file mode 100644
index 0000000..a99b42e
--- /dev/null
+++ b/ReferenceCode/Haswell/Guid/TxtOneTouch/TxtOneTouch.h
@@ -0,0 +1,53 @@
+/** @file
+ This file contains definitions required for One-Touch function.
+
+@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 _TXT_ONE_TOUCH_H_
+#define _TXT_ONE_TOUCH_H_
+
+#define TXT_ONE_TOUCH_GUID \
+ { \
+ 0x3D989471, 0xCFAC, 0x46B7, 0x9B, 0x1C, 0x8, 0x43, 0x1, 0x9, 0x40, 0x2D \
+ }
+
+extern EFI_GUID gTxtOneTouchGuid;
+
+//
+// Operation
+//
+#define ENABLE_VT 128
+#define DISABLE_VT_TXT 129
+#define ENABLE_VTD 130
+#define DISABLE_VTD_TXT 131
+#define ENABLE_ACTTPM_VT_VTD_TXT_DISABLE_STM 132
+#define ENABLE_ACTTPM_VT_VTD_TXT_STM 133
+#define DISABLE_STM 134
+#define DISABLE_TXT_STM 135
+#define DISABLE_SENTER_VMX 136 ///< optional
+#define ENABLE_VMX_SMX_ONLY 137 ///< optional
+#define ENABLE_VMX_OUTSIDE_SMX 138 ///< optional
+#define ENABLE_VMX 139 ///< optional
+#define ENABLE_SENTER_ONLY 140 ///< optional
+#define ENABLE_SENTER_VMX_IN_SMX 141 ///< optional
+#define ENABLE_SENTER_VMX_OUTSIDE_SMX 142 ///< optional
+#define ENABLE_SENTER_VMX 143 ///< optional
+#define SET_NO_TXT_MAINTENANCE_FALSE 159
+#define SET_NO_TXT_MAINTENANCE_TRUE 160
+
+#endif