diff options
Diffstat (limited to 'include/plat')
-rw-r--r-- | include/plat/arm/board/common/board_arm_def.h | 24 | ||||
-rw-r--r-- | include/plat/arm/common/arm_def.h | 5 | ||||
-rw-r--r-- | include/plat/arm/common/plat_arm.h | 5 | ||||
-rw-r--r-- | include/plat/arm/soc/common/soc_css_def.h | 8 | ||||
-rw-r--r-- | include/plat/common/common_def.h | 34 | ||||
-rw-r--r-- | include/plat/common/platform.h | 12 |
6 files changed, 41 insertions, 47 deletions
diff --git a/include/plat/arm/board/common/board_arm_def.h b/include/plat/arm/board/common/board_arm_def.h index 21dee7e4..3abf235e 100644 --- a/include/plat/arm/board/common/board_arm_def.h +++ b/include/plat/arm/board/common/board_arm_def.h @@ -64,29 +64,41 @@ * plat_arm_mmap array defined for each BL stage. */ #if IMAGE_BL1 -# define PLAT_ARM_MMAP_ENTRIES 6 +# if PLAT_fvp +# define PLAT_ARM_MMAP_ENTRIES 7 +# else +# define PLAT_ARM_MMAP_ENTRIES 6 +# endif #endif #if IMAGE_BL2 -# define PLAT_ARM_MMAP_ENTRIES 8 +# if PLAT_fvp +# define PLAT_ARM_MMAP_ENTRIES 9 +# else +# define PLAT_ARM_MMAP_ENTRIES 8 +# endif #endif #if IMAGE_BL31 -# define PLAT_ARM_MMAP_ENTRIES 5 +#define PLAT_ARM_MMAP_ENTRIES 5 #endif #if IMAGE_BL32 -# define PLAT_ARM_MMAP_ENTRIES 4 +#define PLAT_ARM_MMAP_ENTRIES 4 #endif /* * Platform specific page table and MMU setup constants */ #if IMAGE_BL1 -# if PLAT_fvp || PLAT_juno +# if PLAT_juno # define MAX_XLAT_TABLES 2 # else # define MAX_XLAT_TABLES 3 # endif /* PLAT_ */ #elif IMAGE_BL2 -# define MAX_XLAT_TABLES 3 +# if PLAT_juno +# define MAX_XLAT_TABLES 3 +# else +# define MAX_XLAT_TABLES 4 +# endif /* PLAT_ */ #elif IMAGE_BL31 # define MAX_XLAT_TABLES 2 #elif IMAGE_BL32 diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h index c93b6842..4447af2c 100644 --- a/include/plat/arm/common/arm_def.h +++ b/include/plat/arm/common/arm_def.h @@ -32,6 +32,7 @@ #include <common_def.h> #include <platform_def.h> +#include <tbbr_img_def.h> #include <xlat_tables.h> @@ -200,7 +201,7 @@ #if TRUSTED_BOARD_BOOT #define BL1_RW_BASE (ARM_BL_RAM_BASE + \ ARM_BL_RAM_SIZE - \ - 0x8000) + 0x9000) #else #define BL1_RW_BASE (ARM_BL_RAM_BASE + \ ARM_BL_RAM_SIZE - \ @@ -216,7 +217,7 @@ * size plus a little space for growth. */ #if TRUSTED_BOARD_BOOT -#define BL2_BASE (BL31_BASE - 0x1C000) +#define BL2_BASE (BL31_BASE - 0x1D000) #else #define BL2_BASE (BL31_BASE - 0xC000) #endif diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h index e1221a90..d7eaac1d 100644 --- a/include/plat/arm/common/plat_arm.h +++ b/include/plat/arm/common/plat_arm.h @@ -196,8 +196,9 @@ void plat_arm_pwrc_setup(void); */ void plat_arm_io_setup(void); int plat_arm_get_alt_image_source( - const uintptr_t image_spec, - uintptr_t *dev_handle); + unsigned int image_id, + uintptr_t *dev_handle, + uintptr_t *image_spec); void plat_arm_topology_setup(void); diff --git a/include/plat/arm/soc/common/soc_css_def.h b/include/plat/arm/soc/common/soc_css_def.h index 8b43e4ce..428df4d2 100644 --- a/include/plat/arm/soc/common/soc_css_def.h +++ b/include/plat/arm/soc/common/soc_css_def.h @@ -65,6 +65,14 @@ */ #define SOC_CSS_NIC400_APB4_BRIDGE 4 +/* Keys */ +#define SOC_KEYS_BASE 0x7fe80000 +#define TZ_PUB_KEY_HASH_BASE (SOC_KEYS_BASE + 0x0000) +#define TZ_PUB_KEY_HASH_SIZE 32 +#define HU_KEY_BASE (SOC_KEYS_BASE + 0x0020) +#define HU_KEY_SIZE 16 +#define END_KEY_BASE (SOC_KEYS_BASE + 0x0044) +#define END_KEY_SIZE 32 #define SOC_CSS_MAP_DEVICE MAP_REGION_FLAT( \ SOC_CSS_DEVICE_BASE, \ diff --git a/include/plat/common/common_def.h b/include/plat/common/common_def.h index 1e2a417c..1b3203e1 100644 --- a/include/plat/common/common_def.h +++ b/include/plat/common/common_def.h @@ -47,40 +47,6 @@ */ #define FIRMWARE_WELCOME_STR "Booting Trusted Firmware\n" -/* Trusted Boot Firmware BL2 */ -#define BL2_IMAGE_NAME "bl2.bin" - -/* SCP Firmware BL3-0 */ -#define BL30_IMAGE_NAME "bl30.bin" - -/* EL3 Runtime Firmware BL31 */ -#define BL31_IMAGE_NAME "bl31.bin" - -/* Secure Payload BL32 (Trusted OS) */ -#define BL32_IMAGE_NAME "bl32.bin" - -/* Non-Trusted Firmware BL33 */ -#define BL33_IMAGE_NAME "bl33.bin" - -/* Firmware Image Package */ -#define FIP_IMAGE_NAME "fip.bin" - -#if TRUSTED_BOARD_BOOT -/* Certificates */ -# define BL2_CERT_NAME "bl2.crt" -# define TRUSTED_KEY_CERT_NAME "trusted_key.crt" - -# define BL30_KEY_CERT_NAME "bl30_key.crt" -# define BL31_KEY_CERT_NAME "bl31_key.crt" -# define BL32_KEY_CERT_NAME "bl32_key.crt" -# define BL33_KEY_CERT_NAME "bl33_key.crt" - -# define BL30_CERT_NAME "bl30.crt" -# define BL31_CERT_NAME "bl31.crt" -# define BL32_CERT_NAME "bl32.crt" -# define BL33_CERT_NAME "bl33.crt" -#endif /* TRUSTED_BOARD_BOOT */ - /* * Some of the platform porting definitions use the 'ull' suffix in order to * avoid subtle integer overflow errors due to implicit integer type promotion diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h index 8188f456..469d46b6 100644 --- a/include/plat/common/platform.h +++ b/include/plat/common/platform.h @@ -44,13 +44,18 @@ struct entry_point_info; struct bl31_params; /******************************************************************************* + * plat_get_rotpk_info() flags + ******************************************************************************/ +#define ROTPK_IS_HASH (1 << 0) + +/******************************************************************************* * Function declarations ******************************************************************************/ /******************************************************************************* * Mandatory common functions ******************************************************************************/ uint64_t plat_get_syscnt_freq(void); -int plat_get_image_source(const char *image_name, +int plat_get_image_source(unsigned int image_id, uintptr_t *dev_handle, uintptr_t *image_spec); unsigned long plat_get_ns_image_entrypoint(void); @@ -191,8 +196,9 @@ void bl31_plat_enable_mmu(uint32_t flags); void bl32_plat_enable_mmu(uint32_t flags); /******************************************************************************* - * Trusted Boot functions + * Trusted Board Boot functions ******************************************************************************/ -int plat_match_rotpk(const unsigned char *, unsigned int); +int plat_get_rotpk_info(void *cookie, void **key_ptr, unsigned int *key_len, + unsigned int *flags); #endif /* __PLATFORM_H__ */ |