]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPlatformPkg: Fix ARM RealView EB and VE builds
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 30 Aug 2011 16:54:48 +0000 (16:54 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 30 Aug 2011 16:54:48 +0000 (16:54 +0000)
Tested with RVCTLINUX and ARMGCC toolchains.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12233 6f19259b-4bc3-4df7-8a09-765794883524

ArmPkg/Library/DebugAgentSymbolsOnlyLib/DebugAgentSymbolsOnlyLib.c
ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEb.c
ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbSecLib.inf
ArmPlatformPkg/Include/Drivers/SP804Timer.h
ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf

index 687a9971ce2dec916716ebf5ec166c509b97edd7..ae7fa1ca3528f8e6b0f6206e7008b7fd27d01206 100755 (executable)
@@ -280,9 +280,9 @@ InitializeDebugAgent (
   // modules\r
   if (InitFlag == DEBUG_AGENT_INIT_PREMEM_SEC) {\r
     //\r
-    // Get the PrePi or PrePeiCore module (defined as SEC type module)\r
+    // Get the Sec or PrePeiCore module (defined as SEC type module)\r
     //\r
-    Status = GetFfsFile ((EFI_FIRMWARE_VOLUME_HEADER*)PcdGet32(PcdSecureFdBaseAddress), EFI_FV_FILETYPE_SECURITY_CORE, &FfsHeader);\r
+    Status = GetFfsFile ((EFI_FIRMWARE_VOLUME_HEADER*)PcdGet32(PcdSecureFvBaseAddress), EFI_FV_FILETYPE_SECURITY_CORE, &FfsHeader);\r
     if (!EFI_ERROR(Status)) {\r
       Status = GetImageContext (FfsHeader,&ImageContext);\r
       if (!EFI_ERROR(Status)) {\r
index 5709ca6c01c0a6d901e2eed035706b702b72c442..a245c239aaa329b9091486eee86e6884cd0efdc1 100644 (file)
@@ -42,21 +42,6 @@ ArmPlatformTrustzoneSupported (
   return FALSE;
 }
 
-/**
-  Initialize the Secure peripherals and memory regions
-
-  If Trustzone is supported by your platform then this function makes the required initialization
-  of the secure peripherals and memory regions.
-
-**/
-VOID
-ArmPlatformTrustzoneInit (
-  VOID
-  )
-{
-  ASSERT(FALSE);
-}
-
 /**
   Remap the memory at 0x0
 
@@ -87,20 +72,6 @@ ArmPlatformGetBootMode (
   return BOOT_WITH_FULL_CONFIGURATION;
 }
 
-/**
-  Initialize controllers that must setup at the early stage
-
-  Some peripherals must be initialized in Secure World.
-  For example, some L2x0 requires to be initialized in Secure World
-
-**/
-VOID
-ArmPlatformSecInitialize (
-  VOID
-  ) {
-  // Do nothing yet
-}
-
 /**
   Initialize controllers that must setup in the normal world
 
index 60b40074e51ba561c598554bdb86db11f196cdaa..17df8100a441b4f215107837ddf034a762713193 100644 (file)
@@ -32,6 +32,7 @@
 \r
 [Sources.common]\r
   ArmRealViewEb.c\r
+  ArmRealViewEbSec.c\r
   ArmRealViewEbHelper.asm   | RVCT\r
   ArmRealViewEbHelper.S     | GCC\r
   ArmRealViewEbBoot.asm     | RVCT\r
@@ -39,3 +40,6 @@
 \r
 [FeaturePcd]\r
   gEmbeddedTokenSpaceGuid.PcdCacheEnable\r
+\r
+[FixedPcd]\r
+  gArmTokenSpaceGuid.PcdNormalFvBaseAddress\r
index dee337ebf9d144cdd439b539d7f4d5a299dd8d3f..f9a89c5376870b46b46c23da53eb874b9de59cea 100644 (file)
 #define _SP804_TIMER_H__\r
 \r
 // SP804 Timer constants\r
-#define SP804_TIMER_LOAD_REG          0x00\r
-#define SP804_TIMER_CURRENT_REG       0x04\r
-#define SP804_TIMER_CONTROL_REG       0x08\r
-#define SP804_TIMER_INT_CLR_REG       0x0C\r
-#define SP804_TIMER_RAW_INT_STS_REG   0x10\r
-#define SP804_TIMER_MSK_INT_STS_REG   0x14\r
-#define SP804_TIMER_BG_LOAD_REG       0x18\r
+// Note: The SP804 Timer module comprises two timers, Timer_0 and Timer_1\r
+//       These timers are identical and all their registers have an offset of 0x20\r
+//       i.e. SP804_TIMER_0_LOAD_REG = 0x00 and SP804_TIMER_1_LOAD_REG = 0x20\r
+//       Therefore, define all registers only once and adjust the base addresses by 0x20\r
+#define SP804_TIMER_LOAD_REG            0x00\r
+#define SP804_TIMER_CURRENT_REG         0x04\r
+#define SP804_TIMER_CONTROL_REG         0x08\r
+#define SP804_TIMER_INT_CLR_REG         0x0C\r
+#define SP804_TIMER_RAW_INT_STS_REG     0x10\r
+#define SP804_TIMER_MSK_INT_STS_REG     0x14\r
+#define SP804_TIMER_BG_LOAD_REG         0x18\r
 \r
 // Timer control register bit definitions\r
 #define SP804_TIMER_CTRL_ONESHOT        BIT0\r
@@ -36,6 +40,9 @@
 #define SP804_TIMER_CTRL_PERIODIC       BIT6\r
 #define SP804_TIMER_CTRL_ENABLE         BIT7\r
 \r
+// Other SP804 Timer definitions\r
+#define SP804_MAX_TICKS                 0xFFFFFFFF\r
+\r
 // SP810 System Controller constants\r
 #define SP810_SYS_CTRL_REG              0x00\r
 #define SP810_SYS_CTRL_TIMER0_TIMCLK    BIT15 // 0=REFCLK, 1=TIMCLK\r
index 33f2457b7eeb0d5d317765c0b11e3a621d23b794..5c0811b83787eb5c41b867a25106ae9eb64e1c5f 100644 (file)
@@ -43,4 +43,5 @@
   gArmPlatformTokenSpaceGuid.PcdPeiServicePtrGlobalOffset\r
   gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase\r
   gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize\r
+  gArmPlatformTokenSpaceGuid.PcdPeiGlobalVariableSize\r
   \r