#\r
# Copyright (c) 2014, Linaro Limited. All rights reserved.\r
#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
#**/\r
\r
[Includes.common]\r
Include # Root include for the package\r
\r
+[LibraryClasses]\r
+ ArmVirtMemInfoLib|Include/Library/ArmVirtMemInfoLib.h\r
+\r
[Guids.common]\r
gArmVirtTokenSpaceGuid = { 0x0B6F5CA7, 0x4F53, 0x445A, { 0xB7, 0x6E, 0x2E, 0x36, 0x5B, 0x80, 0x63, 0x66 } }\r
gEarlyPL011BaseAddressGuid = { 0xB199DEA9, 0xFD5C, 0x4A84, { 0x80, 0x82, 0x2F, 0x41, 0x70, 0x78, 0x03, 0x05 } }\r
\r
+ gArmVirtVariableGuid = { 0x50bea1e5, 0xa2c5, 0x46e9, { 0x9b, 0x3a, 0x59, 0x59, 0x65, 0x16, 0xb0, 0x0a } }\r
+\r
[Protocols]\r
gFdtClientProtocolGuid = { 0xE11FACA0, 0x4710, 0x4C8E, { 0xA7, 0xA2, 0x01, 0xBA, 0xA2, 0x59, 0x1B, 0x4C } }\r
\r
#\r
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x65, 0x60, 0xA6, 0xDF, 0x19, 0xB4, 0xD3, 0x11, 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}|VOID*|0x00000007\r
\r
-[PcdsFeatureFlag]\r
- #\r
- # "Map PCI MMIO as Cached"\r
- #\r
- # Due to the way Stage1 and Stage2 mappings are combined on Aarch64, and\r
- # because KVM -- for the time being -- does not try to interfere with the\r
- # Stage1 mappings, we must not set EFI_MEMORY_UC for emulated PCI MMIO\r
- # regions.\r
- #\r
- # EFI_MEMORY_UC is mapped to Device-nGnRnE, and that Stage1 attribute would\r
- # direct guest writes to host DRAM immediately, bypassing the cache\r
- # regardless of Stage2 attributes. However, QEMU's reads of the same range\r
- # can easily be served from the (stale) CPU cache.\r
- #\r
- # Setting this PCD to TRUE will use EFI_MEMORY_WB for mapping PCI MMIO\r
- # regions, which ensures that guest writes to such regions go through the CPU\r
- # cache. Strictly speaking this is wrong, but it is needed as a temporary\r
- # workaround for emulated PCI devices. Setting the PCD to FALSE results in\r
- # the theoretically correct EFI_MEMORY_UC mapping, and should be the long\r
- # term choice, especially with assigned devices.\r
- #\r
- # The default is to turn off the kludge; DSC's can selectively enable it.\r
- #\r
- gArmVirtTokenSpaceGuid.PcdKludgeMapPciMmioAsCached|FALSE|BOOLEAN|0x00000006\r
-\r
- #\r
- # Pure ACPI boot\r
+[PcdsDynamic]\r
#\r
- # Inhibit installation of the FDT as a configuration table if this feature\r
- # PCD is TRUE. Otherwise, the OS is presented with both a DT and an ACPI\r
- # description of the platform, and it is up to the OS to choose.\r
+ # Whether to force disable ACPI, regardless of the fw_cfg settings\r
+ # exposed by QEMU\r
#\r
- gArmVirtTokenSpaceGuid.PcdPureAcpiBoot|FALSE|BOOLEAN|0x0000000a\r
+ gArmVirtTokenSpaceGuid.PcdForceNoAcpi|0x0|BOOLEAN|0x00000003\r