TianoCore EDK2 master
Loading...
Searching...
No Matches
MigratedFvInfo.h
Go to the documentation of this file.
1
9#ifndef __EDKII_MIGRATED_FV_INFO_GUID_H__
10#define __EDKII_MIGRATED_FV_INFO_GUID_H__
11
12//
13// FLAGS_FV_RAW_DATA_COPY indicates FV raw data will be copied to permanent memory
14// or not. When FV is migrated to permanent memory, it will be rebased and raw
15// data will be lost. This bit can be configured as below values:
16// 0: FV raw data will not be used in later phase, and the copy will be skipped to
17// optimize boot performance.
18// 1: FV raw data will be copied to permanent memory for later phase use (such as
19// FV measurement).
20//
21#define FLAGS_FV_RAW_DATA_COPY BIT0
22#define FLAGS_FV_MIGRATE_BEFORE_PEI_CORE_REENTRY BIT1
23
32typedef struct {
33 UINT32 FvOrgBaseOnTempRam; // Original FV address on Temporary Ram
34 //
35 // FV Migration Flags:
36 // Bit0: Indicate to copy FV raw data or not
37 // Others: Reserved bits
38 //
39 UINT32 FvMigrationFlags;
41
42typedef struct {
43 BOOLEAN MigrateAll; // Migrate all FVs and also copy FV raw data
44 //
45 // ToMigrateFvCount and ToMigrateFvInfo array indicate which FVs need be migrated, and
46 // these info should be ignored when MigrateAll field is set to TRUE.
47 //
48 UINT32 ToMigrateFvCount;
49 // TO_MIGRATE_FV_INFO ToMigrateFvInfo[];
51
52typedef struct {
53 UINT32 FvOrgBase; // original FV address
54 UINT32 FvNewBase; // new FV address, 0 means rebased data is not copied
55 UINT32 FvDataBase; // original FV data, 0 means raw data is not copied
56 UINT32 FvLength; // Fv Length
58
59extern EFI_GUID gEdkiiMigrationInfoGuid;
60extern EFI_GUID gEdkiiMigratedFvInfoGuid;
61
62#endif // #ifndef __EDKII_MIGRATED_FV_INFO_GUID_H__
Definition: Base.h:213