]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg|EmbeddedPkg: make PcdCpuVectorBaseAddress 64 bits wide
authorLeendert van Doorn <leendert@paramecium.org>
Thu, 24 Mar 2016 20:30:06 +0000 (15:30 -0500)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 25 Mar 2016 06:17:53 +0000 (07:17 +0100)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leo Duran <leo.duran@amd.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
ArmPkg/ArmPkg.dec
ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.c
EmbeddedPkg/Library/GdbDebugAgent/Arm/Processor.c

index ff4531e44106361002750d0ebd742f92de871049..e90306653864e0cb4ea7603ab4cc7078b7ecdb08 100644 (file)
@@ -60,7 +60,7 @@
   # On ARM Architecture with the Security Extension, the address for the\r
   # Vector Table can be mapped anywhere in the memory map. It means we can\r
   # point the Exception Vector Table to its location in CpuDxe.\r
-  # By default we copy the Vector Table at  PcdGet32(PcdCpuVectorBaseAddress)\r
+  # By default we copy the Vector Table at  PcdGet64(PcdCpuVectorBaseAddress)\r
   gArmTokenSpaceGuid.PcdRelocateVectorTable|TRUE|BOOLEAN|0x00000022\r
   # Set this PCD to TRUE if the Exception Vector is changed to add debugger support before\r
   # it has been configured by the CPU DXE\r
@@ -90,7 +90,7 @@
   # This PCD will free the unallocated buffers if their size reach this threshold.\r
   # We set the default value to 512MB.\r
   gArmTokenSpaceGuid.PcdArmFreeUncachedMemorySizeThreshold|0x20000000|UINT64|0x00000003\r
-  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0xffff0000|UINT32|0x00000004\r
+  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0xffff0000|UINT64|0x00000004\r
   gArmTokenSpaceGuid.PcdCpuResetAddress|0x00000000|UINT32|0x00000005\r
 \r
   #\r
index 0cf0766b9cbf2f23e2dc7c3fdeef47cef1b54f93..e8ea1f159d65f12da970c10ed2e410553198189d 100644 (file)
@@ -103,7 +103,7 @@ InitializeCpuExceptionHandlers(
   // if we are requested to copy exceptin handlers to another location\r
   if (gArmRelocateVectorTable) {\r
 \r
-    VectorBase = PcdGet32(PcdCpuVectorBaseAddress);\r
+    VectorBase = PcdGet64(PcdCpuVectorBaseAddress);\r
     Status = CopyExceptionHandlers(VectorBase);\r
 \r
   }\r
@@ -118,7 +118,7 @@ InitializeCpuExceptionHandlers(
     // for encapsulated FVs.\r
     ASSERT(((UINTN)ExceptionHandlersStart & gExceptionVectorAlignmentMask) == 0);\r
 \r
-    // We do not copy the Exception Table at PcdGet32(PcdCpuVectorBaseAddress). We just set Vector\r
+    // We do not copy the Exception Table at PcdGet64(PcdCpuVectorBaseAddress). We just set Vector\r
     // Base Address to point into CpuDxe code.\r
     VectorBase = (UINTN)ExceptionHandlersStart;\r
 \r
index 61c6184fae7d2380e51da3f945a09bc288bc0662..2b353f0a23b2ffae71dc0b92909333844aee3bd5 100644 (file)
@@ -481,7 +481,7 @@ InFiqCrack (
   IN UINT32 PC\r
   )\r
 {\r
-  UINT32 VectorBase = PcdGet32 (PcdCpuVectorBaseAddress);\r
+  UINT64 VectorBase = PcdGet64 (PcdCpuVectorBaseAddress);\r
   UINT32 Length     = (UINTN)ExceptionHandlersEnd - (UINTN)ExceptionHandlersStart;\r
 \r
   if ((PC >= VectorBase) && (PC <= (VectorBase + Length))) {\r
@@ -626,7 +626,7 @@ InitializeDebugAgent (
   UINTN                Offset;\r
   UINTN                Length;\r
   BOOLEAN              IrqEnabled;\r
-  UINT32               *VectorBase;\r
+  UINT64               *VectorBase;\r
 \r
 \r
   //\r
@@ -644,7 +644,7 @@ InitializeDebugAgent (
   //\r
   // Reserve space for the exception handlers\r
   //\r
-  VectorBase = (UINT32 *)(UINTN)PcdGet32 (PcdCpuVectorBaseAddress);\r
+  VectorBase = (UINT64 *)(UINTN)PcdGet64 (PcdCpuVectorBaseAddress);\r
 \r
 \r
   // Copy our assembly code into the page that contains the exception vectors.\r
@@ -657,7 +657,7 @@ InitializeDebugAgent (
   *(UINTN *) (((UINT8 *)VectorBase) + Offset) = (UINTN)AsmCommonExceptionEntry;\r
 \r
   // Flush Caches since we updated executable stuff\r
-  InvalidateInstructionCacheRange ((VOID *)PcdGet32(PcdCpuVectorBaseAddress), Length);\r
+  InvalidateInstructionCacheRange ((VOID *)PcdGet64(PcdCpuVectorBaseAddress), Length);\r
 \r
   // setup a timer so gdb can break in via ctrl-c\r
   DebugAgentTimerIntialize ();\r