# 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
# 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
// 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
// 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
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
UINTN Offset;\r
UINTN Length;\r
BOOLEAN IrqEnabled;\r
- UINT32 *VectorBase;\r
+ UINT64 *VectorBase;\r
\r
\r
//\r
//\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
*(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