From: Sascha Hauer <s.hauer@pengutronix.de>
To: "open list:BAREBOX" <barebox@lists.infradead.org>
Subject: [PATCH v2 03/14] ARM: k3: r5: drop loading of separate binaries
Date: Tue, 11 Mar 2025 13:25:16 +0100 [thread overview]
Message-ID: <20250311-am625-secure-v2-3-3cbbfa092346@pengutronix.de> (raw)
In-Reply-To: <20250311-am625-secure-v2-0-3cbbfa092346@pengutronix.de>
For starting the A52 cores we need TFA, OP-TEE, barebox and ti-dm
binaries. These can be loaded as separate files from SD/eMMC/DFU or
alternatively combined into a single FIP image.
FIP images are convenient to handle, they can easily be generated on the
command line and fiptool also has support for replacing blobs in images.
This makes handling of separate binaries rather unnecessary and support
for it only makes the loading code more complex. Drop it and make FIP
images the only option which also faciliates integrating of secure boot.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
arch/arm/mach-k3/r5.c | 70 +--------------------------------------------------
1 file changed, 1 insertion(+), 69 deletions(-)
diff --git a/arch/arm/mach-k3/r5.c b/arch/arm/mach-k3/r5.c
index ced1eb2856..2418e9ae73 100644
--- a/arch/arm/mach-k3/r5.c
+++ b/arch/arm/mach-k3/r5.c
@@ -288,50 +288,15 @@ static void do_dfu(void)
struct usbgadget_funcs funcs = {};
int ret;
struct stat s;
- ssize_t size;
funcs.flags |= USBGADGET_DFU;
- funcs.dfu_opts = "/optee.bin(optee)c,"
- "/bl31.bin(tfa)c,"
- "/ti-dm.bin(ti-dm)c,"
- "/barebox.bin(barebox)cs,"
- "/fip.img(fip)cs";
+ funcs.dfu_opts = "/fip.img(fip)cs";
ret = usbgadget_prepare_register(&funcs);
if (ret)
goto err;
while (1) {
- if (!have_bl32) {
- size = read_file_into_buf("/optee.bin", BL32_ADDRESS, SZ_32M);
- if (size > 0) {
- printf("Downloaded OP-TEE\n");
- have_bl32 = true;
- }
- }
-
- if (!have_bl31) {
- size = read_file_into_buf("/bl31.bin", BL31_ADDRESS, SZ_32M);
- if (size > 0) {
- printf("Downloaded TF-A\n");
- have_bl31 = true;
- }
- }
-
- if (!k3_ti_dm) {
- ret = read_file_2("/ti-dm.bin", &size, &k3_ti_dm, FILESIZE_MAX);
- if (!ret) {
- printf("Downloaded TI-DM\n");
- }
- }
-
- size = read_file_into_buf("/barebox.bin", BAREBOX_ADDRESS, SZ_32M);
- if (size > 0) {
- have_bl33 = true;
- printf("Downloaded barebox image, DFU done\n");
- break;
- }
-
ret = stat("/fip.img", &s);
if (!ret) {
printf("Downloaded FIP image, DFU done\n");
@@ -352,45 +317,12 @@ static void do_dfu(void)
static int load_images(void)
{
- ssize_t size;
int err;
err = load_fip("/boot/k3.fip", 0);
if (!err)
return 0;
- size = read_file_into_buf("/boot/optee.bin", BL32_ADDRESS, SZ_32M);
- if (size < 0) {
- if (size != -ENOENT) {
- pr_err("Cannot load optee.bin: %pe\n", ERR_PTR(size));
- return size;
- }
- pr_info("optee.bin not found, continue without\n");
- } else {
- pr_debug("Loaded optee.bin (size %u) to 0x%p\n", size, BL32_ADDRESS);
- }
-
- size = read_file_into_buf("/boot/barebox.bin", BAREBOX_ADDRESS, SZ_32M);
- if (size < 0) {
- pr_err("Cannot load barebox.bin: %pe\n", ERR_PTR(size));
- return size;
- }
- pr_debug("Loaded barebox.bin (size %u) to 0x%p\n", size, BAREBOX_ADDRESS);
-
- size = read_file_into_buf("/boot/bl31.bin", BL31_ADDRESS, SZ_32M);
- if (size < 0) {
- pr_err("Cannot load bl31.bin: %pe\n", ERR_PTR(size));
- return size;
- }
- pr_debug("Loaded bl31.bin (size %u) to 0x%p\n", size, BL31_ADDRESS);
-
- err = read_file_2("/boot/ti-dm.bin", &size, &k3_ti_dm, FILESIZE_MAX);
- if (err) {
- pr_err("Cannot load ti-dm.bin: %pe\n", ERR_PTR(err));
- return err;
- }
- pr_debug("Loaded ti-dm.bin (size %u)\n", size);
-
return 0;
}
--
2.39.5
next prev parent reply other threads:[~2025-03-11 12:42 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-11 12:25 [PATCH v2 00/14] am625: support secure loading of full barebox Sascha Hauer
2025-03-11 12:25 ` [PATCH v2 01/14] firmware: always generate sha256sum Sascha Hauer
2025-03-11 13:13 ` Marco Felsch
2025-03-11 12:25 ` [PATCH v2 02/14] firmware: add function to verify next image Sascha Hauer
2025-03-11 13:19 ` Marco Felsch
2025-03-11 12:25 ` Sascha Hauer [this message]
2025-03-11 13:20 ` [PATCH v2 03/14] ARM: k3: r5: drop loading of separate binaries Marco Felsch
2025-03-11 12:25 ` [PATCH v2 04/14] ARM: k3: r5: add proper error handling Sascha Hauer
2025-03-11 13:21 ` Marco Felsch
2025-03-11 12:25 ` [PATCH v2 05/14] fip: rework fip_image_open() Sascha Hauer
2025-03-11 13:42 ` Marco Felsch
2025-03-12 11:02 ` Sascha Hauer
2025-03-12 11:45 ` Marco Felsch
2025-03-11 12:25 ` [PATCH v2 06/14] fip: fix wrong function call Sascha Hauer
2025-03-11 12:25 ` [PATCH v2 07/14] fip: add function to calculate a sha256 over FIP image Sascha Hauer
2025-03-11 13:43 ` Marco Felsch
2025-03-11 12:25 ` [PATCH v2 08/14] ARM: am625: support hash verification of full barebox Sascha Hauer
2025-03-11 13:44 ` Marco Felsch
2025-03-11 12:25 ` [PATCH v2 09/14] ARM: k3: add support for authenticating images against the ROM API Sascha Hauer
2025-03-11 12:25 ` [PATCH v2 10/14] ARM: k3: r5: delete fip image when it can't be opened Sascha Hauer
2025-03-11 12:25 ` [PATCH v2 11/14] ARM: k3: r5: Allow to authenticate next image by ROM API Sascha Hauer
2025-03-11 12:25 ` [PATCH v2 12/14] scripts/k3img: remove temporary files Sascha Hauer
2025-03-11 12:25 ` [PATCH v2 13/14] scripts: add k3sign Sascha Hauer
2025-03-11 12:25 ` [PATCH v2 14/14] ARM: k3: r5: select HAS_INSECURE_DEFAULTS when necessary Sascha Hauer
2025-03-11 13:46 ` Marco Felsch
2025-03-12 10:22 ` [PATCH v2 00/14] am625: support secure loading of full barebox Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250311-am625-secure-v2-3-3cbbfa092346@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox