VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/MigratedFvInfo.h

Last change on this file was 108794, checked in by vboxsync, 4 weeks ago

Devices/EFI/FirmwareNew: Merge edk2-stable202502 from the vendor branch and make it build for the important platforms, bugref:4643

  • Property svn:eol-style set to native
File size: 2.3 KB
Line 
1/** @file
2 Migrated FV information
3
4Copyright (c) 2020 - 2024, Intel Corporation. All rights reserved.<BR>
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
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
24///
25/// In real use cases, not all FVs need migrate to permanent memory before TempRam tears
26/// down. EDKII_MIGRATION_INFO hob should be published by platform to indicate which
27/// FVs need migration to optimize boot performance. If this hob is not detected by Pei
28/// Core, all FVs on TempRam will be migrated and FV raw data will also be copied.
29/// Only one EDKII_MIGRATION_INFO hob should be published by platform, and this hob will
30/// take effect only when migration feature is enabled by PCD.
31///
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;
40} TO_MIGRATE_FV_INFO;
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[];
50} EDKII_MIGRATION_INFO;
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
57} EDKII_MIGRATED_FV_INFO;
58
59extern EFI_GUID gEdkiiMigrationInfoGuid;
60extern EFI_GUID gEdkiiMigratedFvInfoGuid;
61
62#endif // #ifndef __EDKII_MIGRATED_FV_INFO_GUID_H__
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette