From ca8afbca68b65864770e13a486a6718d5b9fea8e Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Thu, 18 Aug 2011 22:02:20 +0000 Subject: ArmPlatformPkg: Changed the reference base of the PI Global Pointer Offset Before the PI Global Pointer Offsets were refered to the top of the Global Pointer region (negative offset). After this commit the Global Pointer Offset are relative to the base of the Global Pointer region. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12172 6f19259b-4bc3-4df7-8a09-765794883524 --- .../PeiServicesTablePointerLib/PeiServicesTablePointer.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'ArmPlatformPkg/Library') diff --git a/ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c b/ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c index 8a47e8d8a7..0e6755d3aa 100644 --- a/ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c +++ b/ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c @@ -39,7 +39,10 @@ SetPeiServicesTablePointer ( UINTN *PeiPtrLoc; ASSERT (PeiServicesTablePointer != NULL); - PeiPtrLoc = (UINTN *)(UINTN)(PcdGet32 (PcdCPUCoresNonSecStackBase) + (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - PcdGet32 (PcdPeiServicePtrGlobalOffset)); + PeiPtrLoc = (UINTN *)(UINTN)(PcdGet32 (PcdCPUCoresNonSecStackBase) + + (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - + PcdGet32 (PcdPeiGlobalVariableSize) + + PcdGet32 (PcdPeiServicePtrGlobalOffset)); *PeiPtrLoc = (UINTN)PeiServicesTablePointer; } @@ -63,7 +66,10 @@ GetPeiServicesTablePointer ( { UINTN *PeiPtrLoc; - PeiPtrLoc = (UINTN *)(UINTN)(PcdGet32 (PcdCPUCoresNonSecStackBase) + (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - PcdGet32 (PcdPeiServicePtrGlobalOffset)); + PeiPtrLoc = (UINTN *)(UINTN)(PcdGet32 (PcdCPUCoresNonSecStackBase) + + (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - + PcdGet32 (PcdPeiGlobalVariableSize) + + PcdGet32 (PcdPeiServicePtrGlobalOffset)); return (CONST EFI_PEI_SERVICES **)*PeiPtrLoc; } -- cgit v1.2.3