[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 2/2] hw/core: loader: Set is_linux to true for VxWorks uImage
From: |
Bin Meng |
Subject: |
[PATCH v2 2/2] hw/core: loader: Set is_linux to true for VxWorks uImage |
Date: |
Thu, 24 Mar 2022 21:48:12 +0800 |
From: Bin Meng <bin.meng@windriver.com>
VxWorks 7 uses the same boot interface as the Linux kernel on Arm
(64-bit only), PowerPC and RISC-V architectures. Add logic to set
is_linux to true for VxWorks uImage for these architectures in
load_uboot_image().
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Changes in v2:
- update commit message & comments regarding Arm64
hw/core/loader.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/hw/core/loader.c b/hw/core/loader.c
index ca2f2431fb..94d045517f 100644
--- a/hw/core/loader.c
+++ b/hw/core/loader.c
@@ -697,6 +697,21 @@ static int load_uboot_image(const char *filename, hwaddr
*ep, hwaddr *loadaddr,
if (is_linux) {
if (hdr->ih_os == IH_OS_LINUX) {
*is_linux = 1;
+ } else if (hdr->ih_os == IH_OS_VXWORKS) {
+ /*
+ * VxWorks 7 uses the same boot interface as the Linux kernel
+ * on Arm (64-bit only), PowerPC and RISC-V architectures.
+ */
+ switch (hdr->ih_arch) {
+ case IH_ARCH_ARM64:
+ case IH_ARCH_PPC:
+ case IH_ARCH_RISCV:
+ *is_linux = 1;
+ break;
+ default:
+ *is_linux = 0;
+ break;
+ }
} else {
*is_linux = 0;
}
--
2.25.1