]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg: allow patchable PCDs for memory, FD and FV addresses
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Sat, 28 Feb 2015 20:25:07 +0000 (20:25 +0000)
committerlersek <lersek@Edk2>
Sat, 28 Feb 2015 20:25:07 +0000 (20:25 +0000)
In order to allow a runtime self relocating PrePi instance, change the
allowable PCD types for the following PCDs:

  gArmTokenSpaceGuid.PcdSystemMemoryBase
  gArmTokenSpaceGuid.PcdSystemMemorySize
  gArmTokenSpaceGuid.PcdFdBaseAddress
  gArmTokenSpaceGuid.PcdFvBaseAddress

to include PcdsPatchableInModule. This makes the build system correctly
distinguish fixed PCDs from PCDs whose value may be different from the
assigned value at compile time.

Note that this only affects platforms that explicitly mark these PCDs as
PatchableInModule in the DSC. All existing platforms that use FixedPcd
will not be affected by this change.

Contributed-under: TianoCore Contribution Agreement 1.0
Acked-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16954 6f19259b-4bc3-4df7-8a09-765794883524

ArmPkg/ArmPkg.dec

index ced392980102e6b2bfe6ebbc2490be1709612e89..87dbd11b867fa9097255175758a33e29d15dbbc9 100644 (file)
   gArmTokenSpaceGuid.PcdSecureFvBaseAddress|0x0|UINT64|0x0000002F\r
   gArmTokenSpaceGuid.PcdSecureFvSize|0x0|UINT32|0x00000030\r
 \r
   gArmTokenSpaceGuid.PcdSecureFvBaseAddress|0x0|UINT64|0x0000002F\r
   gArmTokenSpaceGuid.PcdSecureFvSize|0x0|UINT32|0x00000030\r
 \r
-  #\r
-  # ARM Normal (or Non Secure) Firmware PCDs\r
-  #\r
-  gArmTokenSpaceGuid.PcdFdBaseAddress|0|UINT64|0x0000002B\r
-  gArmTokenSpaceGuid.PcdFdSize|0|UINT32|0x0000002C\r
-  gArmTokenSpaceGuid.PcdFvBaseAddress|0|UINT64|0x0000002D\r
-  gArmTokenSpaceGuid.PcdFvSize|0|UINT32|0x0000002E\r
-\r
   #\r
   # ARM Hypervisor Firmware PCDs\r
   #\r
   #\r
   # ARM Hypervisor Firmware PCDs\r
   #\r
   # Maximum file size for TFTP servers that do not support 'tsize' extension\r
   gArmTokenSpaceGuid.PcdMaxTftpFileSize|0x01000000|UINT32|0x00000000\r
 \r
   # Maximum file size for TFTP servers that do not support 'tsize' extension\r
   gArmTokenSpaceGuid.PcdMaxTftpFileSize|0x01000000|UINT32|0x00000000\r
 \r
+  #\r
+  # ARM Normal (or Non Secure) Firmware PCDs\r
+  #\r
+  gArmTokenSpaceGuid.PcdFdSize|0|UINT32|0x0000002C\r
+  gArmTokenSpaceGuid.PcdFvSize|0|UINT32|0x0000002E\r
+\r
+[PcdsFixedAtBuild.common, PcdsPatchableInModule.common]\r
+  gArmTokenSpaceGuid.PcdFdBaseAddress|0|UINT64|0x0000002B\r
+  gArmTokenSpaceGuid.PcdFvBaseAddress|0|UINT64|0x0000002D\r
 \r
 [PcdsFixedAtBuild.ARM]\r
   #\r
 \r
 [PcdsFixedAtBuild.ARM]\r
   #\r
 \r
 \r
 #\r
 \r
 \r
 #\r
-# These PCDs are also defined as 'PcdsDynamic' to be redefined when using UEFI in a\r
-# context of virtual machine.\r
+# These PCDs are also defined as 'PcdsDynamic' or 'PcdsPatchableInModule' to be\r
+# redefined when using UEFI in a context of virtual machine.\r
 #\r
 #\r
-[PcdsFixedAtBuild.common, PcdsDynamic.common]\r
+[PcdsFixedAtBuild.common, PcdsDynamic.common, PcdsPatchableInModule.common]\r
+\r
   # System Memory (DRAM): These PCDs define the region of in-built system memory\r
   # Some platforms can get DRAM extensions, these additional regions will be declared\r
   # to UEFI by ArmPlatformLib\r
   gArmTokenSpaceGuid.PcdSystemMemoryBase|0|UINT64|0x00000029\r
   gArmTokenSpaceGuid.PcdSystemMemorySize|0|UINT64|0x0000002A\r
 \r
   # System Memory (DRAM): These PCDs define the region of in-built system memory\r
   # Some platforms can get DRAM extensions, these additional regions will be declared\r
   # to UEFI by ArmPlatformLib\r
   gArmTokenSpaceGuid.PcdSystemMemoryBase|0|UINT64|0x00000029\r
   gArmTokenSpaceGuid.PcdSystemMemorySize|0|UINT64|0x0000002A\r
 \r
+[PcdsFixedAtBuild.common, PcdsDynamic.common]\r
   #\r
   # ARM Architectural Timer\r
   #\r
   #\r
   # ARM Architectural Timer\r
   #\r