diff options
Diffstat (limited to 'docs/porting-guide.md')
-rw-r--r-- | docs/porting-guide.md | 57 |
1 files changed, 51 insertions, 6 deletions
diff --git a/docs/porting-guide.md b/docs/porting-guide.md index 195c9374..93c0169a 100644 --- a/docs/porting-guide.md +++ b/docs/porting-guide.md @@ -721,7 +721,6 @@ Firmware represents the power domain topology and how this relates to the linear CPU index, please refer [Power Domain Topology Design]. - 2.4 Common optional modifications --------------------------------- @@ -777,11 +776,15 @@ called in the following circumstances: The default implementation doesn't do anything, to avoid making assumptions about the way the platform displays its status information. -This function receives the exception type as its argument. Possible values for -exceptions types are listed in the [include/common/bl_common.h] header file. -Note that these constants are not related to any architectural exception code; -they are just an ARM Trusted Firmware convention. +For AArch64, this function receives the exception type as its argument. +Possible values for exceptions types are listed in the +[include/common/bl_common.h] header file. Note that these constants are not +related to any architectural exception code; they are just an ARM Trusted +Firmware convention. +For AArch32, this function receives the exception mode as its argument. +Possible values for exception modes are listed in the +[include/lib/aarch32/arch.h] header file. ### Function : plat_reset_handler() @@ -841,10 +844,37 @@ and must be implemented in assembly because it may be called before the C environment is initialized. Note: The address from where it was called is stored in x30 (Link Register). - The default implementation simply spins. +### Function : plat_get_bl_image_load_info() + + Argument : void + Return : bl_load_info_t * + +This function returns pointer to the list of images that the platform has +populated to load. This function is currently invoked in BL2 to load the +BL3xx images, when LOAD_IMAGE_V2 is enabled. + +### Function : plat_get_next_bl_params() + + Argument : void + Return : bl_params_t * + +This function returns a pointer to the shared memory that the platform has +kept aside to pass trusted firmware related information that next BL image +needs. This function is currently invoked in BL2 to pass this information to +the next BL image, when LOAD_IMAGE_V2 is enabled. + +### Function : plat_flush_next_bl_params() + + Argument : void + Return : void + +This function flushes to main memory all the image params that are passed to +next image. This function is currently invoked in BL2 to flush this information +to the next BL image, when LOAD_IMAGE_V2 is enabled. + 3. Modifications specific to a Boot Loader stage ------------------------------------------------- @@ -1175,6 +1205,20 @@ populated with the extents of secure RAM available for BL2 to use. See `bl2_early_platform_setup()` above. +Following function is required only when LOAD_IMAGE_V2 is enabled. + +### Function : bl2_plat_handle_post_image_load() [mandatory] + + Argument : unsigned int + Return : int + +This function can be used by the platforms to update/use image information +for given `image_id`. This function is currently invoked in BL2 to handle +BL image specific information based on the `image_id` passed, when +LOAD_IMAGE_V2 is enabled. + +Following functions are required only when LOAD_IMAGE_V2 is disabled. + ### Function : bl2_plat_get_scp_bl2_meminfo() [mandatory] Argument : meminfo * @@ -2194,6 +2238,7 @@ _Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved._ [plat/common/aarch64/platform_up_stack.S]: ../plat/common/aarch64/platform_up_stack.S [plat/arm/board/fvp/fvp_pm.c]: ../plat/arm/board/fvp/fvp_pm.c [include/common/bl_common.h]: ../include/common/bl_common.h +[include/lib/aarch32/arch.h]: ../include/lib/aarch32/arch.h [include/plat/arm/common/arm_def.h]: ../include/plat/arm/common/arm_def.h [include/plat/common/common_def.h]: ../include/plat/common/common_def.h [include/plat/common/platform.h]: ../include/plat/common/platform.h |