diff options
Diffstat (limited to 'ReferenceCode/Chipset/LynxPoint/Guid')
8 files changed, 319 insertions, 0 deletions
diff --git a/ReferenceCode/Chipset/LynxPoint/Guid/ChipsetInitHob/ChipsetInitHob.c b/ReferenceCode/Chipset/LynxPoint/Guid/ChipsetInitHob/ChipsetInitHob.c new file mode 100644 index 0000000..40bc926 --- /dev/null +++ b/ReferenceCode/Chipset/LynxPoint/Guid/ChipsetInitHob/ChipsetInitHob.c @@ -0,0 +1,28 @@ +/** @file + The GUID definition for ChipsetInitHob + +@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 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 +**/ + +#include "Tiano.h" +#include "ChipsetInitHob.h" + +EFI_GUID gChipsetInitHobGuid = CHIPSET_INIT_INFO_HOB_GUID; + +EFI_GUID_STRING(&gChipsetInitHobGuid, "ChipsetInit HOB", "GUID for ChipsetInit HOB"); + diff --git a/ReferenceCode/Chipset/LynxPoint/Guid/ChipsetInitHob/ChipsetInitHob.h b/ReferenceCode/Chipset/LynxPoint/Guid/ChipsetInitHob/ChipsetInitHob.h new file mode 100644 index 0000000..df9548c --- /dev/null +++ b/ReferenceCode/Chipset/LynxPoint/Guid/ChipsetInitHob/ChipsetInitHob.h @@ -0,0 +1,62 @@ +/*++ @file + Contains data used to determine if BIOS/ME/PMC are in sync + with the required platform ChipsetInit settings. + +@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 _CHIPSET_INIT_INFO_HOBS_H__ +#define _CHIPSET_INIT_INFO_HOBS_H__ + +#define CHIPSET_INIT_INFO_HOB_GUID \ + { \ + 0xc1392859, 0x1f65, 0x446e,0xb3, 0xf5, 0x84, 0x35, 0xfc, 0xc7, 0xd1, 0xc4 \ + } + +extern EFI_GUID gChipsetInitInfoHobGuid; + +#pragma pack(push, 1) + +#ifndef _PEI_HOB_H_ +#ifndef __HOB__H__ +#ifndef __PI_HOB_H__ +typedef struct _EFI_HOB_GENERIC_HEADER { + UINT16 HobType; + UINT16 HobLength; + UINT32 Reserved; +} EFI_HOB_GENERIC_HEADER; + +typedef struct _EFI_HOB_GUID_TYPE { + EFI_HOB_GENERIC_HEADER Header; + EFI_GUID Name; + // + // Guid specific data goes here + // +} EFI_HOB_GUID_TYPE; +#endif +#endif +#endif + +typedef struct _CHIPSET_INIT_INFO_HOB { + EFI_HOB_GUID_TYPE Header; + UINT32 ChipsetInitTableLen; // Size of the ChipsetInit table in bytes + UINT8 ChipsetInitTableUpdReq; + UINT8 ChipsetInitTable[384]; +} CHIPSET_INIT_INFO_HOB; + +#pragma pack(pop) +#endif + diff --git a/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.cif b/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.cif new file mode 100644 index 0000000..c9678d7 --- /dev/null +++ b/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.cif @@ -0,0 +1,14 @@ +<component> + name = "PchGuidLib" + category = ModulePart + LocalRoot = "ReferenceCode\Chipset\LynxPoint\Guid\" + RefName = "PchGuidLib" +[files] +"PchGuidLib.sdl" +"PchGuidLib.mak" +"PchGuidLib.inf" +"ChipsetInitHob\ChipsetInitHob.c" +"ChipsetInitHob\ChipsetInitHob.h" +"S3SupportHob\S3SupportHob.c" +"S3SupportHob\S3SupportHob.h" +<endComponent> diff --git a/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.inf b/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.inf new file mode 100644 index 0000000..fe31ee1 --- /dev/null +++ b/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.inf @@ -0,0 +1,48 @@ +## @file +# Component description file for PchGuidLib +# +#@copyright +# Copyright (c) 2012 - 2015 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 = PchGuidLib +COMPONENT_TYPE = LIBRARY + +[sources.common] + ChipsetInitHob/ChipsetInitHob.c + ChipsetInitHob/ChipsetInitHob.h + S3SupportHob/S3SupportHob.c + S3SupportHob/S3SupportHob.h + +[includes.common] + $(EFI_SOURCE)/$(PROJECT_PCH_ROOT) + +# +# EDK II Glue Library utilizes some standard headers from EDK +# + $(EDK_SOURCE)/Foundation + $(EDK_SOURCE)/Foundation/Core/Dxe + $(EDK_SOURCE)/Foundation/Efi + $(EDK_SOURCE)/Foundation/Efi/Include + $(EDK_SOURCE)/Foundation/Framework + $(EDK_SOURCE)/Foundation/Framework/Include + $(EDK_SOURCE)/Foundation/Include + $(EDK_SOURCE)/Foundation/Include/IndustryStandard + $(EDK_SOURCE)/Foundation/Library/Dxe/Include + $(EDK_SOURCE)/Foundation/Library/EdkIIGlueLib/Include + +[nmake.common] +C_STD_INCLUDE= diff --git a/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.mak b/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.mak new file mode 100644 index 0000000..df5e8f8 --- /dev/null +++ b/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.mak @@ -0,0 +1,21 @@ +# MAK file for the ModulePart:PchGuidLib +all : PchGuidLib + +$(PchGuidLib_LIB) : PchGuidLib + +PchGuidLib : $(BUILD_DIR)\PchGuidLib.mak PchGuidLibBin + +$(BUILD_DIR)\PchGuidLib.mak : $(PchGuidLib_DIR)\$(@B).cif $(PchGuidLib_DIR)\$(@B).mak $(BUILD_RULES) + $(CIF2MAK) $(PchGuidLib_DIR)\$(@B).cif $(CIF2MAK_DEFAULTS) + +PchGuidLibBin : + $(MAKE) /$(MAKEFLAGS) $(EDK_DEFAULTS)\ + /f $(BUILD_DIR)\PchGuidLib.mak all\ + "MY_INCLUDES=$(EDK_INCLUDES) $(EdkIIGlueLib_INCLUDES)" \ + TYPE=LIBRARY +!IF "$(x64_BUILD)"=="1" + $(MAKE) /$(MAKEFLAGS) $(EDK_DEFAULTS) BUILD_DIR=$(BUILD_DIR)\IA32\ + /f $(BUILD_DIR)\PchGuidLib.mak all\ + "MY_INCLUDES=$(EDK_INCLUDES) $(EdkIIGlueLib_INCLUDES)" \ + TYPE=PEI_LIBRARY +!ENDIF diff --git a/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.sdl b/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.sdl new file mode 100644 index 0000000..f9a5886 --- /dev/null +++ b/ReferenceCode/Chipset/LynxPoint/Guid/PchGuidLib.sdl @@ -0,0 +1,43 @@ +TOKEN + Name = "PchGuidLib_SUPPORT" + Value = "1" + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + Master = Yes + Help = "Main switch to enable PchGuidLib support in Project" +End + +MODULE + Help = "Includes PchGuidLib.mak to Project" + File = "PchGuidLib.mak" +End + +PATH + Name = "PchGuidLib_DIR" +End + +ELINK + Name = "/I$(PchGuidLib_DIR)" + Parent = "INTEL_PCH_INCLUDES" + InvokeOrder = AfterParent +End + +ELINK + Name = "/I$(PchGuidLib_DIR)\ChipsetInitHob" + Parent = "INTEL_PCH_INCLUDES" + InvokeOrder = AfterParent +End + +ELINK + Name = "/I$(PchGuidLib_DIR)\S3SupportHob" + Parent = "INTEL_PCH_INCLUDES" + InvokeOrder = AfterParent +End + +TOKEN + Name = "PchGuidLib_LIB" + Value = "$$(LIB_BUILD_DIR)\PchGuidLib.lib" + TokenType = Expression + TargetMAK = Yes +End diff --git a/ReferenceCode/Chipset/LynxPoint/Guid/S3SupportHob/S3SupportHob.c b/ReferenceCode/Chipset/LynxPoint/Guid/S3SupportHob/S3SupportHob.c new file mode 100644 index 0000000..b722fb1 --- /dev/null +++ b/ReferenceCode/Chipset/LynxPoint/Guid/S3SupportHob/S3SupportHob.c @@ -0,0 +1,30 @@ +/** @file + The GUID definition for ChipsetInitHob + +@copyright + Copyright (c) 2015 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 +**/ + +#include <Tiano.h> +#include "S3SupportHob.h" + +EFI_GUID gS3SupportHobGuid = S3_SUPPORT_HOB_GUID; +EFI_GUID gS3DataHobGuid = S3_DATA_HOB_GUID; + +EFI_GUID_STRING(&gS3SupportHobGuid, "S3 Support HOB", "GUID for S3 Support HOB"); +EFI_GUID_STRING(&gS3DataHobGuid, "S3 Data HOB", "GUID for S3 Data HOB") + diff --git a/ReferenceCode/Chipset/LynxPoint/Guid/S3SupportHob/S3SupportHob.h b/ReferenceCode/Chipset/LynxPoint/Guid/S3SupportHob/S3SupportHob.h new file mode 100644 index 0000000..8892e02 --- /dev/null +++ b/ReferenceCode/Chipset/LynxPoint/Guid/S3SupportHob/S3SupportHob.h @@ -0,0 +1,73 @@ +/*++ @file + Contains data used to determine if BIOS/ME/PMC are in sync + with the required platform ChipsetInit settings. + +@copyright + Copyright (c) 2015 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 _S3_SUPPORT_HOBS_H__ +#define _S3_SUPPORT_HOBS_H__ + +#define S3_SUPPORT_HOB_GUID \ + { \ + 0xd33ca878, 0xde8f, 0x47d0, 0x9e, 0x47, 0x4d, 0x81, 0xb1, 0xa0, 0x9e, 0x88 \ + } + +#define S3_DATA_HOB_GUID \ + { \ + 0x806e1de3, 0xc6c1, 0x495c, 0x85, 0xf4, 0x1b, 0xda, 0xbf, 0x93, 0x0, 0x5d \ + } + +extern EFI_GUID gS3SupportHobGuid; +extern EFI_GUID gS3DataHobGuid; + +#pragma pack(push, 1) + +#ifndef _PEI_HOB_H_ +#ifndef __HOB__H__ +#ifndef __PI_HOB_H__ +typedef struct _EFI_HOB_GENERIC_HEADER { + UINT16 HobType; + UINT16 HobLength; + UINT32 Reserved; +} EFI_HOB_GENERIC_HEADER; + +typedef struct _EFI_HOB_GUID_TYPE { + EFI_HOB_GENERIC_HEADER Header; + EFI_GUID Name; + // + // Guid specific data goes here + // +} EFI_HOB_GUID_TYPE; +#endif +#endif +#endif + +typedef struct _S3_SUPPORT_HOB { + EFI_HOB_GUID_TYPE Header; + UINT32 PchS3PeimEntryPoint; // Entry Point of the PCH S3 PEIM module +} S3_SUPPORT_HOB; + +typedef struct _S3_DATA_HOB { + EFI_HOB_GUID_TYPE Header; + VOID *S3DispatchDataArray; // Pointer to the EFI_PCH_S3_DISPATCH_ARRAY to be passed to DXE +} S3_DATA_HOB; + +#pragma pack(pop) +#endif + |