iPXE
PiHob.h
Go to the documentation of this file.
1/** @file
2 HOB related definitions in PI.
3
4Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 @par Revision Reference:
8 PI Version 1.9
9
10**/
11
12#ifndef __PI_HOB_H__
13#define __PI_HOB_H__
14
15FILE_LICENCE ( BSD2_PATENT );
16FILE_SECBOOT ( PERMITTED );
17
18//
19// HobType of EFI_HOB_GENERIC_HEADER.
20//
21#define EFI_HOB_TYPE_HANDOFF 0x0001
22#define EFI_HOB_TYPE_MEMORY_ALLOCATION 0x0002
23#define EFI_HOB_TYPE_RESOURCE_DESCRIPTOR 0x0003
24#define EFI_HOB_TYPE_GUID_EXTENSION 0x0004
25#define EFI_HOB_TYPE_FV 0x0005
26#define EFI_HOB_TYPE_CPU 0x0006
27#define EFI_HOB_TYPE_MEMORY_POOL 0x0007
28#define EFI_HOB_TYPE_FV2 0x0009
29#define EFI_HOB_TYPE_LOAD_PEIM_UNUSED 0x000A
30#define EFI_HOB_TYPE_UEFI_CAPSULE 0x000B
31#define EFI_HOB_TYPE_FV3 0x000C
32#define EFI_HOB_TYPE_UNUSED 0xFFFE
33#define EFI_HOB_TYPE_END_OF_HOB_LIST 0xFFFF
34
35///
36/// Describes the format and size of the data inside the HOB.
37/// All HOBs must contain this generic HOB header.
38///
39typedef struct {
40 ///
41 /// Identifies the HOB data structure type.
42 ///
44 ///
45 /// The length in bytes of the HOB.
46 ///
48 ///
49 /// This field must always be set to zero.
50 ///
53
54///
55/// Value of version in EFI_HOB_HANDOFF_INFO_TABLE.
56///
57#define EFI_HOB_HANDOFF_TABLE_VERSION 0x0009
58
59///
60/// Contains general state information used by the HOB producer phase.
61/// This HOB must be the first one in the HOB list.
62///
63typedef struct {
64 ///
65 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_HANDOFF.
66 ///
68 ///
69 /// The version number pertaining to the PHIT HOB definition.
70 /// This value is four bytes in length to provide an 8-byte aligned entry
71 /// when it is combined with the 4-byte BootMode.
72 ///
74 ///
75 /// The system boot mode as determined during the HOB producer phase.
76 ///
78 ///
79 /// The highest address location of memory that is allocated for use by the HOB producer
80 /// phase. This address must be 4-KB aligned to meet page restrictions of UEFI.
81 ///
83 ///
84 /// The lowest address location of memory that is allocated for use by the HOB producer phase.
85 ///
87 ///
88 /// The highest address location of free memory that is currently available
89 /// for use by the HOB producer phase.
90 ///
92 ///
93 /// The lowest address location of free memory that is available for use by the HOB producer phase.
94 ///
96 ///
97 /// The end of the HOB list.
98 ///
101
102///
103/// EFI_HOB_MEMORY_ALLOCATION_HEADER describes the
104/// various attributes of the logical memory allocation. The type field will be used for
105/// subsequent inclusion in the UEFI memory map.
106///
107typedef struct {
108 ///
109 /// A GUID that defines the memory allocation region's type and purpose, as well as
110 /// other fields within the memory allocation HOB. This GUID is used to define the
111 /// additional data within the HOB that may be present for the memory allocation HOB.
112 /// Type EFI_GUID is defined in InstallProtocolInterface() in the UEFI 2.0
113 /// specification.
114 ///
116
117 ///
118 /// The base address of memory allocated by this HOB. Type
119 /// EFI_PHYSICAL_ADDRESS is defined in AllocatePages() in the UEFI 2.0
120 /// specification.
121 ///
123
124 ///
125 /// The length in bytes of memory allocated by this HOB.
126 ///
128
129 ///
130 /// Defines the type of memory allocated by this HOB. The memory type definition
131 /// follows the EFI_MEMORY_TYPE definition. Type EFI_MEMORY_TYPE is defined
132 /// in AllocatePages() in the UEFI 2.0 specification.
133 ///
135
136 ///
137 /// Padding for Itanium processor family
138 ///
141
142///
143/// Describes all memory ranges used during the HOB producer
144/// phase that exist outside the HOB list. This HOB type
145/// describes how memory is used, not the physical attributes of memory.
146///
147typedef struct {
148 ///
149 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_ALLOCATION.
150 ///
152 ///
153 /// An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the
154 /// various attributes of the logical memory allocation.
155 ///
157 //
158 // Additional data pertaining to the "Name" Guid memory
159 // may go here.
160 //
162
163///
164/// Describes the memory stack that is produced by the HOB producer
165/// phase and upon which all post-memory-installed executable
166/// content in the HOB producer phase is executing.
167///
168typedef struct {
169 ///
170 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_ALLOCATION.
171 ///
173 ///
174 /// An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the
175 /// various attributes of the logical memory allocation.
176 ///
179
180///
181/// Defines the location of the boot-strap
182/// processor (BSP) BSPStore ("Backing Store Pointer Store").
183/// This HOB is valid for the Itanium processor family only
184/// register overflow store.
185///
186typedef struct {
187 ///
188 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_ALLOCATION.
189 ///
191 ///
192 /// An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the
193 /// various attributes of the logical memory allocation.
194 ///
197
198///
199/// Defines the location and entry point of the HOB consumer phase.
200///
201typedef struct {
202 ///
203 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_ALLOCATION.
204 ///
206 ///
207 /// An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the
208 /// various attributes of the logical memory allocation.
209 ///
211 ///
212 /// The GUID specifying the values of the firmware file system name
213 /// that contains the HOB consumer phase component.
214 ///
216 ///
217 /// The address of the memory-mapped firmware volume
218 /// that contains the HOB consumer phase firmware file.
219 ///
222
223///
224/// The resource type.
225///
227
228//
229// Value of ResourceType in EFI_HOB_RESOURCE_DESCRIPTOR.
230//
231#define EFI_RESOURCE_SYSTEM_MEMORY 0x00000000
232#define EFI_RESOURCE_MEMORY_MAPPED_IO 0x00000001
233#define EFI_RESOURCE_IO 0x00000002
234#define EFI_RESOURCE_FIRMWARE_DEVICE 0x00000003
235#define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT 0x00000004
236#define EFI_RESOURCE_MEMORY_RESERVED 0x00000005
237#define EFI_RESOURCE_IO_RESERVED 0x00000006
238#define EFI_RESOURCE_MEMORY_UNACCEPTED 0x00000007
239#define EFI_RESOURCE_MAX_MEMORY_TYPE 0x00000008
240
241///
242/// A type of recount attribute type.
243///
245
246//
247// These types can be ORed together as needed.
248//
249// The following attributes are used to describe settings
250//
251#define EFI_RESOURCE_ATTRIBUTE_PRESENT 0x00000001
252#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED 0x00000002
253#define EFI_RESOURCE_ATTRIBUTE_TESTED 0x00000004
254#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED 0x00000080
255//
256// This is typically used as memory cacheability attribute today.
257// NOTE: Since PI spec 1.4, please use EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED
258// as Physical write protected attribute, and EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED
259// means Memory cacheability attribute: The memory supports being programmed with
260// a writeprotected cacheable attribute.
261//
262#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED 0x00000100
263#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED 0x00000200
264#define EFI_RESOURCE_ATTRIBUTE_PERSISTENT 0x00800000
265//
266// The rest of the attributes are used to describe capabilities
267//
268#define EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC 0x00000008
269#define EFI_RESOURCE_ATTRIBUTE_MULTIPLE_BIT_ECC 0x00000010
270#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_1 0x00000020
271#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_2 0x00000040
272#define EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE 0x00000400
273#define EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE 0x00000800
274#define EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE 0x00001000
275#define EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE 0x00002000
276#define EFI_RESOURCE_ATTRIBUTE_16_BIT_IO 0x00004000
277#define EFI_RESOURCE_ATTRIBUTE_32_BIT_IO 0x00008000
278#define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO 0x00010000
279#define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED 0x00020000
280#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTABLE 0x00100000
281//
282// This is typically used as memory cacheability attribute today.
283// NOTE: Since PI spec 1.4, please use EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE
284// as Memory capability attribute: The memory supports being protected from processor
285// writes, and EFI_RESOURCE_ATTRIBUTE_WRITE_PROTEC TABLE means Memory cacheability attribute:
286// The memory supports being programmed with a writeprotected cacheable attribute.
287//
288#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTABLE 0x00200000
289#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTABLE 0x00400000
290#define EFI_RESOURCE_ATTRIBUTE_PERSISTABLE 0x01000000
291
292#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED 0x00040000
293#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE 0x00080000
294
295#define EFI_RESOURCE_ATTRIBUTE_ENCRYPTED 0x04000000
296#define EFI_RESOURCE_ATTRIBUTE_SPECIAL_PURPOSE 0x08000000
297#define EFI_RESOURCE_ATTRIBUTE_HOT_PLUGGABLE 0x10000000
298//
299// Physical memory relative reliability attribute. This
300// memory provides higher reliability relative to other
301// memory in the system. If all memory has the same
302// reliability, then this bit is not used.
303//
304#define EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE 0x02000000
305
306///
307/// Describes the resource properties of all fixed,
308/// nonrelocatable resource ranges found on the processor
309/// host bus during the HOB producer phase.
310///
311typedef struct {
312 ///
313 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_RESOURCE_DESCRIPTOR.
314 ///
316 ///
317 /// A GUID representing the owner of the resource. This GUID is used by HOB
318 /// consumer phase components to correlate device ownership of a resource.
319 ///
321 ///
322 /// The resource type enumeration as defined by EFI_RESOURCE_TYPE.
323 ///
325 ///
326 /// Resource attributes as defined by EFI_RESOURCE_ATTRIBUTE_TYPE.
327 ///
329 ///
330 /// The physical start address of the resource region.
331 ///
333 ///
334 /// The number of bytes of the resource region.
335 ///
338
339///
340/// Allows writers of executable content in the HOB producer phase to
341/// maintain and manage HOBs with specific GUID.
342///
343typedef struct {
344 ///
345 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_GUID_EXTENSION.
346 ///
348 ///
349 /// A GUID that defines the contents of this HOB.
350 ///
352 //
353 // Guid specific data goes here
354 //
356
357///
358/// Details the location of firmware volumes that contain firmware files.
359///
360typedef struct {
361 ///
362 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_FV.
363 ///
365 ///
366 /// The physical memory-mapped base address of the firmware volume.
367 ///
369 ///
370 /// The length in bytes of the firmware volume.
371 ///
374
375///
376/// Details the location of a firmware volume that was extracted
377/// from a file within another firmware volume.
378///
379typedef struct {
380 ///
381 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_FV2.
382 ///
384 ///
385 /// The physical memory-mapped base address of the firmware volume.
386 ///
388 ///
389 /// The length in bytes of the firmware volume.
390 ///
392 ///
393 /// The name of the firmware volume.
394 ///
396 ///
397 /// The name of the firmware file that contained this firmware volume.
398 ///
401
402///
403/// Details the location of a firmware volume that was extracted
404/// from a file within another firmware volume.
405///
406typedef struct {
407 ///
408 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_FV3.
409 ///
411 ///
412 /// The physical memory-mapped base address of the firmware volume.
413 ///
415 ///
416 /// The length in bytes of the firmware volume.
417 ///
419 ///
420 /// The authentication status.
421 ///
423 ///
424 /// TRUE if the FV was extracted as a file within another firmware volume.
425 /// FALSE otherwise.
426 ///
428 ///
429 /// The name of the firmware volume.
430 /// Valid only if IsExtractedFv is TRUE.
431 ///
433 ///
434 /// The name of the firmware file that contained this firmware volume.
435 /// Valid only if IsExtractedFv is TRUE.
436 ///
439
440///
441/// Describes processor information, such as address space and I/O space capabilities.
442///
443typedef struct {
444 ///
445 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_CPU.
446 ///
448 ///
449 /// Identifies the maximum physical memory addressability of the processor.
450 ///
452 ///
453 /// Identifies the maximum physical I/O addressability of the processor.
454 ///
456 ///
457 /// This field will always be set to zero.
458 ///
461
462///
463/// Describes pool memory allocations.
464///
465typedef struct {
466 ///
467 /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_POOL.
468 ///
471
472///
473/// Each UEFI capsule HOB details the location of a UEFI capsule. It includes a base address and length
474/// which is based upon memory blocks with a EFI_CAPSULE_HEADER and the associated
475/// CapsuleImageSize-based payloads. These HOB's shall be created by the PEI PI firmware
476/// sometime after the UEFI UpdateCapsule service invocation with the
477/// CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE flag set in the EFI_CAPSULE_HEADER.
478///
479typedef struct {
480 ///
481 /// The HOB generic header where Header.HobType = EFI_HOB_TYPE_UEFI_CAPSULE.
482 ///
484
485 ///
486 /// The physical memory-mapped base address of an UEFI capsule. This value is set to
487 /// point to the base of the contiguous memory of the UEFI capsule.
488 /// The length of the contiguous memory in bytes.
489 ///
493
494///
495/// Union of all the possible HOB Types.
496///
514
515#endif
unsigned short UINT16
2-byte unsigned value.
unsigned char BOOLEAN
Logical Boolean.
unsigned long long UINT64
8-byte unsigned value.
unsigned char UINT8
1-byte unsigned value.
unsigned int UINT32
4-byte unsigned value.
UINT32 EFI_BOOT_MODE
EFI boot mode.
Definition PiBootMode.h:21
UINT32 EFI_RESOURCE_TYPE
The resource type.
Definition PiHob.h:226
UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE
A type of recount attribute type.
Definition PiHob.h:244
UINT64 EFI_PHYSICAL_ADDRESS
64-bit physical memory address.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
EFI_MEMORY_TYPE
Enumeration of memory types introduced in UEFI.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926
Describes processor information, such as address space and I/O space capabilities.
Definition PiHob.h:443
UINT8 SizeOfIoSpace
Identifies the maximum physical I/O addressability of the processor.
Definition PiHob.h:455
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:447
UINT8 SizeOfMemorySpace
Identifies the maximum physical memory addressability of the processor.
Definition PiHob.h:451
UINT8 Reserved[6]
This field will always be set to zero.
Definition PiHob.h:459
Details the location of a firmware volume that was extracted from a file within another firmware volu...
Definition PiHob.h:379
UINT64 Length
The length in bytes of the firmware volume.
Definition PiHob.h:391
EFI_GUID FvName
The name of the firmware volume.
Definition PiHob.h:395
EFI_PHYSICAL_ADDRESS BaseAddress
The physical memory-mapped base address of the firmware volume.
Definition PiHob.h:387
EFI_GUID FileName
The name of the firmware file that contained this firmware volume.
Definition PiHob.h:399
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:383
Details the location of a firmware volume that was extracted from a file within another firmware volu...
Definition PiHob.h:406
EFI_GUID FvName
The name of the firmware volume.
Definition PiHob.h:432
UINT64 Length
The length in bytes of the firmware volume.
Definition PiHob.h:418
BOOLEAN ExtractedFv
TRUE if the FV was extracted as a file within another firmware volume.
Definition PiHob.h:427
UINT32 AuthenticationStatus
The authentication status.
Definition PiHob.h:422
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:410
EFI_PHYSICAL_ADDRESS BaseAddress
The physical memory-mapped base address of the firmware volume.
Definition PiHob.h:414
EFI_GUID FileName
The name of the firmware file that contained this firmware volume.
Definition PiHob.h:437
Details the location of firmware volumes that contain firmware files.
Definition PiHob.h:360
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:364
EFI_PHYSICAL_ADDRESS BaseAddress
The physical memory-mapped base address of the firmware volume.
Definition PiHob.h:368
UINT64 Length
The length in bytes of the firmware volume.
Definition PiHob.h:372
Describes the format and size of the data inside the HOB.
Definition PiHob.h:39
UINT32 Reserved
This field must always be set to zero.
Definition PiHob.h:51
UINT16 HobLength
The length in bytes of the HOB.
Definition PiHob.h:47
UINT16 HobType
Identifies the HOB data structure type.
Definition PiHob.h:43
Allows writers of executable content in the HOB producer phase to maintain and manage HOBs with speci...
Definition PiHob.h:343
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:347
EFI_GUID Name
A GUID that defines the contents of this HOB.
Definition PiHob.h:351
Contains general state information used by the HOB producer phase.
Definition PiHob.h:63
UINT32 Version
The version number pertaining to the PHIT HOB definition.
Definition PiHob.h:73
EFI_BOOT_MODE BootMode
The system boot mode as determined during the HOB producer phase.
Definition PiHob.h:77
EFI_PHYSICAL_ADDRESS EfiFreeMemoryBottom
The lowest address location of free memory that is available for use by the HOB producer phase.
Definition PiHob.h:95
EFI_PHYSICAL_ADDRESS EfiMemoryTop
The highest address location of memory that is allocated for use by the HOB producer phase.
Definition PiHob.h:82
EFI_PHYSICAL_ADDRESS EfiFreeMemoryTop
The highest address location of free memory that is currently available for use by the HOB producer p...
Definition PiHob.h:91
EFI_PHYSICAL_ADDRESS EfiMemoryBottom
The lowest address location of memory that is allocated for use by the HOB producer phase.
Definition PiHob.h:86
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:67
EFI_PHYSICAL_ADDRESS EfiEndOfHobList
The end of the HOB list.
Definition PiHob.h:99
Defines the location of the boot-strap processor (BSP) BSPStore ("Backing Store Pointer Store").
Definition PiHob.h:186
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor
An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the various attributes of the logi...
Definition PiHob.h:195
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:190
EFI_HOB_MEMORY_ALLOCATION_HEADER describes the various attributes of the logical memory allocation.
Definition PiHob.h:107
EFI_PHYSICAL_ADDRESS MemoryBaseAddress
The base address of memory allocated by this HOB.
Definition PiHob.h:122
UINT64 MemoryLength
The length in bytes of memory allocated by this HOB.
Definition PiHob.h:127
EFI_GUID Name
A GUID that defines the memory allocation region's type and purpose, as well as other fields within t...
Definition PiHob.h:115
EFI_MEMORY_TYPE MemoryType
Defines the type of memory allocated by this HOB.
Definition PiHob.h:134
UINT8 Reserved[4]
Padding for Itanium processor family.
Definition PiHob.h:139
Defines the location and entry point of the HOB consumer phase.
Definition PiHob.h:201
EFI_PHYSICAL_ADDRESS EntryPoint
The address of the memory-mapped firmware volume that contains the HOB consumer phase firmware file.
Definition PiHob.h:220
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:205
EFI_GUID ModuleName
The GUID specifying the values of the firmware file system name that contains the HOB consumer phase ...
Definition PiHob.h:215
EFI_HOB_MEMORY_ALLOCATION_HEADER MemoryAllocationHeader
An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the various attributes of the logi...
Definition PiHob.h:210
Describes the memory stack that is produced by the HOB producer phase and upon which all post-memory-...
Definition PiHob.h:168
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor
An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the various attributes of the logi...
Definition PiHob.h:177
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:172
Describes all memory ranges used during the HOB producer phase that exist outside the HOB list.
Definition PiHob.h:147
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:151
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor
An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the various attributes of the logi...
Definition PiHob.h:156
Describes pool memory allocations.
Definition PiHob.h:465
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:469
Describes the resource properties of all fixed, nonrelocatable resource ranges found on the processor...
Definition PiHob.h:311
UINT64 ResourceLength
The number of bytes of the resource region.
Definition PiHob.h:336
EFI_HOB_GENERIC_HEADER Header
The HOB generic header.
Definition PiHob.h:315
EFI_PHYSICAL_ADDRESS PhysicalStart
The physical start address of the resource region.
Definition PiHob.h:332
EFI_RESOURCE_TYPE ResourceType
The resource type enumeration as defined by EFI_RESOURCE_TYPE.
Definition PiHob.h:324
EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute
Resource attributes as defined by EFI_RESOURCE_ATTRIBUTE_TYPE.
Definition PiHob.h:328
EFI_GUID Owner
A GUID representing the owner of the resource.
Definition PiHob.h:320
Each UEFI capsule HOB details the location of a UEFI capsule.
Definition PiHob.h:479
EFI_PHYSICAL_ADDRESS BaseAddress
The physical memory-mapped base address of an UEFI capsule.
Definition PiHob.h:490
EFI_HOB_GENERIC_HEADER Header
The HOB generic header where Header.HobType = EFI_HOB_TYPE_UEFI_CAPSULE.
Definition PiHob.h:483
Union of all the possible HOB Types.
Definition PiHob.h:497
EFI_HOB_MEMORY_ALLOCATION_STACK * MemoryAllocationStack
Definition PiHob.h:502
EFI_HOB_CPU * Cpu
Definition PiHob.h:509
EFI_HOB_MEMORY_ALLOCATION_MODULE * MemoryAllocationModule
Definition PiHob.h:503
EFI_HOB_UEFI_CAPSULE * Capsule
Definition PiHob.h:511
EFI_HOB_MEMORY_ALLOCATION_BSP_STORE * MemoryAllocationBspStore
Definition PiHob.h:501
EFI_HOB_FIRMWARE_VOLUME * FirmwareVolume
Definition PiHob.h:506
EFI_HOB_GUID_TYPE * Guid
Definition PiHob.h:505
EFI_HOB_HANDOFF_INFO_TABLE * HandoffInformationTable
Definition PiHob.h:499
EFI_HOB_FIRMWARE_VOLUME2 * FirmwareVolume2
Definition PiHob.h:507
EFI_HOB_MEMORY_POOL * Pool
Definition PiHob.h:510
EFI_HOB_FIRMWARE_VOLUME3 * FirmwareVolume3
Definition PiHob.h:508
EFI_HOB_RESOURCE_DESCRIPTOR * ResourceDescriptor
Definition PiHob.h:504
EFI_HOB_GENERIC_HEADER * Header
Definition PiHob.h:498
EFI_HOB_MEMORY_ALLOCATION * MemoryAllocation
Definition PiHob.h:500