b/SamsungPlatformPkg/OrigenBoardPkg/OrigenBoardPkg-Exynos.dsc
@@ -37,6 +37,7 @@
!endif
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
ArmPlatformLib|SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoardLib.inf
+ ArmPlatformSecLib|SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoardSecLib.inf
ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
@@ -47,6 +48,7 @@
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
+ CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf
#
# Uncomment (and comment out the next line) For RealView Debugger.
The Standard IO window
@@ -98,10 +100,10 @@
[LibraryClasses.common.SEC]
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf
- ArmGicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicSecLib.inf
- ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf
+ ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf
+ ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicSecLib.inf
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.inf
- ArmPlatformLib|SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoardSecLib.inf
+ ArmPlatformSecLib|SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoardSecLib.inf
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
# L2 Cache Driver
@@ -300,6 +302,7 @@
gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x01000000
# Stacks for MPCores in Secure World
gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x4B000000 #
Top of SEC Stack for Secure World
+ gArmPlatformTokenSpaceGuid.PcdSecGlobalVariableSize|0x100
# Stacks for MPCores in Monitor Mode
gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x4A000000 #
Top of SEC Stack for Monitor World
b/SamsungPlatformPkg/OrigenBoardPkg/OrigenBoardPkg-Exynos.fdf
@@ -50,7 +50,7 @@ NumBlocks = 0x20
################################################################################
0x0000000|0x00010000
-gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvBaseSize
+gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize
FV = FVMAIN_SEC
0x00010000|0x00100000
b/SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoard.c
@@ -149,6 +149,16 @@ ArmPlatformGetBootMode (
VOID ArmPlatformInitializeSystemMemory(VOID) {
// We do not need to initialize the System Memory on RTSM
}
+
+RETURN_STATUS
+ArmPlatformInitialize (
+ IN UINTN MpId
+ )
+{
+return RETURN_SUCCESS;
+}
+
+
VOID
ArmPlatformNormalInitialize (
VOID
b/SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoardHelper.S
@@ -27,6 +27,7 @@ GCC_ASM_EXPORT(ArmPlatformIsClockInitialized)
GCC_ASM_EXPORT(ArmPlatformIsMemoryInitialized)
GCC_ASM_EXPORT(ArmPlatformInitializeBootMemory)
GCC_ASM_EXPORT(ArmPlatformSecBootAction)
+GCC_ASM_EXPORT(ArmPlatformSecBootMemoryInit)
ASM_PFX(ArmPlatformTZPCInitialized):
ldr r0, =Exynos4210_TZPC0_BASE
@@ -343,6 +344,10 @@ cmu_11:
ASM_PFX(ArmPlatformSecBootAction):
bx lr
+
+ASM_PFX(ArmPlatformSecBootMemoryInit):
+ bx lr
+
/*
* Called at the early stage of the Boot phase to know if the memory has
* already been initialized. Running the code from the reset vector does
b/SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoardLib.inf
@@ -30,7 +30,6 @@
[LibraryClasses]
IoLib
ArmLib
- MemoryAllocationLib
[Sources.common]
SmdkBoard.c
b/SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoardSec.c
@@ -40,3 +40,18 @@ ArmPlatformSecInitialize (
FALSE);
}
+//Aditya added this to avoid compilation error
+/**
+ 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
+ArmPlatformSecTrustzoneInit (
+ IN UINTN MpId
+ )
+{
+ //ASSERT(FALSE);
+}
b/SamsungPlatformPkg/SmdkBoardPkg/Library/SmdkBoardLib/SmdkBoardSecLib.inf
@@ -36,7 +36,7 @@
SmdkBoard.c
SmdkBoardSec.c
SmdkBoardHelper.asm | RVCT
- SmdkBoardHelper.S | GCC | ARMGCC
+ SmdkBoardHelper.S | GCC
[Protocols]