Skip to content

Commit 5ae0b72

Browse files
committed
feat(security): Generalize boot flow page for non-AM64x SoCs
Currently, the secure boot section is tailored for AM64x. But the same information is applicable to non-AM64x SoCs, that is AM62x, AM62P. Therefore generalize the page and add it these other devices' TOCs. In addition, fix the language in the file to simplify it by changing a few passive voice statements into active voice, using easier words etc. Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
1 parent 4a80bf5 commit 5ae0b72

3 files changed

Lines changed: 20 additions & 12 deletions

File tree

configs/AM62PX/AM62PX_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ linux/Foundational_Components/System_Security/Security_overview
103103
linux/Foundational_Components/System_Security/SELinux
104104
linux/Foundational_Components/System_Security/Auth_boot
105105
linux/Foundational_Components/System_Security/Memory_Firewalls
106+
linux/Foundational_Components_Secure_Boot
106107

107108
linux/Foundational_Components_Kernel_Users_Guide
108109
linux/Foundational_Components_Kernel_LTP-DDT_Validation

configs/AM62X/AM62X_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ linux/Foundational_Components/System_Security/Security_overview
100100
linux/Foundational_Components/System_Security/SELinux
101101
linux/Foundational_Components/System_Security/Auth_boot
102102
linux/Foundational_Components/System_Security/Memory_Firewalls
103+
linux/Foundational_Components_Secure_Boot
103104

104105
linux/Foundational_Components_PRU_Subsystem
105106
linux/Foundational_Components/PRU-ICSS-Linux-Drivers

source/linux/Foundational_Components_Secure_Boot.rst

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ The following is an example list where Chain-of-Trust should be maintained.
3030
- Disable kernel debug options
3131
- Disable/remove userspace debug tools, devmem disable, etc..
3232

33-
We provide methods for U-Boot's SPL loader to securely verify/encrypt the U-Boot proper. This is accomplished by calling into TIFS via TI-SCI
34-
(Texas Instruments System Controller Interface). For more infomation using TI_SCI methods refer to the
35-
`TISCI User Guide <https://software-dl.ti.com/tisci/esd/22_01_02/index.html>`__. U-Boot proper then securely verifies/decrypts the Kernel/DTB/initramfs.
33+
We offer methods for U-Boot's SPL loader to securely verify and encrypt the U-Boot proper. U-Boot calls TIFS through TI-SCI (Texas Instruments System Controller Interface)
34+
to accomplish this. For more information about using TI_SCI methods see the
35+
`TISCI User Guide <https://software-dl.ti.com/tisci/esd/22_01_02/index.html>`__. U-Boot proper then securely verifies and decrypts the kernel, DTB and initramfs.
3636

3737
.. Image:: /images/K3_KF.png
3838
:scale: 70%
3939

40-
Secure boot has layers. Some layers are trusted more than others. Secure ROM has the highest trust and REE (Run-time Execution
40+
Secure boot has layers. Some layers are trusted more than others. Secure ROM has the highest trust and REE (Runtime Execution
4141
Environment) non-trustzone user-space applications have the least. If any higher trust code is to be loaded by a lower trust entity, it must be verified
4242
by an even higher trust entity and not allowed to be accessed by the lower trust entity after that point. Some such trust inversions are listed below:
4343

@@ -69,14 +69,20 @@ The exact location is device dependent. More details can be found in the device
6969
* DMSC firmware: `Texas Instruments Foundational Security (TIFS)` + Device/Power Manager: After authentication/decryption, DMSC firmware replaces the Secure ROM as the authenticator entity executing on the DMSC core.
7070
* R5 SPL: The R5 SPL bootloader is executed on the R5 core.
7171

72-
.. ifconfig:: CONFIG_part_variant in ('AM62x')
72+
.. ifconfig:: CONFIG_part_variant not in ('AM64X')
7373

74-
- `AM62x TRM <https://www.ti.com/lit/pdf/spruiv7>`_
74+
.. ifconfig:: CONFIG_part_variant in ('AM62X')
7575

76-
The contents of this first stage image are authenticated and decrypted by the Secure ROM. Contents include:
76+
- `AM62x TRM <https://www.ti.com/lit/pdf/spruiv7>`_
77+
78+
.. ifconfig:: CONFIG_part_variant in ('AM62PX')
79+
80+
- `AM62P TRM <https://www.ti.com/lit/pdf/spruj83>`_
81+
82+
The contents of this first stage image are authenticated and decrypted by the Secure ROM. Contents include:
7783

78-
* `Texas Instruments Foundational Security (TIFS)` firmware: After authentication/decryption, TIFS firmware replaces the Secure ROM as the authenticator entity executing on the TIFS core.
79-
* R5 SPL`: The R5 SPL bootloader is executed on the R5 core.
84+
* `Texas Instruments Foundational Security (TIFS)` firmware: After authentication/decryption, TIFS firmware replaces the Secure ROM as the authenticator entity executing on the TIFS core.
85+
* R5 SPL`: The R5 SPL bootloader is executed on the R5 core.
8086

8187
.. rubric:: R5 SPL
8288

@@ -195,9 +201,9 @@ HS Boot Flow Tools
195201

196202
U-boot:
197203

198-
The ti-u-boot source is a project used to create tiboot3.bin, tispl.bin, and u-boot.img. To create tiboot3.bin for AM64x family devices, u-boot builds R5 SPL and
204+
The ti-u-boot source is a project used to create tiboot3.bin, tispl.bin, and u-boot.img. To create tiboot3.bin for K3 family devices, u-boot builds R5 SPL and
199205
binman packages it in a `tiboot3.bin` image. To build A53 SPL, binman takes ATF (bl31.bin), OPTEE (bl32.bin), A53 SPL, and A53 DTBs and packages
200-
them in a `tispl.bin` image. The openssl library can then then be used to sign each component as specified in k3-am64x-binman.dtsi.
206+
them in a `tispl.bin` image. U-Boot can then use the openssl library to sign each component as specified in k3-<soc>-binman.dtsi.
201207

202208
.. code-block:: console
203209
@@ -246,7 +252,7 @@ OPTEE:
246252
Ti-linux-firmware:
247253

248254
The ti-linux-firmware is a TI repository where all firmware releases are stored. Firmwares for a device family can also be found in the pre-built SDK
249-
under <path-to-tisdk>/board-support/prebuilt-images/am64xx-evm. Binman expects to find the device firmware with the following appended to u-boot build command:
255+
under <path-to-tisdk>/board-support/prebuilt-images/<evm>. Binman expects to find the device firmware with the following appended to u-boot build command:
250256
BINMAN_INDIRS=<path-to-tisdk>/board-support/prebuilt-images, and expects to find a ti-sysfw directory in this path.
251257

252258
.. code-block:: console

0 commit comments

Comments
 (0)