Message ID | 20230410072718.3484-1-rick@andestech.com |
---|---|
State | Deferred |
Delegated to: | Tom Rini |
Headers | show |
Series | riscv: Support riscv64 image type | expand |
Hi Rick, On Mon, 10 Apr 2023 at 01:26, Rick Chen <rick@andestech.com> wrote: > > Allow U-Boot to load 32 or 64 bits RISC-V Kernel Image > distinguishly. It helps to avoid someone maybe make a mistake > to run 32-bit U-Boot to load 64-bit kernel. > > Signed-off-by: Rick Chen <rick@andestech.com> > > --- > The patchset is based on Simon's patch: > riscv: Add a 64-bit image type > --- > --- > arch/riscv/include/asm/u-boot.h | 4 ++++ > cmd/booti.c | 2 +- > 2 files changed, 5 insertions(+), 1 deletion(-) Reviewed-by: Simon Glass <sjg@chromium.org> I don't know much about RISC-V, but I assume U-Boot is able to do this successfully? Does it not need to switch modes first? Regards, Simon
Hi Simon, > Hi Rick, > > On Mon, 10 Apr 2023 at 01:26, Rick Chen <rick@andestech.com> wrote: > > > > Allow U-Boot to load 32 or 64 bits RISC-V Kernel Image > > distinguishly. It helps to avoid someone maybe make a mistake > > to run 32-bit U-Boot to load 64-bit kernel. > > > > Signed-off-by: Rick Chen <rick@andestech.com> > > > > --- > > The patchset is based on Simon's patch: > > riscv: Add a 64-bit image type > > --- > > --- > > arch/riscv/include/asm/u-boot.h | 4 ++++ > > cmd/booti.c | 2 +- > > 2 files changed, 5 insertions(+), 1 deletion(-) > > Reviewed-by: Simon Glass <sjg@chromium.org> > > I don't know much about RISC-V, but I assume U-Boot is able to do this > successfully? Does it not need to switch modes first? No, it is not need to switch modes as far as I know. Here only provide a check mechanism just like arm to see if loader and OS are match But This patch is for bootm flow. Maybe I still need to check if it is necessary to prepare a patch for binman flow ? /arch/riscv/dts/binman.dtsi arch = "riscv"; maybe provide another binman64.dtsi for arch="riscv64" Thanks, Rick > > Regards, > Simon
Hi Rick, On Wed, 19 Apr 2023 at 00:56, Rick Chen <rickchen36@gmail.com> wrote: > > Hi Simon, > > > Hi Rick, > > > > On Mon, 10 Apr 2023 at 01:26, Rick Chen <rick@andestech.com> wrote: > > > > > > Allow U-Boot to load 32 or 64 bits RISC-V Kernel Image > > > distinguishly. It helps to avoid someone maybe make a mistake > > > to run 32-bit U-Boot to load 64-bit kernel. > > > > > > Signed-off-by: Rick Chen <rick@andestech.com> > > > > > > --- > > > The patchset is based on Simon's patch: > > > riscv: Add a 64-bit image type > > > --- > > > --- > > > arch/riscv/include/asm/u-boot.h | 4 ++++ > > > cmd/booti.c | 2 +- > > > 2 files changed, 5 insertions(+), 1 deletion(-) > > > > Reviewed-by: Simon Glass <sjg@chromium.org> > > > > I don't know much about RISC-V, but I assume U-Boot is able to do this > > successfully? Does it not need to switch modes first? > > No, it is not need to switch modes as far as I know. > Here only provide a check mechanism just like arm to see if loader and > OS are match > > But This patch is for bootm flow. > Maybe I still need to check if it is necessary to prepare a patch for > binman flow ? > /arch/riscv/dts/binman.dtsi > arch = "riscv"; > > maybe provide another binman64.dtsi for arch="riscv64" Yes I think that is needed too. Are you going to update this patch, or send a second one? Regards, Simon
> Hi Rick, > > On Wed, 19 Apr 2023 at 00:56, Rick Chen <rickchen36@gmail.com> wrote: > > > > Hi Simon, > > > > > Hi Rick, > > > > > > On Mon, 10 Apr 2023 at 01:26, Rick Chen <rick@andestech.com> wrote: > > > > > > > > Allow U-Boot to load 32 or 64 bits RISC-V Kernel Image > > > > distinguishly. It helps to avoid someone maybe make a mistake > > > > to run 32-bit U-Boot to load 64-bit kernel. > > > > > > > > Signed-off-by: Rick Chen <rick@andestech.com> > > > > > > > > --- > > > > The patchset is based on Simon's patch: > > > > riscv: Add a 64-bit image type > > > > --- > > > > --- > > > > arch/riscv/include/asm/u-boot.h | 4 ++++ > > > > cmd/booti.c | 2 +- > > > > 2 files changed, 5 insertions(+), 1 deletion(-) > > > > > > Reviewed-by: Simon Glass <sjg@chromium.org> > > > > > > I don't know much about RISC-V, but I assume U-Boot is able to do this > > > successfully? Does it not need to switch modes first? > > > > No, it is not need to switch modes as far as I know. > > Here only provide a check mechanism just like arm to see if loader and > > OS are match > > > > But This patch is for bootm flow. > > Maybe I still need to check if it is necessary to prepare a patch for > > binman flow ? > > /arch/riscv/dts/binman.dtsi > > arch = "riscv"; > > > > maybe provide another binman64.dtsi for arch="riscv64" > > Yes I think that is needed too. Are you going to update this patch, or > send a second one? Hi Simon, OK. HI Leo, I am a little busy on other things.Can you help to update this patch ? Thanks. Rick > > Regards, > Simon
Hi Rick, On Thu, Jul 27, 2023 at 09:27:31AM +0800, Rick Chen wrote: > > Hi Rick, > > > > On Wed, 19 Apr 2023 at 00:56, Rick Chen <rickchen36@gmail.com> wrote: > > > > > > Hi Simon, > > > > > > > Hi Rick, > > > > > > > > On Mon, 10 Apr 2023 at 01:26, Rick Chen <rick@andestech.com> wrote: > > > > > > > > > > Allow U-Boot to load 32 or 64 bits RISC-V Kernel Image > > > > > distinguishly. It helps to avoid someone maybe make a mistake > > > > > to run 32-bit U-Boot to load 64-bit kernel. > > > > > > > > > > Signed-off-by: Rick Chen <rick@andestech.com> > > > > > > > > > > --- > > > > > The patchset is based on Simon's patch: > > > > > riscv: Add a 64-bit image type > > > > > --- > > > > > --- > > > > > arch/riscv/include/asm/u-boot.h | 4 ++++ > > > > > cmd/booti.c | 2 +- > > > > > 2 files changed, 5 insertions(+), 1 deletion(-) > > > > > > > > Reviewed-by: Simon Glass <sjg@chromium.org> > > > > > > > > I don't know much about RISC-V, but I assume U-Boot is able to do this > > > > successfully? Does it not need to switch modes first? > > > > > > No, it is not need to switch modes as far as I know. > > > Here only provide a check mechanism just like arm to see if loader and > > > OS are match > > > > > > But This patch is for bootm flow. > > > Maybe I still need to check if it is necessary to prepare a patch for > > > binman flow ? > > > /arch/riscv/dts/binman.dtsi > > > arch = "riscv"; > > > > > > maybe provide another binman64.dtsi for arch="riscv64" > > > > Yes I think that is needed too. Are you going to update this patch, or > > send a second one? > > Hi Simon, > > OK. > > HI Leo, > > I am a little busy on other things.Can you help to update this patch ? > No problem! I will send a v2 patch ASAP. Best regards, Leo > Thanks. > Rick > > > > > Regards, > > Simon
diff --git a/arch/riscv/include/asm/u-boot.h b/arch/riscv/include/asm/u-boot.h index d5e1d5f323..e3b4a0357c 100644 --- a/arch/riscv/include/asm/u-boot.h +++ b/arch/riscv/include/asm/u-boot.h @@ -23,6 +23,10 @@ #include <asm/u-boot-riscv.h> /* For image.h:image_check_target_arch() */ +#ifdef CONFIG_ARCH_RV64I +#define IH_ARCH_DEFAULT IH_ARCH_RISCV64 +#else #define IH_ARCH_DEFAULT IH_ARCH_RISCV +#endif #endif /* _U_BOOT_H_ */ diff --git a/cmd/booti.c b/cmd/booti.c index 6ac39193db..dc0b0ae41c 100644 --- a/cmd/booti.c +++ b/cmd/booti.c @@ -119,7 +119,7 @@ int do_booti(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) images.os.os = IH_OS_LINUX; #ifdef CONFIG_RISCV_SMODE - images.os.arch = IH_ARCH_RISCV; + images.os.arch = IH_ARCH_DEFAULT; #elif CONFIG_ARM64 images.os.arch = IH_ARCH_ARM64; #endif
Allow U-Boot to load 32 or 64 bits RISC-V Kernel Image distinguishly. It helps to avoid someone maybe make a mistake to run 32-bit U-Boot to load 64-bit kernel. Signed-off-by: Rick Chen <rick@andestech.com> --- The patchset is based on Simon's patch: riscv: Add a 64-bit image type --- --- arch/riscv/include/asm/u-boot.h | 4 ++++ cmd/booti.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)