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 /Core/EM/PeiRamBoot/PeiRamBoot.h | |
download | zprj-master.tar.xz |
Diffstat (limited to 'Core/EM/PeiRamBoot/PeiRamBoot.h')
-rw-r--r-- | Core/EM/PeiRamBoot/PeiRamBoot.h | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/Core/EM/PeiRamBoot/PeiRamBoot.h b/Core/EM/PeiRamBoot/PeiRamBoot.h new file mode 100644 index 0000000..58473e2 --- /dev/null +++ b/Core/EM/PeiRamBoot/PeiRamBoot.h @@ -0,0 +1,162 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* + +//********************************************************************** +// $Header: /Alaska/SOURCE/Modules/PEI Ram Boot/PeiRamBoot.h 7 8/08/12 4:25a Calvinchen $ +// +// $Revision: 7 $ +// +// $Date: 8/08/12 4:25a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/PEI Ram Boot/PeiRamBoot.h $ +// +// 7 8/08/12 4:25a Calvinchen +// 1. Changed for ReportFv2.c by Artem's suggestion. +// 2. Fixed System hangs if Memory Mapping Changed with warm boot. +// +// 6 7/18/12 3:41a Calvinchen +// +// 5 2/23/12 6:35a Calvinchen +// [TAG] EIP82264 +// [Category] Improvement +// [Description] Need to do cold boot to get the correct data in rom +// hole when changing data in rom hole. +// [Files] PeiRamBoot.sdl +// PeiRamBoot.mak +// PeiRamBoot.h +// PeiRamBoot.c +// PeiRamBootDxe.c +// PeiRamBoot.chm +// PeiRamBoot.cif +// +// 4 4/22/11 1:27a Calvinchen +// +// 3 12/29/10 5:35a Calvinchen +// Bug Fixed : DMI structure not update in system memory if +// PEI_RAM_BOOT_S3_SUPPORT = 1 with fast warm boot support. +// +// 2 12/14/10 2:25a Calvinchen +// Improvement : +// 1. Added an eLink "PeiRamBootList" for fast warm boot support +// (PEI_RAM_BOOT_S3_SUPPORT = 1). If system boots in warm boot state, BIOS +// directly boot to previous copied ROM image in RAM to save time of +// copying ROM. +// 2. Added "PEI_RAM_BOOT_S3_SUPPORT" = "2" for saving runtime memory, it +// only keep necessary PEIM FFS in runtime memory for S3 resume +// improvement. +// +// 1 10/27/10 2:48a Calvinchen +// Initial Check-in. +// +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: PeiRamBoot.h +// +// Description: Definition file for PEI Ram Boot. +// +//<AMI_FHDR_END> +//********************************************************************** + +#ifndef PI_SPECIFICATION_VERSION +#define PI_SPECIFICATION_VERSION 91 +#endif + +#define FLASH_DEVICE_BASE (0xFFFFFFFF - FLASH_SIZE + 1) + +#define ROM_IMAGE_MEMORY_HOB_GUID \ +{ 0xee2f45d2, 0x5ba4, 0x441e, 0x8a, 0x1d, 0xaa, 0x22, 0xdf, 0xa3, 0xb6, 0xc5 } + +#define ROM_IMAGE_ADDRESS_GUID \ +{ 0xDDE1BC72, 0xD45E, 0x4209, 0xAB, 0x85, 0x14, 0x46, 0x2D, 0x2F, 0x50, 0x74 } + +#define SMBIOS_FLASH_DATA_FFS_GUID \ +{ 0xFD44820B, 0xF1AB, 0x41C0, 0xAE, 0x4E, 0x0C, 0x55, 0x55, 0x6E, 0xB9, 0xBD } + +#define ROM_CACHE_ENABLE_PPI_GUID \ +{ 0x36E835BB, 0x661D, 0x4D37, 0x8D, 0xE5, 0x88, 0x53, 0x25, 0xDA, 0xE9, 0x10 } + +#define FLASH_EMPTY_BYTE (UINT8)(-FLASH_ERASE_POLARITY) + +//<AMI_SHDR_START> +//---------------------------------------------------------------------------- +// Name: HOB_ROM_IMAGE +// +// Description: This structure contains information for ROM Image HOB. +// +// Referrals: +// +//---------------------------------------------------------------------------- +//<AMI_SHDR_END> +typedef struct { + UINT32 FvAddress; + UINT32 FvLength; + UINT32 UsedBytes; + UINT32 MemAddress; + UINT16 NumOfPages; + UINT8 FvMemReady; + UINT8 IsBootFv; +} FV_INFO; + +typedef struct { +#if PEI_RAM_BOOT_S3_SUPPORT == 2 + UINT32 PeimAddress; + UINT32 PeimLength; +#else + UINT32 FfsAddress; + UINT8 FfsLength[3]; + UINT8 FvIndex; +#endif +} PEIM_FFS_INFO; + +typedef struct { + UINT32 FvAddress; + UINT32 FvLength; + UINT32 MemAddress; +} NESTED_FV_INFO; + +typedef struct { + EFI_HOB_GUID_TYPE EfiHobGuidType; + BOOLEAN HobValid; + UINT32 SmbiosFlashData; + EFI_PHYSICAL_ADDRESS StolenHobMemory; + UINT8 NumOfFv; + FV_INFO FvInfo[8]; + UINT8 NumOfPeim; +#if PEI_RAM_BOOT_S3_SUPPORT == 2 + PEIM_FFS_INFO PeimFfsInfo[16]; +#else + PEIM_FFS_INFO RsvdFfsInfo[16]; +#endif + UINT8 NestedFvValid; + UINT8 NumOfNestedFv; + NESTED_FV_INFO NestedFvInfo[4]; +} HOB_ROM_IMAGE; + +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//*************************************************************************
\ No newline at end of file |