Home
last modified time | relevance | path

Searched refs:to (Results 1 – 25 of 423) sorted by relevance

12345678910>>...17

/trusted-firmware-m-3.6.0/docs/doxygen/
DDoxyfile.in10 # This file describes the settings to be used by the documentation system
44 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
59 # the logo to the output directory.
63 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
65 # entered, it will be relative to the location where doxygen was started. If
70 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
80 # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
81 # characters to appear in the names of generated files. If set to NO, non-ASCII
88 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
90 # information to generate all constant output in the proper language.
[all …]
/trusted-firmware-m-3.6.0/docs/design_docs/software/
Dtfm_cooperative_scheduling_rules.rst13 TF-M enabled system need to be able to handle asynchronous events (interrupts)
14 regardless of current security state of the PE, and that may lead to scheduling
24 3. Reduce critical sections on the secure side to not block interrupts
26 4. Scalability to allow simplification/reduction of overheads to scale down the
50 - A NSPE exception handler returns from NSPE to pre-empted SPE context
51 - A SPE exception handler returns from SPE to pre-empted NSPE context
57 In order to maintain the call stack integrity across NSPE and SPE, following
63 1. **The NSPE exception handler is allowed to trigger a NSPE context switch**
77 This is to ensures integrity of the call stack when SPE is ready to return a
87 2. **The SPE interrupt handler is allowed to trigger a SPE context switch**
[all …]
Dtfm_code_generation_with_jinja2.rst13 Some of the files in TF-M are generated from template files. The files to be
17 partition information from the partition manifests. The manifests to be used for
24 ``tools/tfm_parse_manifest_list.py`` Python script is used to generate files
25 from the templates. This script calls the ``tools/generate_from_template.py`` to
26 parse the template files, and uses ``tools/keyword_substitution.py`` to
33 The proposal is to eliminate the template parser and substituter scripts, and
35 ``tools/tfm_parse_manifest_list.py`` to do the substitution.
42 - ``tools/tfm_parse_manifest_list.py`` have to be modified to call the Jinja2
44 library is very similar to the one required by the current scripts.
45 - template files needs to be rewritten to the Jinja syntax: The control
[all …]
Dcode_sharing.rst13 it is often challenging to fit bigger projects in the available memory. The PSA
14 specifications require a device to both have a secure boot process in place at
15 device boot-up time, and to have a partition in the SPE which provides
20 mbed-crypto library to implement these requirements. During the build process,
22 bootloader requires less functionality) and then linked to the corresponding
32 which might need to use TF-M Profile Small anyway.
40 dynamic loading functionality. One major challenge to be solved in the Cortex-M
41 space is how to share code between independently linked XIP applications that
42 are tied to a certain memory address range to be executable and have absolute
51 the exclusive user. No attention needs to be paid as to where global data is
[all …]
Dhardware_abstraction_layer.rst14 operations on the :term:`SPE` side and provides a set of APIs to the upper
16 The :term:`HAL` aims to cover the platform different aspects whereas common
20 it may not be possible to generalize implementations because lots of information
21 is only known to platforms.
22 It is more efficient to define a :term:`HAL` API for those architectural
27 :term:`TF-M` :term:`HAL` tries to reference :term:`TBSA-M` recommendations in
33 :term:`TF-M` :term:`HAL` is designed to simplify the integration efforts on
36 :term:`TF-M` :term:`HAL` is designed to make it easy to use the hardware and
37 develop the :term:`SPM` and :term:`RoT Service` which need to access the
40 :term:`TF-M` :term:`HAL` is designed to make the structure clearer and let the
[all …]
/trusted-firmware-m-3.6.0/docs/integration_guide/
Dindex.rst4 The purpose of this document is to provide a guide on how to integrate TF-M
13 OS migration to Armv8-M <os_migration_guide_armv8m.rst>
25 How to build TF-M
30 How to export files for building non-secure applications
35 How to add a new platform
38 :doc:`Porting TF-M to a New Hardware </integration_guide/platform/porting_tfm_to_a_new_hardware>`
39 contains guidance on how to add a new platform.
42 How to integrate another OS
45 OS migration to Armv8-M platforms
47 To work with TF-M on Armv8-M platforms, the OS needs to support the Armv8-M
[all …]
Dos_migration_guide_armv8m.rst2 Generic OS migration from Armv7-M to Armv8-M architecture
4 The purpose of this document is to list a set of requirements needed for
5 migrating a generic OS kernel running on Armv7-M to the Armv8-M architecture.
11 suggested to put specific code targeted to the Non Secure build under a
13 this case needs to be amended accordingly to support this new switch.
15 needs to be initialized and properly handled during thread context switch
18 value used in Handler mode transitions needs to be differentiated between
Dtfm_secure_irq_integration_guide.rst9 This document describes how to enable an interrupt in TF-M. The target audiences
28 Partition Thread to have further data processing.
34 to scheduling.
40 The SLIH is deferred and subject to scheduling but all Secure Partition APIs are
43 Both the FLIH and the SLIH can be used by Secure Partitions which conform to
47 to Firmware Framework v1.0.
49 Please refer to chapter 6.2 of FF-M v1.1 [1]_ for more details on the interrupt
56 To enable an interrupt, you need to do the following:
58 - Binding the interrupt to a Secure Partition.
59 - Granting the Secure Partition access permissions to the device of the
[all …]
/trusted-firmware-m-3.6.0/docs/security/security_advisories/
Dstack_seal_vulnerability.rst5 | Title | NS world may cause the CPU to perform an unexpected return |
6 | | operation due to unsealed stacks. |
12 | Versions | All versions up to and including TF-M v1.1 |
29 When the Non-Secure world returns to Secure after a callback (FNC_RETURN) or
34 or EXC_RETURN and causes the PE to pop from the unexpected stack. Please
35 refer to `ARMv8-M Secure stack sealing advisory notice`_ for more
38 To prevent such an attack, the architecture expects the secure software to
42 Both the MSP_S and the PSP_S stacks need to be sealed to mitigate stack
52 PSP_S and then switches to MSP_S as part of SPM scheduling. The MSP_S is fully
56 partition execution using PSP_S switches to non-secure world due to a
[all …]
/trusted-firmware-m-3.6.0/docs/design_docs/services/
Dtfm_its_service.rst18 which is trusted to provide data confidentiality and authenticity. This
20 allows larger data sets to be stored securely in external flash, with the option
21 for encryption, authentication and rollback protection to protect the
32 The proposal is to implement the *PSA Internal Trusted Storage API* with the
33 *TF-M Internal Trusted Storage service*. It can be abbreviated to *TF-M ITS
34 service* in general and to ``its`` in code. This name has the advantage of
37 If this name is adopted, then it may make sense to rename the *Secure Storage
38 service* to the *Protected Storage service* in the future to match. Then "secure
39 storage" could refer to the two services as a collective.
42 a separate partition to Protected Storage, for a couple of reasons:
[all …]
Dps_key_management.rst11 The PSA Protected Storage API requires confidentiality for external storage to
20 128 bits of entropy (and a 128 bit data size), and be accessible only to Trusted
26 derivation function (KDF) to derive a storage key from the HUK, by referring to
28 volatile memory private to the Crypto partition, or it could remain inside a
29 secure element. Either way it will not be returned to PS.
31 For each call to the PSA Protected Storage APIs, PS will make requests to the
32 Crypto service to perform AEAD encryption and/or decryption operations using the
35 At no point will PS access the key material itself, only referring to the HUK
40 PS will make key derivation requests to the Crypto service with calls to the
41 PSA Crypto APIs. In order to derive the storage key, the following calls are
[all …]
/trusted-firmware-m-3.6.0/docs/design_docs/
Dtfm_physical_attack_mitigation.rst32 The goal of physical attacks is to alter the expected behavior of a circuit.
33 This can be achieved by changing the device's normal operating conditions to
37 and the attacker could gain access to the entire device. There is a wide variety
44 current through a small coil close to the chip surface, no physical contact
50 products to perform such attacks. Furthermore, they are shipped with a scripting
74 - A few instructions are skipped. This can lead to taking different branch
94 resistant to fault injection attacks. These can make it harder to perform a
96 content. The device maker needs to consider what level of physical attack is in
105 protection against physical attacks. The best of what is to achievable to harden
106 the system to increase the cost of a successful attack (in terms of time and
[all …]
Dtfm_builtin_keys.rst16 keys for usage which are bound to the device instead of being owned by a
18 processing environment, the platform must provide a function to load these keys
20 location or subsystem. These keys are henceforth referred to as "builtin keys",
21 and might include (but are not limited to) the following:
26 The ``tfm_builtin_key_loader`` component implements a mechanism to discover
27 those keys and make them available to the PSA Crypto APIs for usage. Note that
29 processing environment, a full opaque driver [1]_ must be used to be able to use
35 volatile key, which requires some key-loading logic to be implemented by that
39 effort to load (and duplicate) the keys per each user, or require a dedicated
42 ``tfm_builtin_key_loader`` driver is to provide a uniform interface to use the
[all …]
/trusted-firmware-m-3.6.0/lib/ext/cryptocell-312-runtime/codesafe/src/psa_driver_api/
Dpsa_driver_api_design.rst5 This document describes the high level design of the driver interface to the
7 as ``CC-3xx`` to indicate that it should be generic enough to easily support
17 The PSA Cryptoprocessor Driver interface describes a way to uniformly interface
18 a compliant PSA Crypto implementation to a cryptographic accelerator, that can
21 which is able to store keys in a separate, protected domain from the rest of
24 Due to the nature of the CC-312 processor, the natural choice is to implement
27 to provide support for a dedicated key management subsystem or add support for
29 interfaces which are specific to an _opaque_ driver as described by the
41 crypto core to call functionalities of the driver, and a set of `Internal APIs`_,
42 functions which are meant to be called by other modules of the driver, for
[all …]
/trusted-firmware-m-3.6.0/docs/design_docs/dual-cpu/
Dtfm_multi_core_access_check.rst14 permission to read or write the target memory region.
41 - Memory region is valid according to system settings
43 - Secure services should not directly access non-secure memory. According to PSA
44 Firmware Framework, Secure services should call Secure Partition APIs to ask
45 TF-M SPM to fetch non-secure input/output buffer for them.
51 - Memory region is valid according to system settings
53 - Secure services should not directly access non-secure memory. According to PSA
54 Firmware Framework, Secure services should call Secure Partition APIs to ask
55 TF-M SPM to fetch non-secure input/outputs buffer for them.
59 The check policy in Isolation Level 3 will be defined according to TF-M future
[all …]
Dbooting_a_dual_core_system.rst12 There are many possibly ways to design a dual core system. Some important
15 - Which core has access to which areas of Flash?
17 - It is possible that the secure core has no access to the Flash from which
23 does it jump to a set address, …?
32 In an effort to make the problem manageable, as well as to provide a system
33 with good performance, that is flexible enough to work for a variety of dual
37 access to the Flash that the non-secure core will boot from
39 - This keeps the boot flow as close as possible to the single core design,
44 up hardware protection to (potentially) start the non-secure core running
46 - This is the earliest point at which it is safe to allow the non-secure
[all …]
/trusted-firmware-m-3.6.0/platform/ext/target/arm/corstone1000/
Dconfig.cmake10 set(BL1 ON CACHE BOOL "Whether to build BL1")
11 set(PLATFORM_DEFAULT_BL1 ON CACHE STRING "Whether to use default BL1 or pl…
12 set(PLATFORM_DEFAULT_OTP OFF CACHE BOOL "Use trusted on-chip flash to imp…
18 …{CMAKE_CURRENT_LIST_DIR}/bl1/bl1_1_shared_symbols.txt CACHE FILEPATH "Path to list of symbols that…
23 set(BL2 ON CACHE BOOL "Whether to build BL2")
25 set(DEFAULT_MCUBOOT_FLASH_MAP OFF CACHE BOOL "Whether to use the default flash…
27 … "1" CACHE STRING "Security counter for S image. auto sets it to IMAGE_VERSION_S")
29 set(MCUBOOT_IMAGE_NUMBER 2 CACHE STRING "Whether to combine S and NS into…
32 set(TFM_PLAT_SPECIFIC_MULTI_CORE_COMM ON CACHE BOOL "Whether to use a platform specif…
34 set(CRYPTO_HW_ACCELERATOR ON CACHE BOOL "Whether to enable the crypto ha…
[all …]
/trusted-firmware-m-3.6.0/docs/contributing/
Dcontributing_process.rst4 Contributions to the TF-M project need to follow the process below.
10 - It is recommended to subscribe to `TF-M mailing list <mailing_list_>`_
12 - Refer to the `Roadmap
13 <https://developer.trustedfirmware.org/w/tf_m/planning>`_ or send a mail to
14 the `TF-M mailing list <mailing_list_>`_ to get the latest status and plan of
17 to propose your design.
18 - Follow guidelines below to prepare the patch:
25 - Make your changes in logical chunks to help reviewers. Each commit should
29 to update documentation in ``docs`` folder if needed.
30 - Test your changes and add details to the commit description.
[all …]
/trusted-firmware-m-3.6.0/docs/design_docs/booting/
Dsecure_boot_rollback_protection.rst11 The goal of anti-rollback protection is to prevent downgrading of the device to
12 an older version of its software, which has been deprecated due to security
26 Boot loader is responsible to authenticate the new image according to the
31 charge to do the necessary steps (load to execute address, etc.) to enable the
32 new image to be executed. During the validation process the image and the
39 - Image header: Prepended to the beginning of the image.
41 - TLV section: Appended to the end of the image. It is not integrity protected:
60 The aim of a security counter is to have an independent (from the image version)
61 counter in the image manifest to ensure anti-rollback protection. During
64 device then it is not allowed to go back to earlier versions. It is beneficial
[all …]
/trusted-firmware-m-3.6.0/bl2/ext/mcuboot/
Dmcuboot_default_config.cmake10 set(TEST_BL2 OFF CACHE BOOL "Whether to build bl2 tests")
12 set(DEFAULT_MCUBOOT_SECURITY_COUNTERS ON CACHE BOOL "Whether to use the default sec…
13 set(DEFAULT_MCUBOOT_FLASH_MAP ON CACHE BOOL "Whether to use the default fla…
18 set(MCUBOOT_IMAGE_NUMBER 2 CACHE STRING "Whether to combine S and NS in…
19 set(MCUBOOT_EXECUTION_SLOT 1 CACHE STRING "Slot from which to execute the…
20 set(MCUBOOT_LOG_LEVEL "INFO" CACHE STRING "Level of logging to use for MC…
21 set(MCUBOOT_HW_KEY ON CACHE BOOL "Whether to embed the entire pu…
26 set(MCUBOOT_CONFIRM_IMAGE OFF CACHE BOOL "Whether to confirm the image i…
29 # platforms to choose a specific upgrade strategy for images. These certain
30 # configurations will be used to facilitate the later validation.
[all …]
/trusted-firmware-m-3.6.0/platform/ext/target/cypress/psoc64/libs/core-lib/
DEULA7 …tation, including any upgrades, updates, bug fixes or modified versions provided to you by Cypress.
13 …Development Tools" means software that is intended to be installed on a personal computer and used…
19 …e that executes on a device other than a Cypress hardware product in order to program, control, or…
21 …nformation file (.inf file) created by the Software to allow a Microsoft Windows operating system
23 …icense. Subject to the terms and conditions of this Agreement, Cypress Semiconductor Corporation …
25 …a. to use the Development Tools in object code form solely for the purpose of creating Firmware, D…
27 … Code form, to copy, modify, and compile the Firmware Source Code to create Firmware for execution…
29to copy, modify, and compile the Driver Source Code to create one or more Drivers to enable the us…
31to copy, modify, and compile the Host Application Source Code to create one or more Host Applicati…
33 e. to freely distribute any inf File.
[all …]
/trusted-firmware-m-3.6.0/docs/building/
Dtests_build_instruction.rst10 and includes it to SPE binary.
11 Also, test configurations should be passed to SPE build to include building Secure Tests.
13 To hide these complexities to developers, TF-M implements a wrapper CMake in **tf-m-tests**
14 repository [1]_ to build the SPE for testing rather than building it from the TF-M repository.
16 The recommended tf-m-tests repo commit to verify TF-M can be found at
19 You need to download it manually before building any tests with the following commands:
29 please refer to the documentation in **tf-m-tests** repository (to be added).
31 It is recommended to build both SPE and NSPE from that folder.
40 -DTFM_TOOLCHAIN_FILE=<Absolute path to>/toolchain_ARMCLANG.cmake \
44 cmake -S . -B build_test -DCONFIG_SPE_PATH=<Absolute path to>/build_spe/api_ns
[all …]
/trusted-firmware-m-3.6.0/platform/ext/target/arm/rss/kronos/
Dconfig.cmake13 …RAS_REPO_PATH "" CACHE PATH "Path to tf-m-extras repo (or DOWNLOAD to fet…
14 set(TFM_EXTRAS_REPO_VERSION "" CACHE STRING "The version of tf-m-extras to use")
20 …_EXTRA_CONFIG_PATH "" CACHE PATH "Config to append to standard Mbed Crypto config, used by pla…
22 …t/tfm_manifest_list.yaml" CACHE PATH "Config to append to standard Mbed Crypto config, used by pla…
/trusted-firmware-m-3.6.0/docs/platform/arm/rss/
Drss_provisioning.rst7 The LifeCycle Manager (LCM) controls access to the RSS OTP, and includes a
10 CryptoCell-3XX series accelerators, and will be familiar to those who have
15 provisioning must be to set the LCM to either test-chip mode "TCI" or
16 production-chip mode "PCI". In TCI mode the RTL key is masked to avoid
17 disclosure, several OTP fields are changed from write-only to read-write, to aid
20 (which it is by default) then the chip will be set to TCI mode. If this option
21 is not enabled, execution will pause to allow the setting to be set by a
29 VM0. This bundle contains the keys and also code to perform the provisioning
30 such as a driver for the LCM, and a function to randomly generate the HUK via
33 SRAMs), and allows access to the RTL key by exporting it to the KMU, though in
[all …]
/trusted-firmware-m-3.6.0/config/
Dconfig_base.cmake13 … ${CMAKE_SOURCE_DIR}/toolchain_GNUARM.cmake CACHE FILEPATH "Path to TFM compiler toolcha…
14 set(TFM_PLATFORM "" CACHE STRING "Platform to build TF-M for. Mu…
30 … CACHE BOOL "Add debug symbols. Note that setting CMAKE_BUILD_TYPE to Debug or RelWithDebI…
31 set(TFM_CODE_COVERAGE OFF CACHE BOOL "Whether to build the binary fo…
36 …O_PATH "DOWNLOAD" CACHE PATH "Path to Mbed Crypto (or DOWNLOAD to fetch …
38 set(MBEDCRYPTO_VERSION "mbedtls-3.5.0" CACHE STRING "The version of Mbed Crypto to
39 … "https://github.com/Mbed-TLS/mbedtls.git" CACHE STRING "The URL (or path) to retrieve MbedTLS fro…
41 …_PATH "DOWNLOAD" CACHE PATH "Path to MCUboot (or DOWNLOAD to fetch au…
42 set(MCUBOOT_VERSION "v2.0.0" CACHE STRING "The version of MCUboot to use")
44 set(PLATFORM_PSA_ADAC_SECURE_DEBUG FALSE CACHE BOOL "Whether to use psa-adac secure…
[all …]

12345678910>>...17