qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/2] hw/core: loader: Setting is_linux to true for VxWorks uImage


From: Bin Meng
Subject: [PATCH 2/2] hw/core: loader: Setting is_linux to true for VxWorks uImage
Date: Thu, 24 Mar 2022 16:22:43 +0800

From: Bin Meng <bin.meng@windriver.com>

VxWorks 7 now uses the same boot interface as the Linux kernel on
Arm64, PowerPC and RISC-V architectures, except Arm. 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>
---

 hw/core/loader.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/hw/core/loader.c b/hw/core/loader.c
index ca2f2431fb..af14b377f1 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 Arm64, PowerPC and RISC-V architectures, except Arm.
+                 */
+                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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]