summaryrefslogtreecommitdiffstats
path: root/ArmPkg/ArmPkg.dec
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2015-11-18 15:59:22 +0000
committerabiesheuvel <abiesheuvel@Edk2>2015-11-18 15:59:22 +0000
commit65ceda9173e688a42a3e74c0c94f4dffc569029c (patch)
tree25e3ce57604a499c4ae1f51a818f27b1ce619beb /ArmPkg/ArmPkg.dec
parent07070ecc76cff00175715f9a9534bc9216599a11 (diff)
downloadedk2-65ceda9173e688a42a3e74c0c94f4dffc569029c.tar.gz
edk2-65ceda9173e688a42a3e74c0c94f4dffc569029c.tar.bz2
edk2-65ceda9173e688a42a3e74c0c94f4dffc569029c.zip
ArmPkg/ArmV7Mmu: introduce feature PCD to map normal memory non-shareable
Even though mapping normal memory (inner) shareable is usually the correct choice on coherent systems, it may be desirable in some cases to use non-shareable mappings for normal memory, e.g., when hardware managed coherency is not required and the memory system is not fully configured yet. So introduce a PCD PcdNormalMemoryNonshareableOverride that makes cacheable mappings of normal memory non-shareable. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18897 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/ArmPkg.dec')
-rw-r--r--ArmPkg/ArmPkg.dec6
1 files changed, 6 insertions, 0 deletions
diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec
index 46e9894d3f..ff4531e441 100644
--- a/ArmPkg/ArmPkg.dec
+++ b/ArmPkg/ArmPkg.dec
@@ -73,6 +73,12 @@
# Define if the GICv3 controller should use the GICv2 legacy
gArmTokenSpaceGuid.PcdArmGicV3WithV2Legacy|FALSE|BOOLEAN|0x00000042
+[PcdsFeatureFlag.ARM]
+ # Whether to map normal memory as non-shareable. FALSE is the safe choice, but
+ # TRUE may be appropriate to fix performance problems if you don't care about
+ # hardware coherency (i.e., no virtualization or cache coherent DMA)
+ gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride|FALSE|BOOLEAN|0x00000043
+
[PcdsFixedAtBuild.common]
gArmTokenSpaceGuid.PcdTrustzoneSupport|FALSE|BOOLEAN|0x00000006