]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Common/FlashMap.h
add English.inf, EdkFvbServiceLib.inf and Variable.inf
[mirror_edk2.git] / MdeModulePkg / Include / Common / FlashMap.h
diff --git a/MdeModulePkg/Include/Common/FlashMap.h b/MdeModulePkg/Include/Common/FlashMap.h
new file mode 100644 (file)
index 0000000..0473a69
--- /dev/null
@@ -0,0 +1,112 @@
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+  FlashMap.h\r
+\r
+Abstract:\r
+\r
+  FlashMap PPI defined in Tiano\r
+\r
+  This code abstracts FlashMap access\r
+\r
+--*/\r
+\r
+#ifndef __COMMON_FLASHMAP_H__\r
+#define __COMMON_FLASHMAP_H__\r
+\r
+#include <Common/FrameworkHob.h>\r
+//\r
+// Definition for flash map GUIDed HOBs\r
+//\r
+typedef UINT32  EFI_FLASH_AREA_ATTRIBUTES;\r
+\r
+#define EFI_FLASH_AREA_FV           0x0001\r
+#define EFI_FLASH_AREA_SUBFV        0x0002\r
+#define EFI_FLASH_AREA_MEMMAPPED_FV 0x0004\r
+#define EFI_FLASH_AREA_REQUIRED     0x0008\r
+#define EFI_FLASH_AREA_CORRUPT      0x0010\r
+\r
+typedef UINT8   EFI_FLASH_AREA_TYPE;\r
+\r
+#define EFI_FLASH_AREA_RECOVERY_BIOS  0x0   // Recovery code\r
+#define EFI_FLASH_AREA_MAIN_BIOS      0x1   // Regular BIOS code\r
+#define EFI_FLASH_AREA_PAL_B          0x2   // PAL-B\r
+#define EFI_FLASH_AREA_RESERVED_03    0x3   // Reserved for backwards compatibility\r
+#define EFI_FLASH_AREA_RESERVED_04    0x4   // Reserved for backwards compatibility\r
+#define EFI_FLASH_AREA_DMI_FRU        0x5   // DMI FRU information\r
+#define EFI_FLASH_AREA_OEM_BINARY     0x6   // OEM Binary Code/data\r
+#define EFI_FLASH_AREA_RESERVED_07    0x7   // Reserved for backwards compatibility\r
+#define EFI_FLASH_AREA_RESERVED_08    0x8   // Reserved for backwards compatibility\r
+#define EFI_FLASH_AREA_RESERVED_09    0x9   // Reserved for backwards compatibility\r
+#define EFI_FLASH_AREA_RESERVED_0A    0x0a  // Reserved for backwards compatibility\r
+#define EFI_FLASH_AREA_EFI_VARIABLES  0x0b  // EFI variables\r
+#define EFI_FLASH_AREA_MCA_LOG        0x0c  // MCA error log\r
+#define EFI_FLASH_AREA_SMBIOS_LOG     0x0d  // SMBIOS error log\r
+#define EFI_FLASH_AREA_FTW_BACKUP     0x0e  // A backup block during FTW operations\r
+#define EFI_FLASH_AREA_FTW_STATE      0x0f  // State information during FTW operations\r
+#define EFI_FLASH_AREA_UNUSED         0x0fd // Not used\r
+#define EFI_FLASH_AREA_GUID_DEFINED   0x0fe // Usage defined by a GUID\r
+#pragma pack(1)\r
+//\r
+// An individual sub-area Entry.\r
+// A single flash area may consist of  more than one sub-area.\r
+//\r
+typedef struct {\r
+  EFI_FLASH_AREA_ATTRIBUTES Attributes;\r
+  UINT32                    Reserved;\r
+  EFI_PHYSICAL_ADDRESS      Base;\r
+  EFI_PHYSICAL_ADDRESS      Length;\r
+  EFI_GUID                  FileSystem;\r
+} EFI_FLASH_SUBAREA_ENTRY;\r
+\r
+typedef struct {\r
+  UINT8                   Reserved[3];\r
+  EFI_FLASH_AREA_TYPE     AreaType;\r
+  EFI_GUID                AreaTypeGuid;\r
+  UINT32                  NumEntries;\r
+  EFI_FLASH_SUBAREA_ENTRY Entries[1];\r
+} EFI_FLASH_MAP_ENTRY_DATA;\r
+\r
+typedef struct {\r
+  EFI_HOB_GENERIC_HEADER  Header;\r
+  EFI_GUID                Name;\r
+  UINT8                   Reserved[3];\r
+  EFI_FLASH_AREA_TYPE     AreaType;\r
+  EFI_GUID                AreaTypeGuid;\r
+  UINT32                  NumEntries;\r
+  EFI_FLASH_SUBAREA_ENTRY Entries[1];\r
+} EFI_HOB_FLASH_MAP_ENTRY_TYPE;\r
+\r
+//\r
+// Internal definitions\r
+//\r
+typedef struct {\r
+  UINT8                   Reserved[3];\r
+  EFI_FLASH_AREA_TYPE     AreaType;\r
+  EFI_GUID                AreaTypeGuid;\r
+  UINT32                  NumberOfEntries;\r
+  EFI_FLASH_SUBAREA_ENTRY SubAreaData;\r
+} EFI_FLASH_AREA_HOB_DATA;\r
+\r
+typedef struct {\r
+  UINTN                     Base;\r
+  UINTN                     Length;\r
+  EFI_FLASH_AREA_ATTRIBUTES Attributes;\r
+  EFI_FLASH_AREA_TYPE       AreaType;\r
+  UINT8                     Reserved[3];\r
+  EFI_GUID                  AreaTypeGuid;\r
+} EFI_FLASH_AREA_DATA;\r
+\r
+#pragma pack()\r
+\r
+#endif\r