Commit 0427b625 authored by Markus Armbruster's avatar Markus Armbruster
Browse files

vl: Document dependencies hiding in global and compat props



Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Message-Id: <20190401090827.20793-5-armbru@redhat.com>
Reviewed-by: default avatarIgor Mammedov <imammedo@redhat.com>
parent daff7f0b
Loading
Loading
Loading
Loading
+22 −2
Original line number Diff line number Diff line
@@ -4286,16 +4286,36 @@ int main(int argc, char **argv, char **envp)
    current_machine->maxram_size = maxram_size;
    current_machine->ram_slots = ram_slots;

    /*
     * Note: uses machine properties such as kernel-irqchip, must run
     * after machine_set_property().
     */
    configure_accelerator(current_machine, argv[0]);

    /*
     * Beware, QOM objects created before this point miss global and
     * compat properties.
     *
     * Global properties get set up by qdev_prop_register_global(),
     * called from user_register_global_props(), and certain option
     * desugaring.  Also in CPU feature desugaring (buried in
     * parse_cpu_model()), which happens below this point, but may
     * only target the CPU type, which can only be created after
     * parse_cpu_model() returned the type.
     *
     * Machine compat properties: object_set_machine_compat_props().
     * Accelerator compat props: object_set_accelerator_compat_props(),
     * called from configure_accelerator().
     */

    if (!qtest_enabled() && machine_class->deprecation_reason) {
        error_report("Machine type '%s' is deprecated: %s",
                     machine_class->name, machine_class->deprecation_reason);
    }

    /*
     * Migration object can only be created after global properties
     * are applied correctly.
     * Note: creates a QOM object, must run only after global and
     * compat properties have been set up.
     */
    migration_object_init();