ArmPlatformPkg: Fix ARM RealView EB and VE builds

Tested with RVCTLINUX and ARMGCC toolchains.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12233 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
oliviermartin 2011-08-30 16:54:48 +00:00
parent 78c2b9a334
commit cc1e814923
5 changed files with 21 additions and 38 deletions

View File

@ -280,9 +280,9 @@ InitializeDebugAgent (
// modules
if (InitFlag == DEBUG_AGENT_INIT_PREMEM_SEC) {
//
// Get the PrePi or PrePeiCore module (defined as SEC type module)
// Get the Sec or PrePeiCore module (defined as SEC type module)
//
Status = GetFfsFile ((EFI_FIRMWARE_VOLUME_HEADER*)PcdGet32(PcdSecureFdBaseAddress), EFI_FV_FILETYPE_SECURITY_CORE, &FfsHeader);
Status = GetFfsFile ((EFI_FIRMWARE_VOLUME_HEADER*)PcdGet32(PcdSecureFvBaseAddress), EFI_FV_FILETYPE_SECURITY_CORE, &FfsHeader);
if (!EFI_ERROR(Status)) {
Status = GetImageContext (FfsHeader,&ImageContext);
if (!EFI_ERROR(Status)) {

View 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

View File

@ -32,6 +32,7 @@
[Sources.common]
ArmRealViewEb.c
ArmRealViewEbSec.c
ArmRealViewEbHelper.asm | RVCT
ArmRealViewEbHelper.S | GCC
ArmRealViewEbBoot.asm | RVCT
@ -39,3 +40,6 @@
[FeaturePcd]
gEmbeddedTokenSpaceGuid.PcdCacheEnable
[FixedPcd]
gArmTokenSpaceGuid.PcdNormalFvBaseAddress

View File

@ -17,13 +17,17 @@
#define _SP804_TIMER_H__
// SP804 Timer constants
#define SP804_TIMER_LOAD_REG 0x00
#define SP804_TIMER_CURRENT_REG 0x04
#define SP804_TIMER_CONTROL_REG 0x08
#define SP804_TIMER_INT_CLR_REG 0x0C
#define SP804_TIMER_RAW_INT_STS_REG 0x10
#define SP804_TIMER_MSK_INT_STS_REG 0x14
#define SP804_TIMER_BG_LOAD_REG 0x18
// Note: The SP804 Timer module comprises two timers, Timer_0 and Timer_1
// These timers are identical and all their registers have an offset of 0x20
// i.e. SP804_TIMER_0_LOAD_REG = 0x00 and SP804_TIMER_1_LOAD_REG = 0x20
// Therefore, define all registers only once and adjust the base addresses by 0x20
#define SP804_TIMER_LOAD_REG 0x00
#define SP804_TIMER_CURRENT_REG 0x04
#define SP804_TIMER_CONTROL_REG 0x08
#define SP804_TIMER_INT_CLR_REG 0x0C
#define SP804_TIMER_RAW_INT_STS_REG 0x10
#define SP804_TIMER_MSK_INT_STS_REG 0x14
#define SP804_TIMER_BG_LOAD_REG 0x18
// Timer control register bit definitions
#define SP804_TIMER_CTRL_ONESHOT BIT0
@ -36,6 +40,9 @@
#define SP804_TIMER_CTRL_PERIODIC BIT6
#define SP804_TIMER_CTRL_ENABLE BIT7
// Other SP804 Timer definitions
#define SP804_MAX_TICKS 0xFFFFFFFF
// SP810 System Controller constants
#define SP810_SYS_CTRL_REG 0x00
#define SP810_SYS_CTRL_TIMER0_TIMCLK BIT15 // 0=REFCLK, 1=TIMCLK

View File

@ -43,4 +43,5 @@
gArmPlatformTokenSpaceGuid.PcdPeiServicePtrGlobalOffset
gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackBase
gArmPlatformTokenSpaceGuid.PcdCPUCoresNonSecStackSize
gArmPlatformTokenSpaceGuid.PcdPeiGlobalVariableSize