hw/arm/virt: Check that the CPU realize method succeeded

We were passing a NULL error pointer to the object_property_set_bool()
call that realizes the CPU object. This meant that we wouldn't detect
failure, and would plough blindly on to crash later trying to use a
NULL CPU object pointer. Detect errors and fail instead.

In particular, this will be necessary to detect the user error
of using "-cpu host" without "-enable-kvm" once we make the host
CPU type be registered unconditionally rather than only in
kvm_arch_init().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2018-01-25 11:45:30 +00:00
parent 421a3c224e
commit c88bc3e0db

View File

@ -1404,7 +1404,7 @@ static void machvirt_init(MachineState *machine)
"secure-memory", &error_abort); "secure-memory", &error_abort);
} }
object_property_set_bool(cpuobj, true, "realized", NULL); object_property_set_bool(cpuobj, true, "realized", &error_fatal);
object_unref(cpuobj); object_unref(cpuobj);
} }
fdt_add_timer_nodes(vms); fdt_add_timer_nodes(vms);