Home
last modified time | relevance | path

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

12345678910>>...12

/rk3399_ARM-atf/docs/design/
H A Dcpu-specific-build-macros.rst5 operations framework to enable errata workarounds and to enable optimizations
15 `CVE-2017-5715`_. This flag can be set to 0 by the platform if none
16 of the PEs in the system need the workaround. Setting this flag to 0 provides
17 no performance benefit for non-affected platforms, it just helps to comply
19 Defaults to 1.
22 `CVE-2018-3639`_. Defaults to 1. The TF-A project recommends to keep
24 CVE-2018-3639, in order to comply with the recommendation in the spec
28 `CVE-2018-3639`_. This build option should be set to 1 if the target
30 Defaults to 0.
33 This build option should be set to 1 if the target platform contains at
[all …]
H A Dalt-boot-flows.rst7 On a pre-production system, the ability to execute arbitrary, bare-metal code at
8 the highest exception level is required. It allows full, direct access to the
9 hardware, for example to run silicon soak tests.
11 Although it is possible to implement some baremetal secure firmware from
13 configuration required to put the system in the expected state.
15 Rather than booting a baremetal application, a possible compromise is to boot
18 other BL images and passing control to BL31. It reduces the complexity of
27 configured to permit secure access only. This gives full access to the whole
28 DRAM to the EL3 payload.
52 - The EL3 payload needs to be loaded in volatile memory (e.g. DRAM) at
[all …]
H A Dpsci-pd-tree.rst8 ``plat_get_aff_state()`` APIs to enable the generic PSCI code to
10 system. This approach is inflexible because a change to the topology
13 It would be much simpler for the platform to describe its power domain tree
16 #. The generic PSCI code generates MPIDRs in order to populate the power domain
17 tree. It also uses an MPIDR to find a node in the tree. The assumption that
20 levels in the power domain tree to four.
22 Therefore, there is a need to decouple allocation of MPIDRs from the
23 mechanism used to populate the power domain topology tree.
26 over the sibling nodes at a particular level to find a specified power
28 a 'start' to an 'end' power level. The binary search is required to find the
[all …]
H A Dauth-framework.rst4 The aim of this document is to describe the authentication framework
8 #. It should be possible for a platform port to specify the Chain of Trust in
9 terms of certificate hierarchy and the mechanisms used to verify a
14 - The mechanism used to encode and transport information, e.g. DER encoded
15 X.509v3 certificates to ferry Subject Public Keys, hashes and non-volatile
18 - The mechanism used to verify the transported information i.e. the
63 the abstraction mechanisms available to specify a Chain of Trust.
69 behind them. These aspects are key to verify a Chain of Trust.
76 illustrates how this maps to a CoT for the BL31 image described in the
126 authentication image contains information to authenticate a data image or
[all …]
H A Dinterrupt-framework-design.rst4 This framework is responsible for managing interrupts routed to EL3. It also
5 allows EL3 software to configure the interrupt routing behavior. Its main
6 objective is to implement the following two requirements.
8 #. It should be possible to route interrupts meant to be handled by secure
9 software (Secure interrupts) to EL3, when execution is in non-secure state
11 the interrupt to either software in EL3 or Secure-EL1 depending upon the
14 respect to their delivery and handling without the possibility of
17 #. It should be possible to route interrupts meant to be handled by
18 non-secure software (Non-secure interrupts) to the last executed exception
23 ensures that non-secure software is able to execute in tandem with the
[all …]
/rk3399_ARM-atf/docs/plat/arm/fvp/
H A Dfvp-aemv8-base.rst4 AArch64 with reset to BL1 entrypoint
7 The following ``FVP_Base_RevC-2xAEMv8A`` parameters should be used to boot Linux
12 <path-to>/FVP_Base_RevC-2xAEMv8A \
19 -C bp.secureflashloader.fname="<path-to>/<bl1-binary>" \
20 -C bp.flashloader0.fname="<path-to>/<FIP-binary>" \
21 --data cluster0.cpu0="<path-to>/<kernel-binary>"@0x80080000 \
22 --data cluster0.cpu0="<path-to>/<ramdisk>"@0x84000000
26 a specific DTS for all the CPUs to be loaded.
28 AArch32 with reset to BL1 entrypoint
31 The following ``FVP_Base_AEMv8A-AEMv8A`` parameters should be used to boot Linux
[all …]
H A Dfvp-cortex-a32.rst4 With reset to BL1 entrypoint
7 The following ``FVP_Base_Cortex-A32x4`` model parameters should be used to
12 <path-to>/FVP_Base_Cortex-A32x4 \
17 -C bp.secureflashloader.fname="<path-to>/<bl1-binary>" \
18 -C bp.flashloader0.fname="<path-to>/<FIP-binary>" \
19 --data cluster0.cpu0="<path-to>/<kernel-binary>"@0x80080000 \
20 --data cluster0.cpu0="<path-to>/<ramdisk>"@0x84000000
22 With reset to SP_MIN entrypoint
25 The following ``FVP_Base_Cortex-A32x4`` model parameters should be used to
30 <path-to>/FVP_Base_Cortex-A32x4 \
[all …]
H A Dfvp-cortex-a57-a53.rst4 With reset to BL1 entrypoint
7 The following ``FVP_Base_Cortex-A57x4-A53x4`` model parameters should be used to
12 <path-to>/FVP_Base_Cortex-A57x4-A53x4 \
17 -C bp.secureflashloader.fname="<path-to>/<bl1-binary>" \
18 -C bp.flashloader0.fname="<path-to>/<FIP-binary>" \
19 --data cluster0.cpu0="<path-to>/<kernel-binary>"@0x80080000 \
20 --data cluster0.cpu0="<path-to>/<ramdisk>"@0x84000000
22 With reset to BL31 entrypoint
25 The following ``FVP_Base_Cortex-A57x4-A53x4`` model parameters should be used to
30 <path-to>/FVP_Base_Cortex-A57x4-A53x4 \
[all …]
H A Dfvp-build-options.rst6 - ``FVP_CLUSTER_COUNT`` : Configures the cluster count to be used to
8 cluster topology and this option can be used to override the default value.
10 - ``FVP_INTERCONNECT_DRIVER``: Selects the interconnect driver to be built. The
20 a single cluster. This option defaults to 4.
23 in the system. This option defaults to 1. Note that the build option
26 - ``FVP_USE_GIC_DRIVER`` : Selects the GIC driver to be built. Options:
32 - ``FVP_HW_CONFIG_DTS`` : Specify the path to the DTS file to be compiled
33 to DTB and packaged in FIP as the HW_CONFIG. See :ref:`Firmware Design` for
34 details on HW_CONFIG. By default, this is initialized to a sensible DTS
37 and this option is needed to specify the appropriate DTS file.
[all …]
/rk3399_ARM-atf/docs/getting_started/
H A Dbuild-options.rst5 otherwise, these options are expected to be specified at the build command
6 line and are not to be modified in any component makefiles. Note that the
17 compiler should use. Valid values are T32 and A32. It defaults to T32 due to
20 - ``AARCH32_SP`` : Choose the AArch32 Secure Payload component to be built as
21 as the BL32 image when ``ARCH=aarch32``. The value should be the path to the
22 directory containing the SP source, relative to the ``bl32/``; the directory
23 is expected to contain a makefile called ``<aarch32_sp-value>.mk``.
25 - ``AMU_RESTRICT_COUNTERS``: Register reads to the group 1 counters will return
31 ``aarch64`` or ``aarch32`` as values. By default, it is defined to
36 and defaults to ``none``. It translates into compiler option
[all …]
H A Dinitial-build.rst5 to your cross compiler.
11 export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
17 export CROSS_COMPILE=<path-to-aarch32-gcc>/bin/arm-none-eabi-
19 It is possible to build TF-A using Clang or Arm Compiler 6. To do so
20 ``CC`` needs to point to the clang or armclang binary, which will
22 when the base name of the path assigned to ``CC`` matches the string
32 export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
33 make CC=<path-to-armclang>/bin/armclang PLAT=<platform> all
36 default instead of GNU utilities (LLVM linker (LLD) 14.0.0 is known to
40 Clang will be selected when the base name of the path assigned to ``CC``
[all …]
/rk3399_ARM-atf/docs/process/
H A Dsecurity-hardening.rst4 This page contains guidance on what to check for additional security measures,
5 including build options that can be modified to improve security or catch issues
15 Do not leak secrets to the normal world
18 The secure world **must not** leak secrets to the normal world, for example in
19 response to an SMC.
24 The secure world **should never** crash or become unusable due to receiving too
31 The Secure world needs to implement some defenses to prevent the Non-secure
36 Refer to the :ref:`Performance Monitoring Unit` guide for detailed information
42 Since the Non-secure world has access to the ``PMCR`` register, it can
43 configure the PMU to increment counters at any exception level and in both
[all …]
H A Dfaq.rst7 Often it is necessary to update your patch set before it is merged. Refer to the
8 `Gerrit Upload Patch Set documentation`_ on how to do so.
10 If you need to modify an existing patch set with multiple commits, refer to the
13 How long will my changes take to merge into ``integration``?
20 set and the impact of any delay. Feel free to add a comment to your patch set
21 to get an estimate of when it will be merged.
23 * The quality of the patch set. Patches are likely to be merged more quickly if
28 API is likely to receive much greater scrutiny than a local change to a
32 maintainers may not wait for external review comments to merge trivial
33 bug-fixes but may wait up to a week to merge major changes, or ones requiring
[all …]
H A Dplatform-ports-policy.rst10 Platform compatibility is mainly affected by changes to Platform APIs (as
12 library interfaces (like xlat_table library). The project will try to maintain
15 Due to evolving requirements and enhancements, there might be changes affecting
16 platform compatibility, which means the previous interface needs to be deprecated
17 and a new interface introduced to replace it. In case the migration to the new
18 interface is trivial, the contributor of the change is expected to make good
19 effort to migrate the upstream platforms to the new interface.
23 to upstream their platform code or copy the latest version of the code being
28 deprecated, the page must be updated to indicate the release after which the
30 For non-trivial interface changes, an email should be sent out to the `TF-A
[all …]
/rk3399_ARM-atf/docs/components/
H A Dexception-handling.rst17 The |EHF| is selected by setting the build option ``EL3_EXCEPTION_HANDLING`` to
24 allows for asynchronous exceptions to be routed to EL3. As described in the
27 ``SCR_EL3`` register to effect this routing. For most use cases, other than for
29 FIQs and IRQs routed to EL3 are not required to be handled in EL3.
35 introduced to the Arm architecture. With RAS features implemented, various
36 components of the system may use one of the asynchronous exceptions to signal
37 error conditions to PEs. These error conditions are of critical nature, and
40 followed in response to RAS events in the system.
43 interacts with the Runtime Firmware in order to request notification of
47 first received by the EL3 firmware, and then dispatched to Normal world
[all …]
H A Dplatform-interrupt-controller-API.rst22 is read to determine the priority of the interrupt.
34 associated to system-wide peripherals, and these interrupts can target any PE in
47 associated with peripherals that are private to each PE. Interrupts from private
48 peripherals target to that PE only.
75 the GIC *Set Active Register* to read and return the active status of the
87 ``id``. PEs in the system are expected to receive only enabled interrupts.
90 inserts barrier to make memory updates visible before enabling interrupt, and
91 then writes to GIC *Set Enable Register* to enable the interrupt.
102 ``id``. PEs in the system are not expected to receive disabled interrupts.
105 writes to GIC *Clear Enable Register* to disable the interrupt, and inserts
[all …]
H A Dgranule-protection-tables-design.rst6 to initialize the GPTs based on a data structure containing information about
7 the systems memory layout, configure the system registers to enable granule
12 and non-secure. In addition to new security states, corresponding physical
13 address spaces have been added to control memory access for each state. The PAS
14 access allowed to each security state can be seen in the table below.
48 level 0 table controls access to a relatively large region in memory (GPT Block
49 descriptor), and the entire region can belong to a single PAS when a one step
50 mapping is used. Level 0 entry can also link to a level 1 table (GPT Table
54 The Level 1 tables entries with the same PAS can be combined to form a
69 is the smallest unit of memory that can be independently assigned to a PAS.
[all …]
/rk3399_ARM-atf/docs/security_advisories/
H A Dsecurity-advisory-tfv-8.rst5 | Title | Not saving x0 to x3 registers can leak information from one |
6 | | Normal World SMC client to another |
19 | | client to another |
26 When taking an exception to EL3, BL31 saves the CPU context. The aim is to
29 ``x0`` to ``x3`` are not part of the CPU context saved on the stack.
31 As per the `SMC Calling Convention`_, up to 4 values may be returned to the
32 caller in registers ``x0`` to ``x3``. In TF-A, these return values are written
36 Before returning to the caller, the ``restore_gp_registers()`` function is
38 CPU context stored on the stack. This includes registers ``x0`` to ``x3``, as
40 (referring to the version of the code as of `commit c385955`_):
[all …]
/rk3399_ARM-atf/docs/about/
H A Dlts.rst17 | | Varun Wadekar | made by both authors, cosmetic changes to the content |
22 | 2022-08-05 | Varun Wadekar | Changed the “Future plans” section to “FAQ” and |
26 | 2025-01-07 | Govindraj Raja | Convert from pdf to rst. |
38 when a product is released, the companies have to support that in-market product
39 such that the amount of changes to the firmware are kept to a minimum to avoid
40 the risk of regression. At the same time the companies don't want to exclude
42 companies want to minimize the churn when deploying fixes during incident
43 response, e.g. due to critical security bugs.
46 cybersecurity standards for products containing digital elements, aiming to
50 sold in the EU to meet specific cybersecurity requirements.
[all …]
/rk3399_ARM-atf/docs/perf/
H A Dpsci-performance-juno.rst25 Juno supports CPU, cluster and system power down states, corresponding to power
46 ``CPU_SUSPEND`` to deepest power level
49 .. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in
68 .. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in
87 .. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in
106 .. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in
125 ``CPU_SUSPEND`` to power level 0
128 .. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in
147 .. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in
166 .. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in serial (v2.14)
[all …]
/rk3399_ARM-atf/lib/compiler-rt/
H A DLICENSE.TXT7 to use it under either license. As a contributor, you agree to allow your code
8 to be used under both.
29 Permission is hereby granted, free of charge, to any person obtaining a copy of
30 this software and associated documentation files (the "Software"), to deal with
31 the Software without restriction, including without limitation the rights to
33 of the Software, and to permit persons to whom the Software is furnished to do
34 so, subject to the following conditions:
44 Urbana-Champaign, nor the names of its contributors may be used to
60 Permission is hereby granted, free of charge, to any person obtaining a copy
61 of this software and associated documentation files (the "Software"), to deal
[all …]
/rk3399_ARM-atf/plat/nxp/soc-ls1043a/
H A Dsoc.def17 # set to GIC400 or GIC500
20 # set to CCI400 or CCN504 or CCN508
23 # indicate layerscape chassis level - set to 3=LSCH3 or 2=LSCH2
32 # Select the DDR PHY generation to be used
37 # ddr controller - set to MMDC or NXP
40 # ddr phy - set to NXP or SNPS
46 # Max Size of CSF header. Required to define BL2 TEXT LIMIT in soc.def
47 # Input to CST create_hdr_esbc tool
68 # BL2_HDR_LOC has to be (OCRAM_START_ADDR + OCRAM_SIZE - NXP_ROM_RSVD - CSF_HDR_SZ)
70 # Input to CST create_hdr_isbc tool
[all …]
/rk3399_ARM-atf/docs/plat/arm/
H A Darm-build-options.rst7 - ``ARM_BL31_IN_DRAM``: Boolean option to select loading of BL31 in TZC secured
8 DRAM. By default, BL31 is in the secure SRAM. Set this flag to 1 to load
10 sets the TSP location to DRAM and ignores the ``ARM_TSP_RAM_LOCATION`` build
13 - ``ARM_CONFIG_CNTACR``: boolean option to unlock access to the ``CNTBase<N>``
17 kernel). Default is true (access to the frame is allowed).
19 - ``ARM_FW_CONFIG_LOAD_ENABLE``: Boolean option to enable the loading of
25 - ``ARM_DISABLE_TRUSTED_WDOG``: boolean option to disable the Trusted Watchdog.
26 By default, Arm platforms use a watchdog to trigger a system reset in case
33 - ``ARM_LINUX_KERNEL_AS_BL33``: The Linux kernel expects registers x0-x3 to
35 to have a Linux kernel image as BL33 by preparing the registers to these
[all …]
/rk3399_ARM-atf/docs/plat/
H A Drpi3.rst7 The following instructions explain how to use this port of the TF-A with the
17 shouldn't be considered more than a prototype to play with and implement
18 elements like PSCI to support the Linux kernel.
28 This explains why it is possible to change the execution state (AArch64/AArch32)
36 a `default AArch64 stub`_ at address **0x0** that jumps to the kernel.
43 `Raspbian`_ distribution by renaming it to ``kernel8.img``, while TF-A and
45 default bootstrap code. When using a AArch64 kernel, it is only needed to make
48 Ideally, we want to load the kernel and have all cores available, which means
49 that we need to make the secondary cores work in the way the kernel expects, as
53 To get the most out of a AArch32 kernel, we want to boot it in Hypervisor mode
[all …]
H A Dallwinner.rst5 SoCs with ARMv8 cores. Only BL31 is used to provide proper EL3 setup and
37 So for instance to build for a board with the Allwinner A64 SoC::
45 some build options that allow to fine-tune the firmware, or to disable support
50 to be loaded into the ARISC SCP (A64, H5), or the power sequence control
51 registers to be programmed directly (H6, H616). This supports only basic
53 This option defaults to 1. If an active SCP supporting the SCPI protocol
58 powerup sequence by talking to the SCP processor via the SCPI protocol.
59 This allows more advanced power saving techniques, like suspend to RAM.
60 This option defaults to 1 on SoCs that feature an SCP. If no SCP firmware
66 power management controller, BL31 tries to set up all needed power rails,
[all …]

12345678910>>...12