summaryrefslogtreecommitdiff
path: root/Include/RomLayout.h
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 /Include/RomLayout.h
downloadzprj-master.tar.xz
init. 1AQQW051HEADmaster
Diffstat (limited to 'Include/RomLayout.h')
-rw-r--r--Include/RomLayout.h128
1 files changed, 128 insertions, 0 deletions
diff --git a/Include/RomLayout.h b/Include/RomLayout.h
new file mode 100644
index 0000000..0bc629b
--- /dev/null
+++ b/Include/RomLayout.h
@@ -0,0 +1,128 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+
+//**********************************************************************
+// $Header: /Alaska/BIN/Core/Include/RomLayout.h 5 10/28/11 4:12p Felixp $
+//
+// $Revision: 5 $
+//
+// $Date: 10/28/11 4:12p $
+//**********************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Core/Include/RomLayout.h $
+//
+// 5 10/28/11 4:12p Felixp
+// [TAG] EIP70518
+// [Category] Improvement
+// [Description] New ROM_AREA_VITAL attribute is added to mark areas
+// that are required for the firmware recovery to work.
+//
+// 4 5/13/11 3:46p Artems
+// Added firmware volume attribute "Signed"
+//
+// 3 2/05/11 2:07p Artems
+// Added "OFFSET" field to ROM_LAYOUT structure
+// Added new FV attributes
+//
+// 2 6/09/09 10:08a Felixp
+// Bug fix: typo in ROM_AREA_TYPE definition: 'RomAeraTypeRaw' instead of
+// 'RomAreaTypeRaw'
+//
+// 1 5/08/09 12:21a Felixp
+// ROM Layout structure type and related definitions
+//
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: RomLayout.h
+//
+// Description: ROM Layout structure type and related definitions
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+#ifndef __ROM_LAYOUT__H__
+#define __ROM_LAYOUT__H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <EFI.h>
+
+#pragma pack(push, 1)
+
+typedef enum {
+ RomAreaTypeFv,
+ RomAreaTypeRaw,
+ RomAreaTypeMax
+} ROM_AREA_TYPE;
+
+typedef struct {
+ EFI_PHYSICAL_ADDRESS Address;
+ UINT32 Offset;
+ UINT32 Size;
+ ROM_AREA_TYPE Type;
+ UINT32 Attributes;
+} ROM_AREA;
+
+#pragma pack(pop)
+
+// The FV will be published early in PEI
+#define ROM_AREA_FV_PEI 0x00000002
+// The FV will be published in PEI after the memory detection
+#define ROM_AREA_FV_PEI_MEM 0x00000004
+// The FV will be published in DXE IPL Entry prior to transition to DXE.
+// The FV published in DXE IPL are not processed by the PEI dispatcher.
+// The FV is visible to DXE IPL, which means it can contain the DXE Core.
+#define ROM_AREA_FV_DXE 0x00000008
+// Reserved for future use
+#define ROM_AREA_FV_BDS 0x00000010
+// The FV will be published in PEI after the memory detection
+// (just like ROM_AREA_FV_PEI_MEM).
+// The FV will be copied to memory prior to the publishing.
+#define ROM_AREA_FV_PEI_SHADOW 0x00000020
+
+// The FV is processed by the PEI dispatcher if either
+// ROM_AREA_FV_PEI, or ROM_AREA_FV_PEI_MEM, or ROM_AREA_FV_PEI_SHADOW
+// attribute is defined.
+// The FV is processed by the DXE dispatcher if ROM_AREA_FV_DXE attribute is defined.
+
+#define ROM_AREA_FV_VERIFY 0x00000040
+#define ROM_AREA_FV_NON_CRITICAL 0x00000080
+#define ROM_AREA_FV_NFV_PRESENT 0x00000100
+#define ROM_AREA_FV_SIGNED 0x00000200
+
+// This area is required to perform a firmware recovery.
+// The firmware recovery will not work if this area is corrupted.
+#define ROM_AREA_VITAL 0x00000400
+
+#define ROM_AREA_FV_PEI_ACCESS (ROM_AREA_FV_PEI | ROM_AREA_FV_PEI_MEM | ROM_AREA_FV_PEI_SHADOW)
+
+/****** DO NOT WRITE BELOW THIS LINE *******/
+#ifdef __cplusplus
+}
+#endif
+#endif
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************