mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
qdev/compat: compat property infrastructure.
This add support for switching devices into a compatibility mode using device properties. Machine types can have a list of properties for specific devices attached to allow the easy creation of machine types compatible to older qemu versions. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
81ebb98b24
commit
b6b6114460
5 changed files with 41 additions and 0 deletions
|
@ -244,3 +244,26 @@ void qdev_prop_set_defaults(DeviceState *dev, Property *props)
|
|||
}
|
||||
}
|
||||
|
||||
static CompatProperty *compat_props;
|
||||
|
||||
void qdev_prop_register_compat(CompatProperty *props)
|
||||
{
|
||||
compat_props = props;
|
||||
}
|
||||
|
||||
void qdev_prop_set_compat(DeviceState *dev)
|
||||
{
|
||||
CompatProperty *prop;
|
||||
|
||||
if (!compat_props) {
|
||||
return;
|
||||
}
|
||||
for (prop = compat_props; prop->driver != NULL; prop++) {
|
||||
if (strcmp(dev->info->name, prop->driver) != 0) {
|
||||
continue;
|
||||
}
|
||||
if (qdev_prop_parse(dev, prop->property, prop->value) != 0) {
|
||||
abort();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue