//
// ARM Cpu IDs
//
-#define ARM_CPU_IMPLEMENTER_MASK (0xFF << 24)
-#define ARM_CPU_IMPLEMENTER_ARMLTD (0x41 << 24)
-#define ARM_CPU_IMPLEMENTER_DEC (0x44 << 24)
-#define ARM_CPU_IMPLEMENTER_MOT (0x4D << 24)
-#define ARM_CPU_IMPLEMENTER_QUALCOMM (0x51 << 24)
-#define ARM_CPU_IMPLEMENTER_MARVELL (0x56 << 24)
+#define ARM_CPU_IMPLEMENTER_MASK (0xFFU << 24)
+#define ARM_CPU_IMPLEMENTER_ARMLTD (0x41U << 24)
+#define ARM_CPU_IMPLEMENTER_DEC (0x44U << 24)
+#define ARM_CPU_IMPLEMENTER_MOT (0x4DU << 24)
+#define ARM_CPU_IMPLEMENTER_QUALCOMM (0x51U << 24)
+#define ARM_CPU_IMPLEMENTER_MARVELL (0x56U << 24)
#define ARM_CPU_PRIMARY_PART_MASK (0xFFF << 4)
#define ARM_CPU_PRIMARY_PART_CORTEXA5 (0xC05 << 4)
mrc p15,1,r0,c0,c0,1 ; Read CP15 Cache Level ID Register\r
bx lr\r
\r
-END\r
+ END\r
ldmfd sp!, {r4-r11, pc}\r
\r
END\r
-
\ No newline at end of file
mov r2, r1
mov r1, #0
b __aeabi_memset
+
+ END
// L2x0 Cache Controller Base Address\r
//#define ARM_EB_L2x0_CTLR_BASE 0x1E00A000*/\r
\r
-#define ARM_EB_SYS_PROC_ID_MASK (0xFF << 24)\r
-#define ARM_EB_SYS_PROC_ID_CORTEX_A8 (0x0E << 24)\r
-#define ARM_EB_SYS_PROC_ID_CORTEX_A9 (0x0C << 24)\r
+#define ARM_EB_SYS_PROC_ID_MASK (UINT32)(0xFFU << 24)\r
+#define ARM_EB_SYS_PROC_ID_CORTEX_A8 (UINT32)(0x0EU << 24)\r
+#define ARM_EB_SYS_PROC_ID_CORTEX_A9 (UINT32)(0x0CU << 24)\r
\r
/*******************************************\r
// System Configuration Control\r
ArmPlatformSecBootMemoryInit\r
// The SMC does not need to be initialized for RTSM\r
bx lr\r
+\r
+ END\r
// VRAM offset for the PL111 Colour LCD Controller on the motherboard\r
#define VRAM_MOTHERBOARD_BASE (ARM_VE_SMB_PERIPH_BASE + 0x00000)\r
\r
-#define ARM_VE_SYS_PROC_ID_MASK (0xFF << 24)\r
-#define ARM_VE_SYS_PROC_ID_UNSUPPORTED (0xFF << 24)\r
-#define ARM_VE_SYS_PROC_ID_CORTEX_A9 (0x0C << 24)\r
-#define ARM_VE_SYS_PROC_ID_CORTEX_A5 (0x12 << 24)\r
-#define ARM_VE_SYS_PROC_ID_CORTEX_A15 (0x14 << 24)\r
+#define ARM_VE_SYS_PROC_ID_MASK (UINT32)(0xFFU << 24)\r
+#define ARM_VE_SYS_PROC_ID_UNSUPPORTED (UINT32)(0xFFU << 24)\r
+#define ARM_VE_SYS_PROC_ID_CORTEX_A9 (UINT32)(0x0CU << 24)\r
+#define ARM_VE_SYS_PROC_ID_CORTEX_A5 (UINT32)(0x12U << 24)\r
+#define ARM_VE_SYS_PROC_ID_CORTEX_A15 (UINT32)(0x14U << 24)\r
\r
//\r
// Sites where the peripheral is fitted\r
ldr r0, [r2, #0]\r
\r
bx r5\r
+\r
+ END\r
ArmPlatformSecBootMemoryInit\r
// The SMC does not need to be initialized for RTSM\r
bx lr\r
+\r
+ END\r
str r2, [r1, #PL350_SMC_REFRESH_0_OFFSET]\r
str r3, [r1, #PL350_SMC_REFRESH_1_OFFSET]\r
blx lr\r
+\r
+ END\r
ArmPlatformSecBootMemoryInit\r
// The SMC does not need to be initialized for RTSM\r
bx lr\r
+\r
+ END\r
\r
#include <Library/ArmLib.h>\r
#include <Library/ArmGicLib.h>\r
+#include <Library/ArmPlatformSecLib.h>\r
#include <Library/DebugLib.h>\r
#include <Library/PcdLib.h>\r
#include <Library/PrintLib.h>\r
\r
_SetSVCMode\r
// Enter SVC mode, Disable FIQ and IRQ\r
- mov r1, #0x13|0x80|0x40\r
+ mov r1, #0x13 :OR: 0x80 :OR: 0x40\r
msr CPSR_c, r1\r
\r
// Check if we can install the stack at the top of the System Memory or if we need\r