summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPeter Xu2017-06-27 06:10:10 +0200
committerJuan Quintela2017-06-28 11:18:38 +0200
commit60d7cacac8f08d7832b9b4081f32b8e953867b55 (patch)
treeb1a0419078bf5af1c093c892181d638da343d51b /include
parentMerge remote-tracking branch 'remotes/edgar/tags/edgar/mmio-exec-v2.for-upstr... (diff)
downloadqemu-60d7cacac8f08d7832b9b4081f32b8e953867b55.tar.gz
qemu-60d7cacac8f08d7832b9b4081f32b8e953867b55.tar.xz
qemu-60d7cacac8f08d7832b9b4081f32b8e953867b55.zip
machine: export register_compat_prop()
We have HW_COMPAT_*, however that's only bound to machines, not other things (like accelerators). Behind it, it was register_compat_prop() that played the trick. Let's export the function for further use outside HW_COMPAT_* magic. Meanwhile, move it to qdev-properties.c where seems more proper (since it'll be used not only in machine codes). Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <1498536619-14548-2-git-send-email-peterx@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/hw/qdev-properties.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h
index 39bf4b292e..50ade839b7 100644
--- a/include/hw/qdev-properties.h
+++ b/include/hw/qdev-properties.h
@@ -210,6 +210,29 @@ void error_set_from_qdev_prop_error(Error **errp, int ret, DeviceState *dev,
Property *prop, const char *value);
/**
+ * register_compat_prop:
+ *
+ * Register internal (not user-provided) global property, changing the
+ * default value of a given property in a device type. This can be used
+ * for enabling machine-type compatibility or for enabling
+ * accelerator-specific defaults in devices.
+ *
+ * The property values set using this function must be always valid and
+ * never report setter errors, as the property will have
+ * GlobalProperty::errp set to &error_abort.
+ *
+ * User-provided global properties should override internal global
+ * properties, so callers of this function should ensure that it is
+ * called before user-provided global properties are registered.
+ *
+ * @driver: Device type to be affected
+ * @property: Property whose default value is going to be changed
+ * @value: New default value for the property
+ */
+void register_compat_prop(const char *driver, const char *property,
+ const char *value);
+
+/**
* qdev_property_add_static:
* @dev: Device to add the property to.
* @prop: The qdev property definition.