VirtualBox

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

Last change on this file since 105381 was 99464, checked in by vboxsync, 20 months ago

Devices/EFI/Firmware: Restore ArmPkg, ArmVirtPkg, ArmPlatformPkg in order to be able to build Aarch64 and Aarch32 firmware images for the virt platform, bugref:10400

  • Property svn:eol-style set to native
File size: 4.2 KB
Line 
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!if $(TPM2_ENABLE) == TRUE
115 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
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
Note: See TracBrowser for help on using the repository browser.

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