qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] hw/arm: Improve detection of Linux kernels


From: Stefan Weil
Subject: [Qemu-devel] [PATCH] hw/arm: Improve detection of Linux kernels
Date: Mon, 9 Aug 2010 16:48:06 +0200

ELF images were not detected as linux kernels.

Assume that they are linux kernels if the kernel name contains 'vmlinux'.

Cc: Paul Brook <address@hidden>
Signed-off-by: Stefan Weil <address@hidden>
---
 hw/arm_boot.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/arm_boot.c b/hw/arm_boot.c
index 620550b..e73ef42 100644
--- a/hw/arm_boot.c
+++ b/hw/arm_boot.c
@@ -204,7 +204,7 @@ void arm_load_kernel(CPUState *env, struct arm_boot_info 
*info)
     int kernel_size;
     int initrd_size;
     int n;
-    int is_linux = 0;
+    int is_linux;
     uint64_t elf_entry;
     target_phys_addr_t entry;
     int big_endian;
@@ -225,7 +225,9 @@ void arm_load_kernel(CPUState *env, struct arm_boot_info 
*info)
     big_endian = 0;
 #endif
 
-    /* Assume that raw images are linux kernels, and ELF images are not.  */
+    /* Assume that raw images are linux kernels, and ELF images
+       are not (unless the kernel filename contains 'vmlinux'). */
+    is_linux = (strstr(info->kernel_filename, "vmlinux") != NULL);
     kernel_size = load_elf(info->kernel_filename, NULL, NULL, &elf_entry,
                            NULL, NULL, big_endian, ELF_MACHINE, 1);
     entry = elf_entry;
-- 
1.7.1




reply via email to

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