[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v2 31/34] arm: boot: Don't assume all CPUs are ARM
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] [RFC v2 31/34] arm: boot: Don't assume all CPUs are ARM |
Date: |
Sat, 30 May 2015 23:12:04 -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 fa69503..4e4034d 100644
--- a/hw/arm/boot.c
+++ b/hw/arm/boot.c
@@ -575,7 +575,9 @@ 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));
+ }
}
/* Load the kernel. */
@@ -772,6 +774,8 @@ void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info
*info)
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;
+ }
}
}
--
1.9.1
- [Qemu-devel] [RFC v2 22/34] microblaze: enable multi-arch, (continued)
- [Qemu-devel] [RFC v2 22/34] microblaze: enable multi-arch, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 23/34] arm: cpu: static inline cpu_arm_init, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 21/34] core: virtualise CPU interfaces completely, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 24/34] target-arm: Split cp helper API to new C file, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 26/34] core: Introduce multi-arch build, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 25/34] arm: enable multi-arch, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 27/34] hw: arm: Explicitly include cpu.h for consumers, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 28/34] arm: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 29/34] hw: mb: Explicitly include cpu.h for consumers, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 30/34] mb: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 31/34] arm: boot: Don't assume all CPUs are ARM,
Peter Crosthwaite <=
- [Qemu-devel] [RFC v2 32/34] arm: xilinx_zynq: Add a Microblaze, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 33/34] HACK: mb: boot: Assume using -firmware for mb software, Peter Crosthwaite, 2015/05/31
- [Qemu-devel] [RFC v2 34/34] HACK: mb: boot: Disable dtb load in multi-arch, Peter Crosthwaite, 2015/05/31