blob: 049f6edd059ebe6a8f96b5f2dd0e7cc5621ff848 [file] [log] [blame]
lgao47b202cb2010-02-23 23:58:38 +00001## @file
jljusten49ba9442009-05-27 21:10:18 +00002# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
3#
Jordan Justen501e08f2013-11-12 18:34:11 +00004# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
jljusten49ba9442009-05-27 21:10:18 +00005#
hhtian56d76402010-04-28 12:43:04 +00006# This program and the accompanying materials
jljusten49ba9442009-05-27 21:10:18 +00007# are licensed and made available under the terms and conditions of the BSD License
8# which accompanies this distribution. The full text of the license may be found at
9# http://opensource.org/licenses/bsd-license.php
jljusten67164dc2012-09-12 07:18:21 +000010#
jljusten49ba9442009-05-27 21:10:18 +000011# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
lgao47b202cb2010-02-23 23:58:38 +000014##
jljusten49ba9442009-05-27 21:10:18 +000015
16[Defines]
lzeng1446293a42011-06-28 02:24:46 +000017 DEC_SPECIFICATION = 0x00010005
jljusten49ba9442009-05-27 21:10:18 +000018 PACKAGE_NAME = OvmfPkg
19 PACKAGE_GUID = 2daf5f34-50e5-4b9d-b8e3-5562334d87e5
20 PACKAGE_VERSION = 0.1
21
jljusten50944542009-09-16 16:28:55 +000022[Includes]
23 Include
24
mdkinney28b29a72011-05-09 17:50:40 +000025[LibraryClasses]
jljustenf6c6c022012-11-02 18:26:48 +000026 ## @libraryclass Loads and boots a Linux kernel image
27 #
28 LoadLinuxLib|Include/Library/LoadLinuxLib.h
29
mdkinney28b29a72011-05-09 17:50:40 +000030 ## @libraryclass Save and restore variables using a file
31 #
32 NvVarsFileLib|Include/Library/NvVarsFileLib.h
33
jljustenf1ec65b2012-05-30 23:14:38 +000034 ## @libraryclass Access QEMU's firmware configuration interface
35 #
36 QemuFwCfgLib|Include/Library/QemuFwCfgLib.h
37
Laszlo Ersekcca74752015-01-02 12:07:57 +000038 ## @libraryclass Rewrite the BootOrder NvVar based on QEMU's "bootorder"
39 # fw_cfg file.
40 #
41 QemuBootOrderLib|Include/Library/QemuBootOrderLib.h
42
mdkinney28b29a72011-05-09 17:50:40 +000043 ## @libraryclass Serialize (and deserialize) variables
44 #
45 SerializeVariablesLib|Include/Library/SerializeVariablesLib.h
46
Ard Biesheuvelcd8ff8f2015-02-28 20:32:39 +000047 ## @libraryclass Invoke Xen hypercalls
48 #
49 XenHypercallLib|Include/Library/XenHypercallLib.h
50
Ard Biesheuvel01693522015-02-28 20:34:16 +000051 ## @libraryclass Manage XenBus device path and I/O handles
52 #
53 XenIoMmioLib|Include/Library/XenIoMmioLib.h
54
lgao47b202cb2010-02-23 23:58:38 +000055[Guids]
jljusten49ba9442009-05-27 21:10:18 +000056 gUefiOvmfPkgTokenSpaceGuid = {0x93bb96af, 0xb9f2, 0x4eb8, {0x94, 0x62, 0xe0, 0xba, 0x74, 0x56, 0x42, 0x36}}
jljusten84c1b222011-07-29 23:59:12 +000057 gEfiXenInfoGuid = {0xd3b46f3b, 0xd441, 0x1244, {0x9a, 0x12, 0x0, 0x12, 0x27, 0x3f, 0xc1, 0x4d}}
Laszlo Ersek732295d2014-03-22 07:12:46 +000058 gOvmfPlatformConfigGuid = {0x7235c51c, 0x0c80, 0x4cab, {0x87, 0xac, 0x3b, 0x08, 0x4a, 0x63, 0x04, 0xb1}}
Laszlo Ersek3765e032015-01-02 12:08:06 +000059 gVirtioMmioTransportGuid = {0x837dca9e, 0xe874, 0x4d82, {0xb2, 0x9a, 0x23, 0xfe, 0x0e, 0x23, 0xd1, 0xe2}}
Ard Biesheuvelb0022ab2015-02-28 20:34:06 +000060 gXenBusRootDeviceGuid = {0xa732241f, 0x383d, 0x4d9c, {0x8a, 0xe1, 0x8e, 0x09, 0x83, 0x75, 0x89, 0xd7}}
jljusten49ba9442009-05-27 21:10:18 +000061
jljustenb0f51442010-03-21 00:33:59 +000062[Protocols]
Olivier Martinfc4d1ce2013-12-11 16:57:40 +000063 gVirtioDeviceProtocolGuid = {0xfa920010, 0x6785, 0x4941, {0xb6, 0xec, 0x49, 0x8c, 0x57, 0x9f, 0x16, 0x0a}}
jljustenb0f51442010-03-21 00:33:59 +000064 gBlockMmioProtocolGuid = {0x6b558ce3, 0x69e5, 0x4c67, {0xa6, 0x34, 0xf7, 0xfe, 0x72, 0xad, 0xbe, 0x84}}
Anthony PERARD12a16f22014-10-29 06:49:38 +000065 gXenBusProtocolGuid = {0x3d3ca290, 0xb9a5, 0x11e3, {0xb7, 0x5d, 0xb8, 0xac, 0x6f, 0x7d, 0x65, 0xe6}}
Ard Biesheuvelb2165af2015-02-28 20:32:50 +000066 gXenIoProtocolGuid = {0x6efac84f, 0x0ab0, 0x4747, {0x81, 0xbe, 0x85, 0x55, 0x62, 0x59, 0x04, 0x49}}
jljustenb0f51442010-03-21 00:33:59 +000067
jljusten61069832009-09-26 07:15:48 +000068[PcdsFixedAtBuild]
Jordan Justenb36f7012014-01-21 19:39:13 +000069 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|0x0|UINT32|0
70 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize|0x0|UINT32|1
71 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|0x0|UINT32|0x15
72 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize|0x0|UINT32|0x16
jljusten61069832009-09-26 07:15:48 +000073
jljustenb90aefa2012-07-26 16:36:39 +000074 ## This flag is used to control the destination port for PlatformDebugLibIoPort
75 gUefiOvmfPkgTokenSpaceGuid.PcdDebugIoPort|0x402|UINT16|4
76
jljusten830067b2012-09-12 07:18:35 +000077 ## This flag determines the Power Management Base Address of choice, written
78 # to PIIX4 function 3 offset 0x40-0x43 bits [15:6].
79 gUefiOvmfPkgTokenSpaceGuid.PcdAcpiPmBaseAddress|0xB000|UINT16|5
80
jljusten37078a62012-10-18 17:07:48 +000081 ## When VirtioScsiDxe is instantiated for a HBA, the numbers of targets and
82 # LUNs are retrieved from the host during virtio-scsi setup.
83 # MdeModulePkg/Bus/Scsi/ScsiBusDxe then scans all MaxTarget * MaxLun
84 # possible devices. This can take extremely long, for example with
85 # MaxTarget=255 and MaxLun=16383. The *inclusive* constants below limit
86 # MaxTarget and MaxLun, independently, should the host report higher values,
87 # so that scanning the number of devices given by their product is still
88 # acceptably fast.
89 gUefiOvmfPkgTokenSpaceGuid.PcdVirtioScsiMaxTargetLimit|31|UINT16|6
90 gUefiOvmfPkgTokenSpaceGuid.PcdVirtioScsiMaxLunLimit|7|UINT32|7
91
Jordan Justen501e08f2013-11-12 18:34:11 +000092[PcdsFixedAtBuild]
93 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase|0x0|UINT32|0x8
94 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize|0x0|UINT32|0x9
95 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize|0x0|UINT32|0xa
96 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize|0|UINT32|0xb
97 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase|0x0|UINT32|0xc
98 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase|0x0|UINT32|0xd
99 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase|0x0|UINT32|0xe
100 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress|0x0|UINT32|0xf
Jordan Justenb382ede2014-01-21 19:38:34 +0000101 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|0x0|UINT32|0x11
102 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize|0x0|UINT32|0x12
Jordan Justen7cb6b0e2014-01-21 19:38:43 +0000103 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|0x0|UINT32|0x13
104 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize|0x0|UINT32|0x14
Jordan Justen8e545002014-03-04 08:02:16 +0000105 gUefiOvmfPkgTokenSpaceGuid.PcdS3AcpiReservedMemoryBase|0x0|UINT32|0x17
Laszlo Ersek6a7cba72014-03-04 08:03:23 +0000106 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase|0x0|UINT32|0x18
107 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize|0x0|UINT32|0x19
Laszlo Ersekad43bc62014-04-05 21:26:09 +0000108 gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize|0x0|UINT32|0x1a
Jordan Justen501e08f2013-11-12 18:34:11 +0000109
mdkinney70c66df2011-05-05 16:15:35 +0000110[PcdsDynamic, PcdsDynamicEx]
gikidy85c0b5e2010-11-02 05:27:15 +0000111 gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2
Laszlo Ersek9d35ac22013-11-12 18:35:23 +0000112 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10
Gabriel Somlod55004d2014-11-14 00:37:39 +0000113 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0|UINT16|0x1b
Laszlo Ersek6fbef932015-08-06 10:13:55 +0000114 gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE|BOOLEAN|0x21
jljusten49ba9442009-05-27 21:10:18 +0000115
jljustene05061c2012-03-09 17:38:21 +0000116[PcdsFeatureFlag]
117 gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|FALSE|BOOLEAN|3
Laszlo Ersek2f9c55c2015-01-02 12:08:02 +0000118 gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE|BOOLEAN|0x1c
Laszlo Ersek43336912015-01-02 12:08:19 +0000119 gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|FALSE|BOOLEAN|0x1d