aboutsummaryrefslogtreecommitdiff
path: root/plat/fvp/platform.h
diff options
context:
space:
mode:
authorHarry Liebel <Harry.Liebel@arm.com>2014-04-01 19:27:38 +0100
committerHarry Liebel <Harry.Liebel@arm.com>2014-04-24 14:08:01 +0100
commitf2199d95d931826be7f87af0935ac536812d0488 (patch)
tree273cea29e9d7fea8bb38cc36a86385cc66b02098 /plat/fvp/platform.h
parentcd116d177b76dbb333ed2aa0cb47a0c17678f0c2 (diff)
downloadarm-trusted-firmware-f2199d95d931826be7f87af0935ac536812d0488.tar.gz
Enable secure memory support for FVPs
- Use the TrustZone controller on Base FVP to program DRAM access permissions. By default no access to DRAM is allowed if 'secure memory' is enabled on the Base FVP. - The Foundation FVP does not have a TrustZone controller but instead has fixed access permissions. - Update FDTs for Linux to use timers at the correct security level. - Starting the FVPs with 'secure memory' disabled is also supported. Limitations: Virtio currently uses a reserved NSAID. This will be corrected in future FVP releases. Change-Id: I0b6c003a7b5982267815f62bcf6eb82aa4c50a31
Diffstat (limited to 'plat/fvp/platform.h')
-rw-r--r--plat/fvp/platform.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/plat/fvp/platform.h b/plat/fvp/platform.h
index c594357..01b995b 100644
--- a/plat/fvp/platform.h
+++ b/plat/fvp/platform.h
@@ -99,7 +99,8 @@
#define CONFIG_BASE_MMAP 7
/* Indicates whether CCI should be enabled on the platform. */
#define CONFIG_HAS_CCI 8
-#define CONFIG_LIMIT 9
+#define CONFIG_HAS_TZC 9
+#define CONFIG_LIMIT 10
/*******************************************************************************
* Platform memory map related constants
@@ -303,6 +304,28 @@
#define PL011_UART3_BASE 0x1c0c0000
#define PL011_BASE PL011_UART0_BASE
+
+/*******************************************************************************
+ * TrustZone address space controller related constants
+ ******************************************************************************/
+#define TZC400_BASE 0x2a4a0000
+
+/*
+ * The NSAIDs for this platform as used to program the TZC400.
+ * TODO:
+ * This list and the numbers in it is still changing on the Base FVP.
+ * For now only specify the NSAIDs we actually use.
+ */
+
+/* The FVP has 4 bits of NSAIDs. Used with TZC FAIL_ID (ACE Lite ID width) */
+#define FVP_AID_WIDTH 4
+#define FVP_NSAID_DEFAULT 0
+#define FVP_NSAID_AP 9 /* Application Processors */
+
+/* FIXME: Currently incorrectly used by Virtio */
+#define FVP_NSAID_RES5 15
+
+
/*******************************************************************************
* Declarations and constants to access the mailboxes safely. Each mailbox is
* aligned on the biggest cache line size in the platform. This is known only
@@ -374,6 +397,10 @@ extern void io_setup(void);
extern int plat_get_image_source(const char *image_name,
io_dev_handle *dev_handle, void **image_spec);
+/* Declarations for plat_security.c */
+extern void plat_security_setup(void);
+
+
#endif /*__ASSEMBLY__*/
#endif /* __PLATFORM_H__ */