VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/ArmVirtPkg/ArmVirtQemu.fdf

最後變更 在這個檔案是 105670,由 vboxsync 提交於 3 月 前

Devices/EFI/FirmwareNew: Merge edk2-stable-202405 and make it build on aarch64, bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 4.2 KB
 
1#
2# Copyright (c) 2011-2015, ARM Limited. All rights reserved.
3# Copyright (c) 2014, Linaro Limited. All rights reserved.
4# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.
5#
6# SPDX-License-Identifier: BSD-2-Clause-Patent
7#
8
9################################################################################
10#
11# FD Section
12# The [FD] Section is made up of the definition statements and a
13# description of what goes into the Flash Device Image. Each FD section
14# defines one flash "device" image. A flash device image may be one of
15# the following: Removable media bootable image (like a boot floppy
16# image,) an Option ROM image (that would be "flashed" into an add-in
17# card,) a System "Flash" image (that would be burned into a system's
18# flash) or an Update ("Capsule") image that will be used to update and
19# existing system flash.
20#
21################################################################################
22
23[Defines]
24!if $(FD_SIZE_IN_MB) == 2
25 DEFINE FVMAIN_COMPACT_SIZE = 0x1ff000
26!endif
27!if $(FD_SIZE_IN_MB) == 3
28 DEFINE FVMAIN_COMPACT_SIZE = 0x2ff000
29!endif
30
31[FD.QEMU_EFI]
32BaseAddress = 0x00000000|gArmTokenSpaceGuid.PcdFdBaseAddress # QEMU assigns 0 - 0x8000000 for a BootROM
33Size = $(FD_SIZE)|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device
34ErasePolarity = 1
35
36# This one is tricky, it must be: BlockSize * NumBlocks = Size
37BlockSize = 0x00001000
38NumBlocks = $(FD_NUM_BLOCKS)
39
40################################################################################
41#
42# Following are lists of FD Region layout which correspond to the locations of different
43# images within the flash device.
44#
45# Regions must be defined in ascending order and may not overlap.
46#
47# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
48# the pipe "|" character, followed by the size of the region, also in hex with the leading
49# "0x" characters. Like:
50# Offset|Size
51# PcdOffsetCName|PcdSizeCName
52# RegionType <FV, DATA, or FILE>
53#
54################################################################################
55
56#
57# UEFI has trouble dealing with FVs that reside at physical address 0x0.
58# So instead, put a hardcoded 'jump to 0x1000' at offset 0x0, and put the
59# real FV at offset 0x1000
60#
610x00000000|0x00001000
62DATA = {
63!if $(ARCH) == AARCH64
64 0x00, 0x04, 0x00, 0x14 # 'b 0x1000' in AArch64 ASM
65!else
66 0xfe, 0x03, 0x00, 0xea # 'b 0x1000' in AArch32 ASM
67!endif
68}
69
700x00001000|$(FVMAIN_COMPACT_SIZE)
71gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize
72FV = FVMAIN_COMPACT
73
74!include VarStore.fdf.inc
75
76################################################################################
77#
78# FV Section
79#
80# [FV] section is used to define what components or modules are placed within a flash
81# device file. This section also defines order the components and modules are positioned
82# within the image. The [FV] section consists of define statements, set statements and
83# module statements.
84#
85################################################################################
86
87!include ArmVirtQemuFvMain.fdf.inc
88
89[FV.FVMAIN_COMPACT]
90FvAlignment = 16
91ERASE_POLARITY = 1
92MEMORY_MAPPED = TRUE
93STICKY_WRITE = TRUE
94LOCK_CAP = TRUE
95LOCK_STATUS = TRUE
96WRITE_DISABLED_CAP = TRUE
97WRITE_ENABLED_CAP = TRUE
98WRITE_STATUS = TRUE
99WRITE_LOCK_CAP = TRUE
100WRITE_LOCK_STATUS = TRUE
101READ_DISABLED_CAP = TRUE
102READ_ENABLED_CAP = TRUE
103READ_STATUS = TRUE
104READ_LOCK_CAP = TRUE
105READ_LOCK_STATUS = TRUE
106
107 INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
108 INF MdeModulePkg/Core/Pei/PeiMain.inf
109 INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf
110 INF ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf
111 INF ArmPkg/Drivers/CpuPei/CpuPei.inf
112 INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
113
114 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
115!if $(TPM2_ENABLE) == TRUE
116 INF MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf
117 INF OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
118 INF SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
119!endif
120
121 FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
122 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
123 SECTION FV_IMAGE = FVMAIN
124 }
125 }
126
127!include ArmVirtRules.fdf.inc
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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