qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v3 32/35] arm: boot: Don't assume all CPUs are ARM


From: Peter Crosthwaite
Subject: [Qemu-devel] [PATCH v3 32/35] arm: boot: Don't assume all CPUs are ARM
Date: Sat, 18 Jul 2015 02:40:42 -0700

From: Peter Crosthwaite <address@hidden>

Multi-arch platforms may wish to use the ARM bootloader. Don't assert
that all CPUs in the CPU list are ARM.

Signed-off-by: Peter Crosthwaite <address@hidden>
---
 hw/arm/boot.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/hw/arm/boot.c b/hw/arm/boot.c
index 5b969cd..854333d 100644
--- a/hw/arm/boot.c
+++ b/hw/arm/boot.c
@@ -782,7 +782,9 @@ static void arm_load_kernel_notify(Notifier *notifier, void 
*data)
     info->is_linux = is_linux;
 
     for (cs = CPU(cpu); cs; cs = CPU_NEXT(cs)) {
-        ARM_CPU(cs)->env.boot_info = info;
+        if (object_dynamic_cast(OBJECT(cs), TYPE_ARM_CPU)) {
+            ARM_CPU(cs)->env.boot_info = info;
+        }
     }
 }
 
@@ -800,6 +802,8 @@ void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info 
*info)
      * arranging that we start it correctly.
      */
     for (cs = CPU(cpu); cs; cs = CPU_NEXT(cs)) {
-        qemu_register_reset(do_cpu_reset, ARM_CPU(cs));
+        if (object_dynamic_cast(OBJECT(cs), TYPE_ARM_CPU)) {
+            qemu_register_reset(do_cpu_reset, ARM_CPU(cs));
+        }
     }
 }
-- 
1.9.1




reply via email to

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