Skip to content

Commit

Permalink
machine: Add machine_register_compat_props() function
Browse files Browse the repository at this point in the history
Move the compat_props handling to core machine code.

Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
  • Loading branch information
ehabkost committed Jul 7, 2016
1 parent 77280ad commit 39a3b37
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 7 deletions.
16 changes: 16 additions & 0 deletions hw/core/machine.c
Expand Up @@ -560,6 +560,22 @@ static void machine_class_finalize(ObjectClass *klass, void *data)
}
}

void machine_register_compat_props(MachineState *machine)
{
MachineClass *mc = MACHINE_GET_CLASS(machine);
int i;
GlobalProperty *p;

if (!mc->compat_props) {
return;
}

for (i = 0; i < mc->compat_props->len; i++) {
p = g_array_index(mc->compat_props, GlobalProperty *, i);
qdev_prop_register_global(p);
}
}

static const TypeInfo machine_info = {
.name = TYPE_MACHINE,
.parent = TYPE_OBJECT,
Expand Down
1 change: 1 addition & 0 deletions include/hw/boards.h
Expand Up @@ -40,6 +40,7 @@ int machine_kvm_shadow_mem(MachineState *machine);
int machine_phandle_start(MachineState *machine);
bool machine_dump_guest_core(MachineState *machine);
bool machine_mem_merge(MachineState *machine);
void machine_register_compat_props(MachineState *machine);

/**
* CPUArchId:
Expand Down
9 changes: 2 additions & 7 deletions vl.c
Expand Up @@ -4448,13 +4448,8 @@ int main(int argc, char **argv, char **envp)
exit (i == 1 ? 1 : 0);
}

if (machine_class->compat_props) {
GlobalProperty *p;
for (i = 0; i < machine_class->compat_props->len; i++) {
p = g_array_index(machine_class->compat_props, GlobalProperty *, i);
qdev_prop_register_global(p);
}
}
machine_register_compat_props(current_machine);

qemu_opts_foreach(qemu_find_opts("global"),
global_init_func, NULL, NULL);

Expand Down

0 comments on commit 39a3b37

Please sign in to comment.