hw/nvram/spapr_nvram: Device can not be created by the users
Trying to add a spapr-nvram device currently aborts QEMU like this: $ ppc64-softmmu/qemu-system-ppc64 -device spapr-nvram qemu-system-ppc64: hw/ppc/spapr_rtas.c:407: spapr_rtas_register: Assertion `!rtas_table[token].name' failed. Aborted (core dumped) This NVRAM device registers RTAS calls during its realize function and thus can only be used once - and that's internally from spapr.c. So let's mark the device with user_creatable = false to avoid that the users can crash their QEMU this way. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
2363d5ee23
commit
280503ee9d
@ -264,6 +264,8 @@ static void spapr_nvram_class_init(ObjectClass *klass, void *data)
|
|||||||
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
|
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
|
||||||
dc->props = spapr_nvram_properties;
|
dc->props = spapr_nvram_properties;
|
||||||
dc->vmsd = &vmstate_spapr_nvram;
|
dc->vmsd = &vmstate_spapr_nvram;
|
||||||
|
/* Reason: Internal device only, uses spapr_rtas_register() in realize() */
|
||||||
|
dc->user_creatable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo spapr_nvram_type_info = {
|
static const TypeInfo spapr_nvram_type_info = {
|
||||||
|
Loading…
Reference in New Issue
Block a user