3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 GUID used for Flash Map HOB entries in the HOB list.
22 #ifndef _FLASH_MAP_HOB_GUID_H_
23 #define _FLASH_MAP_HOB_GUID_H_
26 // Definitions for Flash Map
28 #define EFI_FLASH_MAP_HOB_GUID \
29 { 0xb091e7d2, 0x5a0, 0x4198, {0x94, 0xf0, 0x74, 0xb7, 0xb8, 0xc5, 0x54, 0x59 } }
33 // Definition for flash map GUIDed HOBs
35 typedef UINT32 EFI_FLASH_AREA_ATTRIBUTES
;
37 #define EFI_FLASH_AREA_FV 0x0001
38 #define EFI_FLASH_AREA_SUBFV 0x0002
39 #define EFI_FLASH_AREA_MEMMAPPED_FV 0x0004
40 #define EFI_FLASH_AREA_REQUIRED 0x0008
41 #define EFI_FLASH_AREA_CORRUPT 0x0010
43 typedef UINT8 EFI_FLASH_AREA_TYPE
;
45 #define EFI_FLASH_AREA_RECOVERY_BIOS 0x0 // Recovery code
46 #define EFI_FLASH_AREA_MAIN_BIOS 0x1 // Regular BIOS code
47 #define EFI_FLASH_AREA_PAL_B 0x2 // PAL-B
48 #define EFI_FLASH_AREA_RESERVED_03 0x3 // Reserved for backwards compatibility
49 #define EFI_FLASH_AREA_RESERVED_04 0x4 // Reserved for backwards compatibility
50 #define EFI_FLASH_AREA_DMI_FRU 0x5 // DMI FRU information
51 #define EFI_FLASH_AREA_OEM_BINARY 0x6 // OEM Binary Code/data
52 #define EFI_FLASH_AREA_RESERVED_07 0x7 // Reserved for backwards compatibility
53 #define EFI_FLASH_AREA_RESERVED_08 0x8 // Reserved for backwards compatibility
54 #define EFI_FLASH_AREA_RESERVED_09 0x9 // Reserved for backwards compatibility
55 #define EFI_FLASH_AREA_RESERVED_0A 0x0a // Reserved for backwards compatibility
56 #define EFI_FLASH_AREA_EFI_VARIABLES 0x0b // EFI variables
57 #define EFI_FLASH_AREA_MCA_LOG 0x0c // MCA error log
58 #define EFI_FLASH_AREA_SMBIOS_LOG 0x0d // SMBIOS error log
59 #define EFI_FLASH_AREA_FTW_BACKUP 0x0e // A backup block during FTW operations
60 #define EFI_FLASH_AREA_FTW_STATE 0x0f // State information during FTW operations
61 #define EFI_FLASH_AREA_UNUSED 0x0fd // Not used
62 #define EFI_FLASH_AREA_GUID_DEFINED 0x0fe // Usage defined by a GUID
65 // An individual sub-area Entry.
66 // A single flash area may consist of more than one sub-area.
69 EFI_FLASH_AREA_ATTRIBUTES Attributes
;
71 EFI_PHYSICAL_ADDRESS Base
;
72 EFI_PHYSICAL_ADDRESS Length
;
74 } EFI_FLASH_SUBAREA_ENTRY
;
78 EFI_FLASH_AREA_TYPE AreaType
;
79 EFI_GUID AreaTypeGuid
;
81 EFI_FLASH_SUBAREA_ENTRY Entries
[1];
82 } EFI_FLASH_MAP_ENTRY_DATA
;
85 EFI_HOB_GENERIC_HEADER Header
;
88 EFI_FLASH_AREA_TYPE AreaType
;
89 EFI_GUID AreaTypeGuid
;
91 EFI_FLASH_SUBAREA_ENTRY Entries
[1];
92 } EFI_HOB_FLASH_MAP_ENTRY_TYPE
;
95 // Internal definitions
99 EFI_FLASH_AREA_TYPE AreaType
;
100 EFI_GUID AreaTypeGuid
;
101 UINT32 NumberOfEntries
;
102 EFI_FLASH_SUBAREA_ENTRY SubAreaData
;
103 } EFI_FLASH_AREA_HOB_DATA
;
108 EFI_FLASH_AREA_ATTRIBUTES Attributes
;
109 EFI_FLASH_AREA_TYPE AreaType
;
111 EFI_GUID AreaTypeGuid
;
112 } EFI_FLASH_AREA_DATA
;
117 extern EFI_GUID gEfiFlashMapHobGuid
;
119 #endif // _FLASH_MAP_HOB_GUID_H_