From 84a5d6d660c7a194e9829e6c46d6eb80ecab84f5 Mon Sep 17 00:00:00 2001 From: Yatharth Kochar Date: Tue, 27 Oct 2015 15:55:18 +0000 Subject: [PATCH] FWU: Add documentation for Firmware Update feature This patch adds design documentation for the Firmware Update (FWU) feature in `firmware-update.md`. It provides an overview of FWU, describes the BL1 SMC interface, and includes diagrams showing an example FWU boot flow and the FWU state machine. This patch also updates the existing TF documents where needed: * `porting-guide.md` * `user-guide.md` * `firmware-design.md` * `rt-svc-writers-guide.md` * `trusted_board_boot.md` Change-Id: Ie6de31544429b18f01327bd763175e218299a4ce Co-Authored-By: Dan Handley --- docs/diagrams/fwu_flow.png | Bin 0 -> 167225 bytes docs/diagrams/fwu_states.png | Bin 0 -> 114222 bytes docs/firmware-design.md | 15 +- docs/firmware-update.md | 357 +++++++++++++++++++++++++++++++++++ docs/porting-guide.md | 260 ++++++++++++++++++++++--- docs/rt-svc-writers-guide.md | 3 +- docs/trusted-board-boot.md | 9 +- docs/user-guide.md | 87 +++++++-- 8 files changed, 679 insertions(+), 52 deletions(-) create mode 100644 docs/diagrams/fwu_flow.png create mode 100644 docs/diagrams/fwu_states.png create mode 100644 docs/firmware-update.md diff --git a/docs/diagrams/fwu_flow.png b/docs/diagrams/fwu_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..534095f509b737a6758334fc347c5fb41ba1500b GIT binary patch literal 167225 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 B+Ef4l literal 0 HcmV?d00001 diff --git a/docs/diagrams/fwu_states.png b/docs/diagrams/fwu_states.png new file mode 100644 index 0000000000000000000000000000000000000000..fda4d8fd1e44d81c7e41d421649a27e5538289d7 GIT binary patch literal 114222 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�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� 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

5#U^`QK!q*7!KZA*TvCOJB&X)XV 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 MB@M+=d8^R>1>`;6;{X5v literal 0 HcmV?d00001 diff --git a/docs/firmware-design.md b/docs/firmware-design.md index d066fc328..42d90f36d 100644 --- a/docs/firmware-design.md +++ b/docs/firmware-design.md @@ -189,9 +189,21 @@ the CCI slave interface corresponding to the cluster that includes the primary CPU. BL1 also initializes a UART (PL011 console), which enables access to the `printf` family of functions in BL1. +#### Firmware Update detection and execution + +After performing platform setup, BL1 common code calls +`bl1_plat_get_next_image_id()` to determine if [Firmware Update] is required or +to proceed with the normal boot process. If the platform code returns +`BL2_IMAGE_ID` then the normal boot sequence is executed as described in the +next section, else BL1 assumes that [Firmware Update] is required and execution +passes to the first image in the [Firmware Update] process. In either case, BL1 +retrieves a descriptor of the next image by calling `bl1_plat_get_image_desc()`. +The image descriptor contains an `entry_point_info_t` structure, which BL1 +uses to initialize the execution state of the next image. + #### BL2 image load and execution -BL1 execution continues as follows: +In the normal boot flow, BL1 execution continues as follows: 1. BL1 determines the amount of free trusted SRAM memory available by calculating the extent of its own data section, which also resides in @@ -1769,3 +1781,4 @@ _Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved._ [Porting Guide]: ./porting-guide.md [INTRG]: ./interrupt-framework-design.md [CPUBM]: ./cpu-specific-build-macros.md.md +[Firmware Update]: ./firmware-update.md diff --git a/docs/firmware-update.md b/docs/firmware-update.md new file mode 100644 index 000000000..419ac85c7 --- /dev/null +++ b/docs/firmware-update.md @@ -0,0 +1,357 @@ +ARM Trusted Firmware - Firmware Update Design Guide +=================================================== + +Contents : + +1. [Introduction](#1-introduction) +2. [FWU Overview](#2-fwu-overview) +3. [Image Identification](#3-image-identification) +4. [FWU State Machine](#4-fwu-state-machine) +5. [SMC Interface](#5-smc-interface) + +- - - - - - - - - - - - - - - - - - + +1. Introduction +---------------- + +This document describes the design of the Firmware Update (FWU) feature, which +enables authenticated firmware to update firmware images from external +interfaces such as USB, UART, SD-eMMC, NAND, NOR or Ethernet to SoC Non-Volatile +memories such as NAND Flash, LPPDR2-NVM or any memory determined by the +platform. This feature functions even when the current firmware in the system +is corrupt or missing; it therefore may be used as a recovery mode. It may also +be complemented by other, higher level firmware update software. + +FWU implements a specific part of the Trusted Board Boot Requirements (TBBR) +specification, ARM DEN0006C-1. It should be used in conjunction with the +[Trusted Board Boot] design document, which describes the image authentication +parts of the Trusted Firmware (TF) TBBR implementation. + +### Scope + +This document describes the secure world FWU design. It is beyond its scope to +describe how normal world FWU images should operate. To implement normal world +FWU images, please refer to the "Non-Trusted Firmware Updater" requirements in +the TBBR. + + +2. FWU Overview +--------------- + +The FWU boot flow is primarily mediated by BL1. Since BL1 executes in ROM, and +it is usually desirable to minimize the amount of ROM code, the design allows +some parts of FWU to be implemented in other secure and normal world images. +Platform code may choose which parts are implemented in which images but the +general expectation is: + +* BL1 handles: + * Detection and initiation of the FWU boot flow. + * Copying images from non-secure to secure memory + * FWU image authentication + * Context switching between the normal and secure world during the FWU + process. +* Other secure world FWU images handle platform initialization required by + the FWU process. +* Normal world FWU images handle loading of firmware images from external + interfaces to non-secure memory. + +The primary requirements of the FWU feature are: + +1. Export a BL1 SMC interface to interoperate with other FWU images executing + at other Exception Levels. +2. Export a platform interface to provide FWU common code with the information + it needs, and to enable platform specific FWU functionality. See the + [Porting Guide] for details of this interface. + +TF uses abbreviated image terminology for FWU images like for other TF images. +An overview of this terminology can be found [here][TF Image Terminology]. + +The following diagram shows the FWU boot flow for ARM development platforms. +ARM CSS platforms like Juno have a System Control Processor (SCP), and these +use all defined FWU images. Other platforms may use a subset of these. + +![Flow Diagram](diagrams/fwu_flow.png?raw=true) + + +3. Image Identification +----------------------- + +Each FWU image and certificate is identified by a unique ID, defined by the +platform, which BL1 uses to fetch an image descriptor (`image_desc_t`) via a +call to `bl1_plat_get_image_desc()`. The same ID is also used to prepare the +Chain of Trust (Refer to the [Authentication Framework Design][Auth Framework] +for more information). + +The image descriptor includes the following information: + +* Executable or non-executable image. This indicates whether the normal world + is permitted to request execution of a secure world FWU image (after + authentication). Secure world certificates and non-AP images are examples + of non-executable images. +* Secure or non-secure image. This indicates whether the image is + authenticated/executed in secure or non-secure memory. +* Image base address and size. +* Image entry point configuration (an `entry_point_info_t`). +* FWU image state. + +BL1 uses the FWU image descriptors to: + +* Validate the arguments of FWU SMCs +* Manage the state of the FWU process +* Initialize the execution state of the next FWU image. + + +4. FWU State Machine +--------------------- + +BL1 maintains state for each FWU image during FWU execution. FWU images at lower +Exception Levels raise SMCs to invoke FWU functionality in BL1, which causes +BL1 to update its FWU image state. The BL1 image states and valid state +transitions are shown in the diagram below. Note that secure images have a more +complex state machine than non-secure images. + +![FWU state machine](diagrams/fwu_states.png?raw=true) + +The following is a brief description of the supported states: + +* RESET: This is the initial state of every image at the start of FWU. + Authentication failure also leads to this state. A secure + image may yield to this state if it has completed execution. + +* COPYING: This is the state of a secure image while BL1 is copying it + in blocks from non-secure to secure memory. + +* COPIED: This is the state of a secure image when BL1 has completed + copying it to secure memory. + +* AUTHENTICATED: This is the state of an image when BL1 has successfully + authenticated it. + +* EXECUTED: This is the state of a secure, executable image when BL1 has + passed execution control to it. + +* INTERRUPTED: This is the state of a secure, executable image after it has + requested BL1 to resume normal world execution. + + +5. BL1 SMC Interface +----------------- + +### BL1_SMC_CALL_COUNT + + Arguments: + uint32_t function ID : 0x0 + + Return: + uint32_t + +This SMC returns the number of SMCs supported by BL1. + +### BL1_SMC_UID + + Arguments: + uint32_t function ID : 0x1 + + Return: + UUID : 32 bits in each of w0-w3 (or r0-r3 for AArch32 callers) + +This SMC returns the 128-bit [Universally Unique Identifier][UUID] for the +BL1 SMC service. + +### BL1_SMC_VERSION + + Argument: + uint32_t function ID : 0x3 + + Return: + uint32_t : Bits [31:16] Major Version + Bits [15:0] Minor Version + +This SMC returns the current version of the BL1 SMC service. + +### BL1_SMC_RUN_IMAGE + + Arguments: + uint32_t function ID : 0x4 + entry_point_info_t *ep_info + + Return: + void + + Pre-conditions: + if (normal world caller) synchronous exception + if (ep_info not EL3) synchronous exception + +This SMC passes execution control to an EL3 image described by the provided +`entry_point_info_t` structure. In the normal TF boot flow, BL2 invokes this SMC +for BL1 to pass execution control to BL31. + + +### FWU_SMC_IMAGE_COPY + + Arguments: + uint32_t function ID : 0x10 + unsigned int image_id + uintptr_t image_addr + unsigned int block_size + unsigned int image_size + + Return: + int : 0 (Success) + : -ENOMEM + : -EPERM + + Pre-conditions: + if (image_id is invalid) return -EPERM + if (image_id is non-secure image) return -EPERM + if (image_id state is not (RESET or COPYING)) return -EPERM + if (secure world caller) return -EPERM + if (source block is in secure memory) return -ENOMEM + if (source block is not mapped into BL1) return -ENOMEM + if (image_size > free secure memory) return -ENOMEM + +This SMC copies the secure image indicated by `image_id` into secure memory. The +image may be copied in a single block or multiple blocks. In either case, the +total size of the image must be provided in `image_size` when invoking this SMC +the first time for each image. The `image_addr` and `block_size` specify the +source memory block to copy from. If `block_size` >= the size of the remaining +image to copy, then BL1 completes the copy operation and sets the image state +to COPIED. If there is still more to copy, BL1 sets the image state to COPYING. +When using multiple blocks, the source blocks do not necessarily need to be in +contiguous memory. + +BL1 returns from exception to the normal world caller. + + +### FWU_SMC_IMAGE_AUTH + + Arguments: + uint32_t function ID : 0x11 + unsigned int image_id + uintptr_t image_addr + unsigned int image_size + + Return: + int : 0 (Success) + : -ENOMEM + : -EPERM + : -EAUTH + + Pre-conditions: + if (image_id is invalid) return -EPERM + if (secure world caller) + if (image_id state is not RESET) return -EPERM + if (image_addr/image_size is not mappped into BL1) return -ENOMEM + else // normal world caller + if (image_id is secure image) + if (image_id state is not COPIED) return -EPERM + else // image_id is non-secure image + if (image_id state is not RESET) return -EPERM + if (image_addr/image_size is in secure memory) return -ENOMEM + if (image_addr/image_size not mappped into BL1) return -ENOMEM + +This SMC authenticates the image specified by `image_id`. If the image is in the + RESET state, BL1 authenticates the image in place using the provided +`image_addr` and `image_size`. If the image is a secure image in the COPIED +state, BL1 authenticates the image from the secure memory that BL1 previously +copied the image into. + +BL1 returns from exception to the caller. If authentication succeeds then BL1 +sets the image state to AUTHENTICATED. If authentication fails then BL1 returns +the -EAUTH error and sets the image state back to RESET. + + +### FWU_SMC_IMAGE_EXECUTE + + Arguments: + uint32_t function ID : 0x12 + unsigned int image_id + + Return: + int : 0 (Success) + : -EPERM + + Pre-conditions: + if (image_id is invalid) return -EPERM + if (secure world caller) return -EPERM + if (image_id is non-secure image) return -EPERM + if (image_id is non-executable image) return -EPERM + if (image_id state is not AUTHENTICATED) return -EPERM + +This SMC initiates execution of a previously authenticated image specified by +`image_id`, in the other security world to the caller. The current +implementation only supports normal world callers initiating execution of a +secure world image. + +BL1 saves the normal world caller's context, sets the secure image state to +EXECUTED, and returns from exception to the secure image. + + +### FWU_SMC_IMAGE_RESUME + + Arguments: + uint32_t function ID : 0x13 + register_t image_param + + Return: + register_t : image_param (Success) + : -EPERM + + Pre-conditions: + if (normal world caller and no INTERRUPTED secure image) return -EPERM + +This SMC resumes execution in the other security world while there is a secure +image in the EXECUTED/INTERRUPTED state. + +For normal world callers, BL1 sets the previously interrupted secure image state +to EXECUTED. For secure world callers, BL1 sets the previously executing secure +image state to INTERRUPTED. In either case, BL1 saves the calling world's +context, restores the resuming world's context and returns from exception into +the resuming world. If the call is successful then the caller provided +`image_param` is returned to the resumed world, otherwise an error code is +returned to the caller. + + +### FWU_SMC_SEC_IMAGE_DONE + + Arguments: + uint32_t function ID : 0x14 + + Return: + int : 0 (Success) + : -EPERM + + Pre-conditions: + if (normal world caller) return -EPERM + +This SMC indicates completion of a previously executing secure image. + +BL1 sets the previously executing secure image state to the RESET state, +restores the normal world context and returns from exception into the normal +world. + + +### FWU_SMC_UPDATE_DONE + + Arguments: + uint32_t function ID : 0x15 + register_t client_cookie + + Return: + N/A + +This SMC completes the firmware update process. BL1 calls the platform specific +function `bl1_plat_fwu_done`, passing the optional argument `client_cookie` as +a `void *`. The SMC does not return. + + +- - - - - - - - - - - - - - - - - - - - - - - - - - + +_Copyright (c) 2015, ARM Limited and Contributors. All rights reserved._ + + +[Porting Guide]: ./porting-guide.md +[Auth Framework]: ./auth-framework.md +[Trusted Board Boot]: ./trusted-board-boot.md +[TF Image Terminology]: https://github.com/ARM-software/arm-trusted-firmware/wiki/Trusted-Firmware-Image-Terminology +[UUID]: https://tools.ietf.org/rfc/rfc4122.txt "A Universally Unique IDentifier (UUID) URN Namespace" diff --git a/docs/porting-guide.md b/docs/porting-guide.md index 5d903e65c..57e167b6d 100644 --- a/docs/porting-guide.md +++ b/docs/porting-guide.md @@ -13,10 +13,11 @@ Contents 3. [Boot Loader stage specific modifications](#3--modifications-specific-to-a-boot-loader-stage) * [Boot Loader stage 1 (BL1)](#31-boot-loader-stage-1-bl1) * [Boot Loader stage 2 (BL2)](#32-boot-loader-stage-2-bl2) - * [Boot Loader stage 3-1 (BL31)](#32-boot-loader-stage-3-1-bl3-1) - * [PSCI implementation (in BL31)](#33-power-state-coordination-interface-in-bl3-1) - * [Interrupt Management framework (in BL31)](#34--interrupt-management-framework-in-bl3-1) - * [Crash Reporting mechanism (in BL31)](#35--crash-reporting-mechanism-in-bl3-1) + * [FWU Boot Loader stage 2 (BL2U)](#33-fwu-boot-loader-stage-2-bl2u) + * [Boot Loader stage 3-1 (BL31)](#34-boot-loader-stage-3-1-bl31) + * [PSCI implementation (in BL31)](#35-power-state-coordination-interface-in-bl31) + * [Interrupt Management framework (in BL31)](#36--interrupt-management-framework-in-bl31) + * [Crash Reporting mechanism (in BL31)](#37--crash-reporting-mechanism-in-bl31) 4. [Build flags](#4--build-flags) 5. [C Library](#5--c-library) 6. [Storage abstraction layer](#6--storage-abstraction-layer) @@ -277,6 +278,67 @@ also be defined: BL33 content certificate identifier, used by BL2 to load the BL33 content certificate. +* **#define : FWU_CERT_ID** + + Firmware Update (FWU) certificate identifier, used by NS_BL1U to load the + FWU content certificate. + + +If the AP Firmware Updater Configuration image, BL2U is used, the following +must also be defined: + +* **#define : BL2U_BASE** + + Defines the base address in secure memory where BL1 copies the BL2U binary + image. Must be aligned on a page-size boundary. + +* **#define : BL2U_LIMIT** + + Defines the maximum address in secure memory that the BL2U image can occupy. + +* **#define : BL2U_IMAGE_ID** + + BL2U image identifier, used by BL1 to fetch an image descriptor + corresponding to BL2U. + +If the SCP Firmware Update Configuration Image, SCP_BL2U is used, the following +must also be defined: + +* **#define : SCP_BL2U_IMAGE_ID** + + SCP_BL2U image identifier, used by BL1 to fetch an image descriptor + corresponding to SCP_BL2U. + NOTE: TF does not provide source code for this image. + +If the Non-Secure Firmware Updater ROM, NS_BL1U is used, the following must +also be defined: + +* **#define : NS_BL1U_BASE** + + Defines the base address in non-secure ROM where NS_BL1U executes. + Must be aligned on a page-size boundary. + NOTE: TF does not provide source code for this image. + +* **#define : NS_BL1U_IMAGE_ID** + + NS_BL1U image identifier, used by BL1 to fetch an image descriptor + corresponding to NS_BL1U. + +If the Non-Secure Firmware Updater, NS_BL2U is used, the following must also +be defined: + +* **#define : NS_BL2U_BASE** + + Defines the base address in non-secure memory where NS_BL2U executes. + Must be aligned on a page-size boundary. + NOTE: TF does not provide source code for this image. + +* **#define : NS_BL2U_IMAGE_ID** + + NS_BL2U image identifier, used by BL1 to fetch an image descriptor + corresponding to NS_BL2U. + + If a SCP_BL2 image is supported by the platform, the following constants must also be defined: @@ -630,9 +692,9 @@ 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/runtime_svc.h] header file. Note -that these constants are not related to any architectural exception code; they -are just an ARM Trusted Firmware convention. +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. ### Function : plat_reset_handler() @@ -698,10 +760,12 @@ warm boot. For each CPU, BL1 is responsible for the following tasks: only this CPU executes the remaining BL1 code, including loading and passing control to the BL2 stage. -3. Loading the BL2 image from non-volatile storage into secure memory at the +3. Identifying and starting the Firmware Update process (if required). + +4. Loading the BL2 image from non-volatile storage into secure memory at the address specified by the platform defined constant `BL2_BASE`. -4. Populating a `meminfo` structure with the following information in memory, +5. Populating a `meminfo` structure with the following information in memory, accessible by BL2 immediately upon entry. meminfo.total_base = Base address of secure RAM visible to BL2 @@ -766,7 +830,7 @@ MMU and data cache have been enabled. In ARM standard platforms, this function initializes the storage abstraction layer used to load the next bootloader image. -This function helps fulfill requirement 3 above. +This function helps fulfill requirement 4 above. ### Function : bl1_plat_sec_mem_layout() [mandatory] @@ -789,7 +853,7 @@ This information is used by BL1 to load the BL2 image in secure RAM. BL1 also populates a similar structure to tell BL2 the extents of memory available for its own use. -This function helps fulfill requirement 3 above. +This function helps fulfill requirements 4 and 5 above. ### Function : bl1_init_bl2_mem_layout() [optional] @@ -809,26 +873,80 @@ in the **Memory layout on ARM development platforms** section in the [Firmware Design]. -### Function : bl1_plat_set_bl2_ep_info() [mandatory] - - Argument : image_info *, entry_point_info * - Return : void - -This function is called after loading BL2 image and it can be used to overwrite -the entry point set by loader and also set the security state and SPSR which -represents the entry point system state for BL2. - - ### Function : bl1_plat_prepare_exit() [optional] Argument : entry_point_info_t * Return : void -This function is called prior to exiting BL1 in response to the `RUN_IMAGE` SMC -request raised by BL2. It should be used to perform platform specific clean up -or bookkeeping operations before transferring control to the next image. It -receives the address of the `entry_point_info_t` structure passed from BL2. -This function runs with MMU disabled. +This function is called prior to exiting BL1 in response to the +`BL1_SMC_RUN_IMAGE` SMC request raised by BL2. It should be used to perform +platform specific clean up or bookkeeping operations before transferring +control to the next image. It receives the address of the `entry_point_info_t` +structure passed from BL2. This function runs with MMU disabled. + +### Function : bl1_plat_set_ep_info() [optional] + + Argument : unsigned int image_id, entry_point_info_t *ep_info + Return : void + +This function allows platforms to override `ep_info` for the given `image_id`. + +The default implementation just returns. + +### Function : bl1_plat_get_next_image_id() [optional] + + Argument : void + Return : unsigned int + +This and the following function must be overridden to enable the FWU feature. + +BL1 calls this function after platform setup to identify the next image to be +loaded and executed. If the platform returns `BL2_IMAGE_ID` then BL1 proceeds +with the normal boot sequence, which loads and executes BL2. If the platform +returns a different image id, BL1 assumes that Firmware Update is required. + +The default implementation always returns `BL2_IMAGE_ID`. The ARM development +platforms override this function to detect if firmware update is required, and +if so, return the first image in the firmware update process. + +### Function : bl1_plat_get_image_desc() [optional] + + Argument : unsigned int image_id + Return : image_desc_t * + +BL1 calls this function to get the image descriptor information `image_desc_t` +for the provided `image_id` from the platform. + +The default implementation always returns a common BL2 image descriptor. ARM +standard platforms return an image descriptor corresponding to BL2 or one of +the firmware update images defined in the Trusted Board Boot Requirements +specification. + +### Function : bl1_plat_fwu_done() [optional] + + Argument : unsigned int image_id, uintptr_t image_src, + unsigned int image_size + Return : void + +BL1 calls this function when the FWU process is complete. It must not return. +The platform may override this function to take platform specific action, for +example to initiate the normal boot flow. + +The default implementation spins forever. + +### Function : bl1_plat_mem_check() [mandatory] + + Argument : uintptr_t mem_base, unsigned int mem_size, + unsigned int flags + Return : void + +BL1 calls this function while handling FWU copy and authenticate SMCs. The +platform must ensure that the provided `mem_base` and `mem_size` are mapped into +BL1, and that this memory corresponds to either a secure or non-secure memory +region as indicated by the security state of the `flags` argument. + +The default implementation of this function asserts therefore platforms must +override it when using the FWU feature. 3.2 Boot Loader Stage 2 (BL2) @@ -1083,7 +1201,86 @@ entrypoint of that image, which BL31 uses to jump to it. BL2 is responsible for loading the normal world BL33 image (e.g. UEFI). -3.2 Boot Loader Stage 3-1 (BL31) +3.3 FWU Boot Loader Stage 2 (BL2U) +---------------------------------- + +The AP Firmware Updater Configuration, BL2U, is an optional part of the FWU +process and is executed only by the primary CPU. BL1 passes control to BL2U at +`BL2U_BASE`. BL2U executes in Secure-EL1 and is responsible for: + +1. (Optional) Transfering the optional SCP_BL2U binary image from AP secure + memory to SCP RAM. BL2U uses the SCP_BL2U `image_info` passed by BL1. + `SCP_BL2U_BASE` defines the address in AP secure memory where SCP_BL2U + should be copied from. Subsequent handling of the SCP_BL2U image is + implemented by the platform specific `bl2u_plat_handle_scp_bl2u()` function. + If `SCP_BL2U_BASE` is not defined then this step is not performed. + +2. Any platform specific setup required to perform the FWU process. For + example, ARM standard platforms initialize the TZC controller so that the + normal world can access DDR memory. + +The following functions must be implemented by the platform port to enable +BL2U to perform the tasks mentioned above. + +### Function : bl2u_early_platform_setup() [mandatory] + + Argument : meminfo *mem_info, void *plat_info + Return : void + +This function executes with the MMU and data caches disabled. It is only +called by the primary CPU. The arguments to this function is the address +of the `meminfo` structure and platform specific info provided by BL1. + +The platform must copy the contents of the `mem_info` and `plat_info` into +private storage as the original memory may be subsequently overwritten by BL2U. + +On ARM CSS platforms `plat_info` is interpreted as an `image_info_t` structure, +to extract SCP_BL2U image information, which is then copied into a private +variable. + +### Function : bl2u_plat_arch_setup() [mandatory] + + Argument : void + Return : void + +This function executes with the MMU and data caches disabled. It is only +called by the primary CPU. + +The purpose of this function is to perform any architectural initialization +that varies across platforms, for example enabling the MMU (since the memory +map differs across platforms). + +### Function : bl2u_platform_setup() [mandatory] + + Argument : void + Return : void + +This function may execute with the MMU and data caches enabled if the platform +port does the necessary initialization in `bl2u_plat_arch_setup()`. It is only +called by the primary CPU. + +The purpose of this function is to perform any platform initialization +specific to BL2U. + +In ARM standard platforms, this function performs security setup, including +configuration of the TrustZone controller to allow non-secure masters access +to most of DRAM. Part of DRAM is reserved for secure world use. + +### Function : bl2u_plat_handle_scp_bl2u() [optional] + + Argument : void + Return : int + +This function is used to perform any platform-specific actions required to +handle the SCP firmware. Typically it transfers the image into SCP memory using +a platform-specific protocol and waits until SCP executes it and signals to the +Application Processor (AP) for BL2U execution to continue. + +This function returns 0 on success, a negative error code otherwise. +This function is included if SCP_BL2U_BASE is defined. + + +3.4 Boot Loader Stage 3-1 (BL31) --------------------------------- During cold boot, the BL31 stage is executed only by the primary CPU. This is @@ -1232,7 +1429,7 @@ modes table. assertion is raised if the value of the constant is not aligned to the cache line boundary. -3.3 Power State Coordination Interface (in BL31) +3.5 Power State Coordination Interface (in BL31) ------------------------------------------------ The ARM Trusted Firmware's implementation of the PSCI API is based around the @@ -1441,7 +1638,7 @@ domain level specific local states to suspend to system affinity level. The enter system suspend. -3.4 Interrupt Management framework (in BL31) +3.6 Interrupt Management framework (in BL31) ---------------------------------------------- BL31 implements an Interrupt Management Framework (IMF) to manage interrupts generated in either security state and targeted to EL1 or EL2 in the non-secure @@ -1630,7 +1827,7 @@ Register_ (`GICD_IGROUPRn`) and _Interrupt Group Modifier Register_ as Group 0 secure interrupt, Group 1 secure interrupt or Group 1 NS interrupt. -3.5 Crash Reporting mechanism (in BL31) +3.7 Crash Reporting mechanism (in BL31) ---------------------------------------------- BL31 implements a crash reporting mechanism which prints the various registers of the CPU to enable quick crash analysis and debugging. It requires that a @@ -1782,11 +1979,12 @@ _Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved._ [Power Domain Topology Design]: psci-pd-tree.md [PSCI]: http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_Interface.pdf [Migration Guide]: platform-migration-guide.md +[Firmware Update]: firmware-update.md [plat/common/aarch64/platform_mp_stack.S]: ../plat/common/aarch64/platform_mp_stack.S [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/runtime_svc.h]: ../include/runtime_svc.h +[include/common/bl_common.h]: ../include/common/bl_common.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 diff --git a/docs/rt-svc-writers-guide.md b/docs/rt-svc-writers-guide.md index 947f4a5cb..e9d489c7e 100644 --- a/docs/rt-svc-writers-guide.md +++ b/docs/rt-svc-writers-guide.md @@ -114,7 +114,7 @@ initialization and call handler functions. is also used for diagnostic purposes * `_start` and `_end` values must be based on the `OEN_*` values defined in - [`runtime_svc.h`] + [`smcc_helpers.h`] * `_type` must be one of `SMC_TYPE_FAST` or `SMC_TYPE_STD` @@ -305,5 +305,6 @@ _Copyright (c) 2014, ARM Limited and Contributors. All rights reserved._ [`services/std_svc/psci`]: ../services/std_svc/psci [`std_svc_setup.c`]: ../services/std_svc/std_svc_setup.c [`runtime_svc.h`]: ../include/runtime_svc.h +[`smcc_helpers.h`]: ../include/common/smcc_helpers.h [PSCI]: http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_Interface.pdf "Power State Coordination Interface PDD (ARM DEN 0022C)" [SMCCC]: http://infocenter.arm.com/help/topic/com.arm.doc.den0028a/index.html "SMC Calling Convention PDD (ARM DEN 0028A)" diff --git a/docs/trusted-board-boot.md b/docs/trusted-board-boot.md index 40b1e1031..f076cd3ba 100644 --- a/docs/trusted-board-boot.md +++ b/docs/trusted-board-boot.md @@ -18,10 +18,10 @@ the platform by authenticating all firmware images up to and including the normal world bootloader. It does this by establishing a Chain of Trust using Public-Key-Cryptography Standards (PKCS). -This document describes the design of the ARM Trusted Firmware TBB -implementation. The current implementation is a proof of concept; future -versions will provide stronger architectural interfaces and implement the -missing functionality required in a production TBB-enabled system. +This document describes the design of ARM Trusted Firmware TBB, which is an +implementation of the Trusted Board Boot Requirements (TBBR) specification, +ARM DEN0006C-1. It should be used in conjunction with the [Firmware Update] +design document, which implements a specific aspect of the TBBR. 2. Chain of Trust @@ -248,3 +248,4 @@ _Copyright (c) 2015, ARM Limited and Contributors. All rights reserved._ [X.690]: http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf [Auth Framework]: auth-framework.md [User Guide]: user-guide.md +[Firmware Update]: firmware-update.md diff --git a/docs/user-guide.md b/docs/user-guide.md index fa39c4bdb..3d4033ec2 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -208,6 +208,21 @@ performed. * `FIP_NAME`: This is an optional build option which specifies the FIP filename for the `fip` target. Default is `fip.bin`. +* `FWU_FIP_NAME`: This is an optional build option which specifies the FWU + FIP filename for the `fwu_fip` target. Default is `fwu_fip.bin`. + +* `BL2U`: This is an optional build option which specifies the path to + BL2U image. In this case, the BL2U in the ARM Trusted Firmware will not + be built. + +* `SCP_BL2U`: Path to SCP_BL2U image in the host file system. This image is + optional. It is only needed if the platform makefile specifies that it + is required in order to build the `fwu_fip` target. + +* `NS_BL2U`: Path to NS_BL2U image in the host file system. This image is + optional. It is only needed if the platform makefile specifies that it + is required in order to build the `fwu_fip` target. + * `CROSS_COMPILE`: Prefix to toolchain binaries. Please refer to examples in this document for usage. @@ -290,26 +305,29 @@ performed. * `TRUSTED_BOARD_BOOT`: Boolean flag to include support for the Trusted Board Boot feature. When set to '1', BL1 and BL2 images include support to load - and verify the certificates and images in a FIP. The default value is '0'. - Generation and inclusion of certificates in the FIP depends upon the value - of the `GENERATE_COT` option. + and verify the certificates and images in a FIP, and BL1 includes support + for the Firmware Update. The default value is '0'. Generation and inclusion + of certificates in the FIP and FWU_FIP depends upon the value of the + `GENERATE_COT` option. * `GENERATE_COT`: Boolean flag used to build and execute the `cert_create` tool to create certificates as per the Chain of Trust described in [Trusted Board Boot]. The build system then calls the `fip_create` tool to - include the certificates in the FIP. Default value is '0'. + include the certificates in the FIP and FWU_FIP. Default value is '0'. - Specify `TRUSTED_BOARD_BOOT=1` and `GENERATE_COT=1` to include support for - the Trusted Board Boot Sequence in the BL1 and BL2 images and the FIP. + Specify both `TRUSTED_BOARD_BOOT=1` and `GENERATE_COT=1` to include support + for the Trusted Board Boot feature in the BL1 and BL2 images, to generate + the corresponding certificates, and to include those certificates in the + FIP and FWU_FIP. Note that if `TRUSTED_BOARD_BOOT=0` and `GENERATE_COT=1`, the BL1 and BL2 images will not include support for Trusted Board Boot. The FIP will still - include the key and content certificates. This FIP can be used to verify the + include the corresponding certificates. This FIP can be used to verify the Chain of Trust on the host machine through other mechanisms. Note that if `TRUSTED_BOARD_BOOT=1` and `GENERATE_COT=0`, the BL1 and BL2 - images will include support for Trusted Board Boot, but the FIP will not - include the key and content certificates, causing a boot failure. + images will include support for Trusted Board Boot, but the FIP and FWU_FIP + will not include the corresponding certificates, causing a boot failure. * `CREATE_KEYS`: This option is used when `GENERATE_COT=1`. It tells the certificate generation tool to create new keys in case no valid keys are @@ -617,11 +635,15 @@ The `cert_create` tool is automatically built with the `fip` target when `GENERATE_COT=1`. -### Building a FIP image with support for Trusted Board Boot +### Building FIP images with support for Trusted Board Boot -The Trusted Board Boot feature is described in [Trusted Board Boot]. The -following steps should be followed to build a FIP image with support for this -feature. +Trusted Board Boot primarily consists of the following two features: + +* Image Authentication, described in [Trusted Board Boot], and +* Firmware Update, described in [Firmware Update] + +The following steps should be followed to build FIP and (optionally) FWU_FIP +images with support for these features: 1. Fulfill the dependencies of the `mbedtls` cryptographic and image parser modules by checking out a recent version of the [mbed TLS Repository]. It @@ -638,8 +660,8 @@ feature. license. Using mbed TLS source code will affect the licensing of Trusted Firmware binaries that are built using this library. -2. Ensure that the following command line variables are set while invoking - `make` to build Trusted Firmware: +2. To build the FIP image, ensure the following command line variables are set + while invoking `make` to build Trusted Firmware: * `MBEDTLS_DIR=` * `TRUSTED_BOARD_BOOT=1` @@ -677,6 +699,40 @@ feature. the Chain of Trust described in the TBBR-client document. These certificates can also be found in the output build directory. +3. The optional FWU_FIP contains any additional images to be loaded from + Non-Volatile storage during the [Firmware Update] process. To build the + FWU_FIP, any FWU images required by the platform must be specified on the + command line. On ARM development platforms like Juno, these are: + + * NS_BL2U. The AP non-secure Firmware Updater image. + * SCP_BL2U. The SCP Firmware Update Configuration image. + + Example of Juno command line for generating both `fwu` and `fwu_fip` + targets using RSA development: + + CROSS_COMPILE=/bin/aarch64-none-elf- \ + BL33=/ \ + SCP_BL2=/ \ + SCP_BL2U=/ \ + NS_BL2U=/ \ + MBEDTLS_DIR= \ + make PLAT=juno TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 \ + ARM_ROTPK_LOCATION=devel_rsa \ + ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \ + all fip fwu_fip + + Note: The BL2U image will be built by default and added to the FWU_FIP. + The user may override this by adding `BL2U=/` + to the command line above. + + Note: Building and installing the non-secure and SCP FWU images (NS_BL1U, + NS_BL2U and SCP_BL2U) is outside the scope of this document. + + The result of this build will be bl1.bin, fip.bin and fwu_fip.bin binaries. + Both the FIP and FWU_FIP will include the certificates corresponding to the + Chain of Trust described in the TBBR-client document. These certificates + can also be found in the output build directory. + ### Checking source code style @@ -1308,3 +1364,4 @@ _Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved._ [mbed TLS Security Center]: https://tls.mbed.org/security [PSCI]: http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_Interface.pdf "Power State Coordination Interface PDD (ARM DEN 0022C)" [Trusted Board Boot]: trusted-board-boot.md +[Firmware Update]: ./firmware-update.md