vga: add default display to machine class
This allows machine classes to specify which display device they want as default. If unspecified the current behavior (try cirrus, failing that try stdvga, failing that use no display) will be used. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
d3f16ec887
commit
6f00494abe
@ -1526,6 +1526,7 @@ static void pc_generic_machine_class_init(ObjectClass *oc, void *data)
|
|||||||
mc->is_default = qm->is_default;
|
mc->is_default = qm->is_default;
|
||||||
mc->default_machine_opts = qm->default_machine_opts;
|
mc->default_machine_opts = qm->default_machine_opts;
|
||||||
mc->default_boot_order = qm->default_boot_order;
|
mc->default_boot_order = qm->default_boot_order;
|
||||||
|
mc->default_display = qm->default_display;
|
||||||
mc->compat_props = qm->compat_props;
|
mc->compat_props = qm->compat_props;
|
||||||
mc->hw_version = qm->hw_version;
|
mc->hw_version = qm->hw_version;
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,7 @@ struct QEMUMachine {
|
|||||||
int is_default;
|
int is_default;
|
||||||
const char *default_machine_opts;
|
const char *default_machine_opts;
|
||||||
const char *default_boot_order;
|
const char *default_boot_order;
|
||||||
|
const char *default_display;
|
||||||
GlobalProperty *compat_props;
|
GlobalProperty *compat_props;
|
||||||
const char *hw_version;
|
const char *hw_version;
|
||||||
};
|
};
|
||||||
@ -100,6 +101,7 @@ struct MachineClass {
|
|||||||
int is_default;
|
int is_default;
|
||||||
const char *default_machine_opts;
|
const char *default_machine_opts;
|
||||||
const char *default_boot_order;
|
const char *default_boot_order;
|
||||||
|
const char *default_display;
|
||||||
GlobalProperty *compat_props;
|
GlobalProperty *compat_props;
|
||||||
const char *hw_version;
|
const char *hw_version;
|
||||||
|
|
||||||
|
5
vl.c
5
vl.c
@ -1444,6 +1444,7 @@ static void machine_class_init(ObjectClass *oc, void *data)
|
|||||||
mc->is_default = qm->is_default;
|
mc->is_default = qm->is_default;
|
||||||
mc->default_machine_opts = qm->default_machine_opts;
|
mc->default_machine_opts = qm->default_machine_opts;
|
||||||
mc->default_boot_order = qm->default_boot_order;
|
mc->default_boot_order = qm->default_boot_order;
|
||||||
|
mc->default_display = qm->default_display;
|
||||||
mc->compat_props = qm->compat_props;
|
mc->compat_props = qm->compat_props;
|
||||||
mc->hw_version = qm->hw_version;
|
mc->hw_version = qm->hw_version;
|
||||||
}
|
}
|
||||||
@ -4223,7 +4224,9 @@ int main(int argc, char **argv, char **envp)
|
|||||||
|
|
||||||
/* If no default VGA is requested, the default is "none". */
|
/* If no default VGA is requested, the default is "none". */
|
||||||
if (default_vga) {
|
if (default_vga) {
|
||||||
if (cirrus_vga_available()) {
|
if (machine_class->default_display) {
|
||||||
|
vga_model = machine_class->default_display;
|
||||||
|
} else if (cirrus_vga_available()) {
|
||||||
vga_model = "cirrus";
|
vga_model = "cirrus";
|
||||||
} else if (vga_available()) {
|
} else if (vga_available()) {
|
||||||
vga_model = "std";
|
vga_model = "std";
|
||||||
|
Loading…
Reference in New Issue
Block a user