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/Pfat/PfatCpuPolicyOverride | |
download | zprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz |
Diffstat (limited to 'Board/EM/Pfat/PfatCpuPolicyOverride')
-rw-r--r-- | Board/EM/Pfat/PfatCpuPolicyOverride/OpensslLib.lib | bin | 0 -> 132502 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatCpuPolicyOverride/PeiCryptLib.lib | bin | 0 -> 115966 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.c | 387 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.cif | 14 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.dxs | 55 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.h | 133 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.mak | 116 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.sdl | 98 |
8 files changed, 803 insertions, 0 deletions
diff --git a/Board/EM/Pfat/PfatCpuPolicyOverride/OpensslLib.lib b/Board/EM/Pfat/PfatCpuPolicyOverride/OpensslLib.lib Binary files differnew file mode 100644 index 0000000..290a4fa --- /dev/null +++ b/Board/EM/Pfat/PfatCpuPolicyOverride/OpensslLib.lib diff --git a/Board/EM/Pfat/PfatCpuPolicyOverride/PeiCryptLib.lib b/Board/EM/Pfat/PfatCpuPolicyOverride/PeiCryptLib.lib Binary files differnew file mode 100644 index 0000000..b05426c --- /dev/null +++ b/Board/EM/Pfat/PfatCpuPolicyOverride/PeiCryptLib.lib diff --git a/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.c b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.c new file mode 100644 index 0000000..6eeb851 --- /dev/null +++ b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.c @@ -0,0 +1,387 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (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/SharkBayRefCodes/IntelPfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.c 3 10/29/12 4:09p Fredericko $ +// +// $Revision: 3 $ +// +// $Date: 10/29/12 4:09p $ +// +// +// +//************************************************************************* +//<AMI_FHDR_START> +// +// Name: PfatCpuPolicyOverride.c +// +// Description: Code listing file for PfatCpuPolicyOverride +// +//<AMI_FHDR_END> +//************************************************************************* + +#include "PfatCpuPolicyOverride.h" + +EFI_GUID pFatFileGuid = PFAT_PUB_KEY_FFS_FILE_RAW_GUID; + +STATIC EFI_PEI_NOTIFY_DESCRIPTOR mPfatCpuPolicyOverrideNotifyDesc = { + (EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST), + &gPeiCpuPlatformPolicyPpiGuid, + PfatCpuPolicyOverrideEndOfPeiCpuPlatformPolicy +}; + +//********************************************************************** +//<AMI_PHDR_START> +// +// Procedure: CryptoGetRawImage +// +// Description: Loads binary from RAW section of X firwmare volume +// +// +// Output: Buffer - returns a pointer to allocated memory. Caller +// must free it when done. +// Size - returns the size of the binary loaded into the +// buffer. +// +//<AMI_PHDR_END> +//********************************************************************** +EFI_STATUS +LocatPfatPubKey (IN EFI_PEI_SERVICES **PpSv, IN OUT VOID **Buffer) +{ + EFI_STATUS Status; + EFI_FIRMWARE_VOLUME_HEADER *pFV; + UINTN FvNum=0; + EFI_FFS_FILE_HEADER *ppFile=NULL; + BOOLEAN Found = FALSE; + + Status = (*PpSv)->FfsFindNextVolume (PpSv, FvNum, &pFV); + + while ( TRUE ) + { + Status = (*PpSv)->FfsFindNextVolume( PpSv, FvNum, &pFV ); + if ( EFI_ERROR( Status )) + { + return Status; + } + + ppFile = NULL; + + while ( TRUE ) + { + Status = (*PpSv)->FfsFindNextFile( PpSv, + EFI_FV_FILETYPE_FREEFORM, + pFV, + &ppFile ); + + if ( Status == EFI_NOT_FOUND ) + { + break; + } + + DEBUG ((EFI_D_INFO, " ppFile guid:: %x \n", ppFile->Name)); + + if (CompareGuid( &ppFile->Name, &pFatFileGuid )) + { + Found = TRUE; + break; + } + } + + if ( Found ) + { + break; + } + else { + FvNum++; + } + } + + Status = (*PpSv)->FfsFindSectionData( PpSv, + EFI_SECTION_RAW, + ppFile, + Buffer ); + + if (EFI_ERROR( Status )) { + return EFI_NOT_FOUND; + } + + return Status; +} + + + + +//********************************************************************** +//<AMI_PHDR_START> +// +// Procedure: CpuPolicy Override for Pfat +// +// Description: PfatCpuPolicyOverride at end of PeiCpuPlatformPolicy +// handler. +// +// Output: PeiServices - Pointer to PEI Services Table. +// NotifyDesc - Pointer to the descriptor for the Notification +// event that caused this function to execute. +// Ppi - Pointer to the PPI data associated with +// this function. +// +//<AMI_PHDR_END> +//********************************************************************** +STATIC +EFI_STATUS +PfatCpuPolicyOverrideEndOfPeiCpuPlatformPolicy ( + IN EFI_PEI_SERVICES **PeiServices, + IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDesc, + IN VOID *Ppi +) +{ + EFI_STATUS Status; + PEI_CPU_PLATFORM_POLICY_PPI *CpuPlatformPolicyPpi; + PFAT_CONFIG *PfatConfig; + CPU_CONFIG_PPI *CpuConfig; + UINT32 TotalROMSize = 0; + UINTN pFatHashDataSize = 0; + UINT8 pFatHash256Val[32]; + UINT8 *Sha256PubKeyDigest; + VOID *pFatSha256Context; + VOID *pFatData; + + Status = PeiServicesLocatePpi (&gPeiCpuPlatformPolicyPpiGuid, 0, NULL, &CpuPlatformPolicyPpi); + if ( EFI_ERROR( Status ) ) { + return Status; + } + + PfatConfig = CpuPlatformPolicyPpi->SecurityConfig->PfatConfig; + CpuConfig = CpuPlatformPolicyPpi->CpuConfig; + + CpuConfig->Pfat = CPU_FEATURE_ENABLE; + pFatHashDataSize = Sha256GetContextSize (); + Status = ((*PeiServices)->AllocatePool) (PeiServices, pFatHashDataSize, &pFatSha256Context); + if ( EFI_ERROR( Status ) ) { + return Status; + } + + Status = LocatPfatPubKey(PeiServices ,&Sha256PubKeyDigest); + // + // If it fails it might be in non PUPC mode + // + if ( !EFI_ERROR( Status ) ) { + PfatConfig->PupHeader.PkgAttributes = 0; + CopyMem (&PfatConfig->Ppdt.PkeySlot0, Sha256PubKeyDigest, 32); + } + + /// + /// Select to Flash Map 0 Register to get the number of flash Component + /// + MmioAndThenOr32 ( + SB_RCBA + R_PCH_SPI_FDOC, + (UINT32) (~(B_PCH_SPI_FDOC_FDSS_MASK | B_PCH_SPI_FDOC_FDSI_MASK)), + (UINT32) (V_PCH_SPI_FDOC_FDSS_FSDM | R_PCH_SPI_FDBAR_FLASH_MAP0) + ); + + switch ( MmioRead16 (SB_RCBA + R_PCH_SPI_FDOD) & B_PCH_SPI_FDBAR_NC ) { + case V_PCH_SPI_FDBAR_NC_1: + PfatConfig->NumSpiComponents = 1; + break; + case V_PCH_SPI_FDBAR_NC_2: + PfatConfig->NumSpiComponents = 2; + break; + default: + break; + } + + /// + /// Select to Flash Components Register to get the Component 1 Density + /// + MmioAndThenOr32 ( + SB_RCBA + R_PCH_SPI_FDOC, + (UINT32) (~(B_PCH_SPI_FDOC_FDSS_MASK | B_PCH_SPI_FDOC_FDSI_MASK)), + (UINT32) (V_PCH_SPI_FDOC_FDSS_COMP | R_PCH_SPI_FCBA_FLCOMP) + ); + + /// + /// Copy Component 1 Density + /// + switch ( (UINT8) MmioRead32 (SB_RCBA + R_PCH_SPI_FDOD) & B_PCH_SPI_FLCOMP_COMP1_MASK ) { + case V_PCH_SPI_FLCOMP_COMP1_512KB: + PfatConfig->ComponentSize[0] = EnumSpiCompSize512KB; + TotalROMSize += (UINT32) LShiftU64(512, KBShift); + break; + case V_PCH_SPI_FLCOMP_COMP1_1MB: + PfatConfig->ComponentSize[0] = EnumSpiCompSize1MB; + TotalROMSize += (UINT32) LShiftU64(1, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP1_2MB: + PfatConfig->ComponentSize[0] = EnumSpiCompSize2MB; + TotalROMSize += (UINT32) LShiftU64(2, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP1_4MB: + PfatConfig->ComponentSize[0] = EnumSpiCompSize4MB; + TotalROMSize += (UINT32) LShiftU64(4, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP1_8MB: + PfatConfig->ComponentSize[0] = EnumSpiCompSize8MB; + TotalROMSize += (UINT32) LShiftU64(8, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP1_16MB: + PfatConfig->ComponentSize[0] = EnumSpiCompSize16MB; + TotalROMSize += (UINT32) LShiftU64(16, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP1_32MB: + PfatConfig->ComponentSize[0] = EnumSpiCompSize32MB; + TotalROMSize += (UINT32) LShiftU64(32, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP1_64MB: + PfatConfig->ComponentSize[0] = EnumSpiCompSize64MB; + TotalROMSize += (UINT32) LShiftU64(64, MBShift); + break; + default: + break; + } + + /// + /// Copy Component 2 Density + /// + if ( PfatConfig->NumSpiComponents == 2 ) { + switch ( (UINT8) MmioRead32 (SB_RCBA + R_PCH_SPI_FDOD) & B_PCH_SPI_FLCOMP_COMP2_MASK ) { + case V_PCH_SPI_FLCOMP_COMP2_512KB: + PfatConfig->ComponentSize[1] = EnumSpiCompSize512KB; + TotalROMSize += (UINT32) LShiftU64(512, KBShift); + break; + case V_PCH_SPI_FLCOMP_COMP2_1MB: + PfatConfig->ComponentSize[1] = EnumSpiCompSize1MB; + TotalROMSize += (UINT32) LShiftU64(1, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP2_2MB: + PfatConfig->ComponentSize[1] = EnumSpiCompSize2MB; + TotalROMSize += (UINT32) LShiftU64(2, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP2_4MB: + PfatConfig->ComponentSize[1] = EnumSpiCompSize4MB; + TotalROMSize += (UINT32) LShiftU64(4, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP2_8MB: + PfatConfig->ComponentSize[1] = EnumSpiCompSize8MB; + TotalROMSize += (UINT32) LShiftU64(8, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP2_16MB: + PfatConfig->ComponentSize[1] = EnumSpiCompSize16MB; + TotalROMSize += (UINT32) LShiftU64(16, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP2_32MB: + PfatConfig->ComponentSize[1] = EnumSpiCompSize32MB; + TotalROMSize += (UINT32) LShiftU64(32, MBShift); + break; + case V_PCH_SPI_FLCOMP_COMP2_64MB: + PfatConfig->ComponentSize[1] = EnumSpiCompSize64MB; + TotalROMSize += (UINT32) LShiftU64(64, MBShift); + break; + default: + break; + } + } + + // + // LastSfam : Number of SfamData - 1 + // + PfatConfig->Ppdt.LastSfam = PFAT_COUNT - 1; + if (PfatConfig->Ppdt.LastSfam > (MAX_SFAM_COUNT - 1)) { + PfatConfig->Ppdt.LastSfam = MAX_SFAM_COUNT - 1; + } + + // + // SfamData[0] : BIOS Region only skip NVRAM + // + PfatConfig->Ppdt.SfamData[0].FirstByte = TotalROMSize - (0xFFFFFFFF - FV_MAIN_BASE + 1); + PfatConfig->Ppdt.SfamData[0].LastByte = TotalROMSize - 1; + + // + // SfamData[1] : ME Region + GBE Region + Description Region + // + PfatConfig->Ppdt.SfamData[1].FirstByte = 0x00; + PfatConfig->Ppdt.SfamData[1].LastByte = TotalROMSize - FLASH_SIZE -1; + PfatConfig->Ppdt.PpdtSize = (sizeof (PPDT) - sizeof (PfatConfig->Ppdt.SfamData) + ((PfatConfig->Ppdt.LastSfam + 1) * sizeof (SFAM_DATA))); + + // + // Defined values in the token + // + PfatConfig->Ppdt.BiosSvn = BIOS_SVN; + PfatConfig->PfatMemSize = (UINT8) RShiftU64(PfatMaxSectionSize, MBShift) + 1; + + // + // Hash the PPDT to PfatConfig->PpdtHash + // + pFatHashDataSize = PfatConfig->Ppdt.PpdtSize; + pFatData = (VOID *) &PfatConfig->Ppdt; + Sha256Init (pFatSha256Context); + Sha256Update (pFatSha256Context, pFatData, pFatHashDataSize); + Sha256Final (pFatSha256Context, pFatHash256Val); + CopyMem (&PfatConfig->PpdtHash[0], &pFatHash256Val[0], 8); + CopyMem (&PfatConfig->PpdtHash[1], &pFatHash256Val[8], 8); + CopyMem (&PfatConfig->PpdtHash[2], &pFatHash256Val[16], 8); + CopyMem (&PfatConfig->PpdtHash[3], &pFatHash256Val[24], 8); + return Status; +} + +EFI_STATUS +PfatCpuPolicyOverrideEntryPoint ( + IN EFI_FFS_FILE_HEADER *FfsHeader, + IN EFI_PEI_SERVICES **PeiServices +) +{ + EFI_STATUS Status; + EFI_PEI_READ_ONLY_VARIABLE_PPI *ReadOnlyVariable; + SETUP_DATA SetupData; + EFI_GUID SetupGuid = SYSTEM_CONFIGURATION_GUID; + UINTN VariableSize= sizeof (SETUP_DATA); + + Status = PeiServicesLocatePpi (&gEfiPeiReadOnlyVariablePpiGuid, 0, NULL, &ReadOnlyVariable); + if ( EFI_ERROR( Status ) ) { + return Status; + } + + Status = ReadOnlyVariable->PeiGetVariable ( + PeiServices, + L"Setup", + &SetupGuid, + NULL, + &VariableSize, + &SetupData + ); + if ( EFI_ERROR( Status ) ) { + return Status; + } + + if ( SetupData.Pfatstate == Enable ) { + Status = PeiServicesNotifyPpi (&mPfatCpuPolicyOverrideNotifyDesc); + if ( 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/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.cif b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.cif new file mode 100644 index 0000000..96b5b2b --- /dev/null +++ b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.cif @@ -0,0 +1,14 @@ +<component> + name = "PfatCpuPolicyOverride" + category = ModulePart + LocalRoot = "Board\EM\Pfat\PfatCpuPolicyOverride" + RefName = "PfatCpuPolicyOverride" +[files] +"PfatCpuPolicyOverride.c" +"PfatCpuPolicyOverride.h" +"PfatCpuPolicyOverride.dxs" +"PfatCpuPolicyOverride.sdl" +"PfatCpuPolicyOverride.mak" +"PeiCryptLib.lib" +"OpensslLib.lib" +<endComponent> diff --git a/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.dxs b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.dxs new file mode 100644 index 0000000..db14387 --- /dev/null +++ b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.dxs @@ -0,0 +1,55 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (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/SharkBayRefCodes/IntelPfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.dxs 2 9/25/12 6:16p Fredericko $Revision: +// +// $Date: +// +// +// +//************************************************************************* +//<AMI_FHDR_START> +// +// Name: PfatCpuPolicyOverride.dxs +// +// Description: PfatCpuPolicyOverride dependency file +// +//<AMI_FHDR_END> +//************************************************************************* + +#include "AutoGen.h" +#include "PeimDepex.h" +#if defined (BUILD_WITH_GLUELIB) || defined (BUILD_WITH_EDKII_GLUE_LIB) +#include "EfiDepex.h" +#include EFI_PPI_DEPENDENCY (Variable) +#endif + +DEPENDENCY_START + PEI_READ_ONLY_VARIABLE_ACCESS_PPI_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 ** +//** ** +//************************************************************************* +//*************************************************************************
\ No newline at end of file diff --git a/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.h b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.h new file mode 100644 index 0000000..c14735d --- /dev/null +++ b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.h @@ -0,0 +1,133 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (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/SharkBayRefCodes/IntelPfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.h 1 9/17/12 4:47p Fredericko $ +// +// $Revision: 1 $ +// +// $Date: 9/17/12 4:47p $ +// +// +// +//************************************************************************* +//<AMI_FHDR_START> +// +// Name: PfatCpuPolicyOverride.h +// +// Description: Header file for PfatCpuPolicyOverride sub-component +// +//<AMI_FHDR_END> +//************************************************************************* + +#ifndef _PFAT_CPU_POLICY_OVERRIDE_H_ +#define _PFAT_CPU_POLICY_OVERRIDE_H_ + +#if !defined(EDK_RELEASE_VERSION) || (EDK_RELEASE_VERSION < 0x00020000) +#include "EdkIIGluePeim.h" + +#include <Token.h> +#include <SetupDataDefinition.h> +#include "PchRegs.h" +#include EFI_PPI_PRODUCER (CpuPlatformPolicy) +#endif + +#define SYSTEM_CONFIGURATION_GUID { 0xEC87D643, 0xEBA4, 0x4BB5, 0xA1, 0xE5, 0x3F, 0x3E, 0x36, 0xB2, 0x0D, 0xA9 } + +#define PFAT_PUB_KEY_FFS_FILE_RAW_GUID \ + {0x8e295870, 0xd377, 0x4b75, 0xbf, 0xdc, 0x9a, 0xe2, 0xf6, 0xdb, 0xde, 0x22} + +#define KBShift 10 +#define MBShift 20 +#define Disable 0 +#define Enable 1 + +#if defined(BUILD_WITH_GLUELIB) +#undef SetMem +VOID * +SetMem ( + OUT VOID *Buffer, + IN UINTN Length, + IN UINT8 Value + ) +{ + return GlueSetMem (Buffer, Length, Value); +} + +#undef CopyMem +VOID * +EFIAPI +CopyMem ( + OUT VOID *DestinationBuffer, + IN CONST VOID *SourceBuffer, + IN UINTN Length + ) +{ + return GlueCopyMem (DestinationBuffer, SourceBuffer, Length); +} +#endif + +STATIC +EFI_STATUS +PfatCpuPolicyOverrideEndOfPeiCpuPlatformPolicy ( + IN EFI_PEI_SERVICES **PeiServices, + IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDesc, + IN VOID *Ppi +); + +// +// Hash functions definitions for pfat +// +UINTN +EFIAPI +Sha256GetContextSize ( + VOID + ); + +BOOLEAN +EFIAPI +Sha256Init ( + IN OUT VOID *Sha256Context + ); + +BOOLEAN +EFIAPI +Sha256Update ( + IN OUT VOID *Sha256Context, + IN CONST VOID *Data, + IN UINTN DataLength + ); + +BOOLEAN +EFIAPI +Sha256Final ( + IN OUT VOID *Sha256Context, + OUT UINT8 *HashValue + ); + +#endif + +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//*************************************************************************
\ No newline at end of file diff --git a/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.mak b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.mak new file mode 100644 index 0000000..4656d93 --- /dev/null +++ b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.mak @@ -0,0 +1,116 @@ +#********************************************************************** +#********************************************************************** +#** ** +#** (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/SharkBayRefCodes/IntelPfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.mak 4 10/29/12 4:10p Fredericko $ +# +# $Revision: 4 $ +# +# $Date: 10/29/12 4:10p $ +#********************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/SharkBayRefCodes/IntelPfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.mak $ +# +# 4 10/29/12 4:10p Fredericko +# [TAG] EIP84115 +# [Category] Improvement +# [Description] Implementing PFAT function for Shark Bay +# +# 3 10/05/12 6:28p Fredericko +# Make Pfat build with Debug Mode Turned On. +# +# 2 9/25/12 6:16p Fredericko +# +# 1 9/17/12 4:47p Fredericko +# Initial Check in for PfatCpuPolicyOverride +# +#********************************************************************** +#<AMI_FHDR_START> +# +# Name: PfatCpuPolicyOverride.mak +# +# Description: Make file for PfatCpuPolicyOverride +# +# +#<AMI_FHDR_END> +#********************************************************************** + +all : PfatCpuPolicyOverride + +PfatCpuPolicyOverride : $(BUILD_DIR)\PfatCpuPolicyOverride.mak PfatCpuPolicyOverrideBin + +$(BUILD_DIR)\PfatCpuPolicyOverride.mak : $(PFAT_CPU_POLICY_OVERRIDE_PATH)\PfatCpuPolicyOverride.cif $(PFAT_CPU_POLICY_OVERRIDE_PATH)\PfatCpuPolicyOverride.mak $(BUILD_RULES) + $(CIF2MAK) $(PFAT_CPU_POLICY_OVERRIDE_PATH)\PfatCpuPolicyOverride.cif $(CIF2MAK_DEFAULTS) + +PFAT_CPU_POLICY_OVERRIDE_INCLUDES = \ + $(EdkIIGlueLib_INCLUDES)\ + /I$(INTEL_COUGAR_POINT_INCLUDE_DIR)\ + /I$(PROJECT_CPU_ROOT)\ + /I$(PROJECT_CPU_ROOT)\Include \ + +PFAT_CPU_POLICY_OVERRIDE_DEFINES=\ + $(MY_DEFINES)\ + /D"__EDKII_GLUE_MODULE_ENTRY_POINT__=PfatCpuPolicyOverrideEntryPoint"\ + /D __EDKII_GLUE_BASE_LIB__ \ + /D __EDKII_GLUE_BASE_IO_LIB_INTRINSIC__ \ + /D __EDKII_GLUE_BASE_MEMORY_LIB__\ + /D __EDKII_GLUE_PEI_SERVICES_LIB__ \ + /D __EDKII_GLUE_PEI_MEMORY_ALLOCATION_LIB__ \ + /D __EDKII_GLUE_BASE_PCI_LIB_PCI_EXPRESS__ \ + +PFAT_CPU_POLICY_OVERRIDE_LIBS = \ + $(EDKFRAMEWORKGUIDLIB)\ + $(EDKPPILIB)\ + $(EdkIIGlueBaseLibIA32_LIB)\ + $(EdkIIGlueBaseIoLibIntrinsic_LIB)\ + $(EdkIIGlueBaseMemoryLib_LIB)\ + $(EdkIIGluePeiDebugLibReportStatusCode_LIB)\ + $(EdkIIGluePeiReportStatusCodeLib_LIB)\ + $(EdkIIGluePeiServicesLib_LIB)\ + $(EdkIIGluePeiMemoryAllocationLib_LIB)\ + $(EdkIIGlueBasePciLibPciExpress_LIB)\ + $(EdkIIGlueBasePciExpressLib_LIB)\ + $(EdkIIGluePeiHobLib_LIB)\ + $(INTEL_SA_PPI_LIB)\ + $(CPU_PPI_LIB)\ + +PfatCpuPolicyOverrideBin : $(PFAT_CPU_POLICY_OVERRIDE_LIBS) + $(MAKE) /$(MAKEFLAGS) $(EDKIIGLUE_DEFAULTS)\ + /f $(BUILD_DIR)\PfatCpuPolicyOverride.mak all\ + NAME=PfatCpuPolicyOverride \ + MAKEFILE=$(BUILD_DIR)\PfatCpuPolicyOverride.mak \ + "MY_INCLUDES=$(PFAT_CPU_POLICY_OVERRIDE_INCLUDES)"\ + "MY_DEFINES = $(PFAT_CPU_POLICY_OVERRIDE_DEFINES)" \ + OBJECTS="$(BUILD_DIR)\$(PFAT_CPU_POLICY_OVERRIDE_PATH)\PfatCpuPolicyOverride.obj" \ + GUID=FAF79E9F-4D40-4F02-8AC9-4B5512708F7F \ + ENTRY_POINT=_ModuleEntryPoint "EXT_HEADERS=$(BUILD_DIR)\token.h"\ + TYPE=PEIM \ + EDKIIModule=PEIM\ + DEPEX1=$(PFAT_CPU_POLICY_OVERRIDE_PATH)\PfatCpuPolicyOverride.dxs \ + DEPEX1_TYPE=EFI_SECTION_PEI_DEPEX \ + COMPRESS=0 + +#********************************************************************** +#********************************************************************** +#** ** +#** (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/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.sdl b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.sdl new file mode 100644 index 0000000..9fd801e --- /dev/null +++ b/Board/EM/Pfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.sdl @@ -0,0 +1,98 @@ +#********************************************************************** +#********************************************************************** +#** ** +#** (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/SharkBayRefCodes/IntelPfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.sdl 3 10/02/12 4:12p Fredericko $ +# +# $Revision: 3 $ +# +# $Date: 10/02/12 4:12p $ +#********************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/SharkBayRefCodes/IntelPfat/PfatCpuPolicyOverride/PfatCpuPolicyOverride.sdl $ +# +# 3 10/02/12 4:12p Fredericko +# BIOS_SVN token added +# +# 2 9/25/12 6:16p Fredericko +# +# 1 9/17/12 4:47p Fredericko +# Initial Check in for PfatCpuPolicyOverride +# +#********************************************************************** +#<AMI_FHDR_START> +# +# Name: PfatCpuPolicyOverride.sdl +# +# Description: SDL file for PfatCpuPolicyOverride +# +#<AMI_FHDR_END> +#********************************************************************** + +TOKEN + Name = "PFAT_CPU_POLICY_OVERRIDE_SUPPORT" + Value = "1" + Help = "Main switch to enable PFAT_CPU_POLICY_OVERRIDE_SUPPORT support in Project" + TokenType = Boolean + TargetMAK = Yes + TargetH = Yes + Master = Yes +End + +MODULE + Help = "Includes PfatCpuPolicyOverride.mak to Project" + File = "PfatCpuPolicyOverride.mak" +End + +PATH + Name = "PFAT_CPU_POLICY_OVERRIDE_PATH" +End + +TOKEN + Name = "PFAT_COUNT" + Value = "2" + Help = "" + TokenType = Integer + TargetEQU = Yes + TargetH = Yes +End + +TOKEN + Name = "BIOS_SVN" + Value = "9502720" + Help = "This token must to be decimal because Intel's PPB.exe only supported decimal. The definition is 0x910000(9502720) in PEI_CPU_PLATFORM_POLICY_PPI_REVISION_5." + TokenType = Integer + TargetMAK = Yes + TargetH = Yes +End + +ELINK + Name = "$(BUILD_DIR)\PfatCpuPolicyOverride.ffs" + Parent = "FV_BB" + 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 ** +#** ** +#********************************************************************** +#********************************************************************** |