From: Yao Zi <ziyao@disroot.org>
To: Conor Dooley <conor@kernel.org>, Tom Rini <trini@konsulko.com>
Cc: Leo Liang <ycliang@andestech.com>,
u-boot@lists.denx.de, rick@andestech.com,
Mayuresh Chitale <mchitale@ventanamicro.com>
Subject: Re: [GIT PULL] u-boot-riscv/master
Date: Thu, 22 May 2025 16:40:57 +0000 [thread overview]
Message-ID: <aC9TmaY7w2PL8lbn@pie.lan> (raw)
In-Reply-To: <20250522-eradicate-clip-538f48710ad7@spud>
On Thu, May 22, 2025 at 12:28:18PM +0100, Conor Dooley wrote:
> On Wed, May 21, 2025 at 12:39:50PM -0600, Tom Rini wrote:
> > On Wed, 21 May 2025 17:50:03 +0800, Leo Liang wrote:
> >
> > > The following changes since commit a3e09b24ffd4429909604f1b28455b44306edbaa:
> > >
> > > Merge tag 'mmc-2025-05-20' of https://source.denx.de/u-boot/custodians/u-boot-mmc (2025-05-20 08:35:31 -0600)
> > >
> > > are available in the Git repository at:
> > >
> > > https://source.denx.de/u-boot/custodians/u-boot-riscv.git
> > >
> > > [...]
> >
> > Merged into u-boot/master, thanks!
>
> This PR seems to have made my CI blow up, and I'm not entirely sure if
> that's something intentional or not. I've not yet bisected, but since
> the error is "Image arch not compatible with host arch", I can only
> imagine the patch in question is:
> | Subject: [PATCH v2 1/3] riscv: image: Add new image type for RV64
> | Date: Fri, 4 Apr 2025 14:48:55 +0000 [thread overview]
> | Message-ID: <20250404144859.112313-2-mchitale@ventanamicro.com> (raw)
> | In-Reply-To: <20250404144859.112313-1-mchitale@ventanamicro.com>
> |
> | Similar to ARM and X86, introduce a new image type which allows u-boot
> | to distinguish between images built for 32-bit vs 64-bit Risc-V CPUs.
> |
> | Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
> | Reviewed-by: Maxim Moskalets <maximmosk4@gmail.com>
> | ---
> | boot/image.c | 3 ++-
> | include/image.h | 3 ++-
> | 2 files changed, 4 insertions(+), 2 deletions(-)
> |
> | diff --git a/boot/image.c b/boot/image.c
> | index 139c5bd035a..45299a7dc33 100644
> | --- a/boot/image.c
> | +++ b/boot/image.c
> | @@ -92,7 +92,8 @@ static const table_entry_t uimage_arch[] = {
> | { IH_ARCH_ARC, "arc", "ARC", },
> | { IH_ARCH_X86_64, "x86_64", "AMD x86_64", },
> | { IH_ARCH_XTENSA, "xtensa", "Xtensa", },
> | - { IH_ARCH_RISCV, "riscv", "RISC-V", },
> | + { IH_ARCH_RISCV, "riscv", "RISC-V 32 Bit",},
> | + { IH_ARCH_RISCV64, "riscv64", "RISC-V 64 Bit",},
> | { -1, "", "", },
> | };
> |
> | diff --git a/include/image.h b/include/image.h
> | index 07912606f33..411bfcd0877 100644
> | --- a/include/image.h
> | +++ b/include/image.h
> | @@ -138,7 +138,8 @@ enum {
> | IH_ARCH_ARC, /* Synopsys DesignWare ARC */
> | IH_ARCH_X86_64, /* AMD x86_64, Intel and Via */
> | IH_ARCH_XTENSA, /* Xtensa */
> | - IH_ARCH_RISCV, /* RISC-V */
> | + IH_ARCH_RISCV, /* RISC-V 32 bit*/
> | + IH_ARCH_RISCV64, /* RISC-V 64 bit*/
> |
> | IH_ARCH_COUNT,
> | };
> | --
> | 2.43.0
> |
> since it is changing the existing "riscv" image type to be the 32-bit
> image and requiring the new entry for 64-bit. My CI job uses the system
> mkimage to create the image that U-Boot is loading, so it doesn't know
> about the new define etc. Maybe it's not considered a problem if a new
> U-Boot cannot boot an old image, but the comment above the enum reads:
> |/*
> | * CPU Architecture Codes (supported by Linux)
> | *
> | * The following are exposed to uImage header.
> | * New IDs *MUST* be appended at the end of the list and *NEVER*
> | * inserted for backward compatibility.
> | */
> The overwhelming majority of existing supported boards in U-Boot are
> 64-bit platforms, and the 64-bit platforms are the ones that have been
> supported for longer, so my thought would be that the compatibility of
> 64-bit platforms should be prioritised over 32-bit? Or even add explicit
> 32-bit and 64-bit entries and the existing one is a catch-all for
> compatibility reasons?
I've mentioned entries with bitwidth explicitly specified in my previous
reply (and there hasn't been any response).
> I'll consider IH_ARCH_RISCV32 a better idea, instead of implying 32bit
> when no suffix attached. We (and the Linux kernel) mix 32-bit and 64-bit
> variants of RISC-V together, thus it's hard to tell the exact bitwidth
> of "IH_ARCH_RISCV" without inspecting the code around. To me, it sounds
> more like "RISC-V, but no bitwidth specified".
>
> It will be nice if we could avoid this kind of ambiguity.
(referring my own reply[1])
I'll second explicit 32-bit and 64-bit entries, and keeping
IH_ARCH_RISCV for compatibility consideration.
>
> Hopefully my lack of bisection isn't causing me to blame something
> incorrect, but I'll go try to replicate now :)
Regards,
Yao Zi
[1]: https://lore.kernel.org/u-boot/Z_CjTyXaVrpUOPnJ@pie.lan/
next prev parent reply other threads:[~2025-05-22 16:41 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-21 9:50 [GIT PULL] u-boot-riscv/master Leo Liang
2025-05-21 18:39 ` Tom Rini
2025-05-22 11:28 ` Conor Dooley
2025-05-22 14:45 ` Tom Rini
2025-05-22 15:36 ` Leo Liang
2025-05-22 15:54 ` Tom Rini
2025-05-22 16:40 ` Yao Zi [this message]
2025-05-23 9:18 ` Conor Dooley
2025-05-26 3:32 ` Mayuresh Chitale
2025-05-26 9:17 ` Conor Dooley
2025-05-26 14:56 ` Tom Rini
2025-05-26 17:34 ` Mayuresh Chitale
2025-05-26 18:16 ` Tom Rini
2025-05-27 17:10 ` Mayuresh Chitale
2025-05-27 17:34 ` Tom Rini
-- strict thread matches above, loose matches on Subject: below --
2025-10-16 12:07 [GIT,PULL] u-boot-riscv/master Leo Liang
2025-10-16 17:38 ` Tom Rini
2025-08-12 8:04 [GIT PULL] u-boot-riscv/master Leo Liang
2025-08-12 15:22 ` Tom Rini
2025-08-13 6:57 ` Leo Liang
2025-08-13 11:16 ` Martin Herren
2025-08-13 11:59 ` Leo Liang
2025-04-25 10:07 Leo Liang
2025-04-25 10:35 ` Yao Zi
2025-04-26 14:14 ` Tom Rini
2025-04-25 12:57 ` E Shattow
2025-04-25 13:02 ` E Shattow
2025-04-25 23:43 ` Tom Rini
2025-04-26 1:13 ` E Shattow
2025-04-26 14:14 ` Tom Rini
2025-04-27 7:47 ` E Shattow
2025-03-25 6:19 Leo Liang
2025-03-25 20:18 ` Tom Rini
2025-03-06 12:18 Leo Liang
2025-03-07 11:20 ` Yao Zi
2025-02-20 5:13 Leo Liang
2025-02-20 17:19 ` Tom Rini
2025-02-03 8:17 Leo Liang
2025-02-03 21:26 ` Tom Rini
2025-01-17 1:53 Leo Liang
2025-01-17 17:56 ` Tom Rini
2024-11-27 13:08 Leo Liang
2024-11-27 18:54 ` Tom Rini
2024-11-06 12:12 Leo Liang
2024-11-08 16:51 ` Tom Rini
2024-11-11 13:24 ` Tom Rini
2024-10-29 12:33 Leo Liang
2024-10-29 16:37 ` Tom Rini
2024-10-28 12:24 Leo Liang
2024-10-28 19:33 ` Tom Rini
2024-07-22 8:29 Leo Liang
2024-07-22 19:31 ` Tom Rini
2024-05-30 8:56 Leo Liang
2024-06-03 17:42 ` Tom Rini
2024-05-14 13:28 Leo Liang
2024-05-14 16:14 ` Tom Rini
2024-05-01 16:38 Leo Liang
2024-05-02 14:42 ` Tom Rini
2024-04-09 8:25 Leo Liang
2024-04-10 0:43 ` Tom Rini
2024-03-26 13:22 Leo Liang
2024-03-27 12:12 ` Tom Rini
2024-03-12 8:51 Leo Liang
2024-03-12 18:52 ` Tom Rini
2024-01-31 10:21 Leo Liang
2024-01-31 14:14 ` Tom Rini
2023-12-14 2:38 Leo Yu-Chi Liang(梁育齊)
2023-12-14 12:19 ` Tom Rini
2023-12-14 12:46 ` Leo Liang
2023-12-14 14:39 ` Tom Rini
2023-12-07 13:46 Leo Liang
2023-12-09 20:59 ` Tom Rini
2023-11-02 10:49 Leo Liang
2023-11-02 14:53 ` Tom Rini
2021-02-26 1:53 Leo Liang
2021-02-26 17:40 ` Tom Rini
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=aC9TmaY7w2PL8lbn@pie.lan \
--to=ziyao@disroot.org \
--cc=conor@kernel.org \
--cc=mchitale@ventanamicro.com \
--cc=rick@andestech.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=ycliang@andestech.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.