mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
xen: convert "-machine igd-passthru" to an accelerator property
The first machine property to fall is Xen's Intel integrated graphics passthrough. The "-machine igd-passthru" option does not set anymore a property on the machine object, but desugars to a GlobalProperty on accelerator objects. The setter is very simple, since the value ends up in a global variable, so this patch also provides an example before the more complicated cases that follow it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
fe17413247
commit
46472d8232
6 changed files with 28 additions and 34 deletions
|
@ -11,7 +11,9 @@
|
|||
#include "qemu/osdep.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "qemu/module.h"
|
||||
#include "qapi/error.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "hw/xen/xen_pt.h"
|
||||
#include "chardev/char.h"
|
||||
#include "sysemu/accel.h"
|
||||
#include "sysemu/runstate.h"
|
||||
|
@ -124,6 +126,16 @@ static void xen_change_state_handler(void *opaque, int running,
|
|||
}
|
||||
}
|
||||
|
||||
static bool xen_get_igd_gfx_passthru(Object *obj, Error **errp)
|
||||
{
|
||||
return has_igd_gfx_passthru;
|
||||
}
|
||||
|
||||
static void xen_set_igd_gfx_passthru(Object *obj, bool value, Error **errp)
|
||||
{
|
||||
has_igd_gfx_passthru = value;
|
||||
}
|
||||
|
||||
static void xen_setup_post(MachineState *ms, AccelState *accel)
|
||||
{
|
||||
int rc;
|
||||
|
@ -177,6 +189,12 @@ static void xen_accel_class_init(ObjectClass *oc, void *data)
|
|||
ac->compat_props = g_ptr_array_new();
|
||||
|
||||
compat_props_add(ac->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
|
||||
object_class_property_add_bool(oc, "igd-passthru",
|
||||
xen_get_igd_gfx_passthru, xen_set_igd_gfx_passthru,
|
||||
&error_abort);
|
||||
object_class_property_set_description(oc, "igd-passthru",
|
||||
"Set on/off to enable/disable igd passthrou", &error_abort);
|
||||
}
|
||||
|
||||
#define TYPE_XEN_ACCEL ACCEL_CLASS_NAME("xen")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue