]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
docs: update RESET_TO_BL31 documentation
authorManish V Badarkhe <Manish.Badarkhe@arm.com>
Tue, 21 Feb 2023 12:35:09 +0000 (12:35 +0000)
committerManish V Badarkhe <Manish.Badarkhe@arm.com>
Thu, 9 Mar 2023 14:42:49 +0000 (14:42 +0000)
The documentation has been updated to explicitly mention that with
RESET_TO_BL31, the platform can receive parameters based on their
actual boot sequence.

Change-Id: Ib482fb89e528ec836ff7ee175cac59dd2da2898b
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
docs/design/reset-design.rst

index 7b10c956c4a7152c73afb2aee5f5aab5c3f7bf2f..f8c5a434116291f4c53c3ac97a36e06ac7fd7645 100644 (file)
@@ -141,19 +141,27 @@ CPU executes a modified BL31 initialization, as described below.
 Platform initialization
 ~~~~~~~~~~~~~~~~~~~~~~~
 
-In this configuration, when the CPU resets to BL31 there are no parameters that
-can be passed in registers by previous boot stages. Instead, the platform code
-in BL31 needs to know, or be able to determine, the location of the BL32 (if
-required) and BL33 images and provide this information in response to the
-``bl31_plat_get_next_image_ep_info()`` function.
+In this configuration, since the CPU resets to BL31, no parameters are expected
+to be passed to BL31 (see notes below for clarification).
+Instead, the platform code in BL31 needs to know, or be able to determine, the
+location of the BL32 (if required) and BL33 images and provide this information
+in response to the ``bl31_plat_get_next_image_ep_info()`` function.
 
 Additionally, platform software is responsible for carrying out any security
 initialisation, for example programming a TrustZone address space controller.
 This might be done by the Trusted Boot Firmware or by platform code in BL31.
 
+.. note::
+   Even though RESET_TO_BL31 is designed such that BL31 is the reset BL image,
+   some platforms may wish to pass some arguments to BL31 as per the defined
+   contract between BL31 and previous bootloaders. Previous bootloaders can
+   pass arguments through registers x0 through x3. BL31 will preserve them and
+   propagate them to platform code, which will handle these arguments in an
+   IMPDEF manner.
+
 --------------
 
-*Copyright (c) 2015-2019, Arm Limited and Contributors. All rights reserved.*
+*Copyright (c) 2015-2023, Arm Limited and Contributors. All rights reserved.*
 
 .. |Default reset code flow| image:: ../resources/diagrams/default_reset_code.png
 .. |Reset code flow with programmable reset address| image:: ../resources/diagrams/reset_code_no_boot_type_check.png