[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/9] accel: register global_props like machine globals
On Wed, 12 Sep 2018 16:55:24 +0400 Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> wrote: > global_props is only used for Xen xen_compat_props. It's a static minor nit: should be AccelClass::global_props > array of GlobalProperty, like machine globals in SET_MACHINE_COMPAT(). > Let's register the globals the same way, without extra copy allocation. > > Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> otherwise looks good to me, CCing xen folks since it concerns them. Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx> > --- > include/hw/qdev-properties.h | 29 ----------------------------- > accel/accel.c | 9 ++++++++- > hw/core/qdev-properties.c | 21 --------------------- > 3 files changed, 8 insertions(+), 51 deletions(-) > > diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h > index 4f60cc88f3..a95f4a73eb 100644 > --- a/include/hw/qdev-properties.h > +++ b/include/hw/qdev-properties.h > @@ -255,35 +255,6 @@ void qdev_prop_set_globals(DeviceState *dev); > 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); > -/* > - * register_compat_props_array(): using register_compat_prop(), which > - * only registers internal global properties (which has lower priority > - * than user-provided global properties) > - */ > -void register_compat_props_array(GlobalProperty *prop); > - > /** > * qdev_property_add_static: > * @dev: Device to add the property to. > diff --git a/accel/accel.c b/accel/accel.c > index 966b2d8f53..3da26eb90f 100644 > --- a/accel/accel.c > +++ b/accel/accel.c > @@ -34,6 +34,7 @@ > #include "qom/object.h" > #include "qemu/error-report.h" > #include "qemu/option.h" > +#include "qapi/error.h" > > static const TypeInfo accel_type = { > .name = TYPE_ACCEL, > @@ -121,7 +122,13 @@ void configure_accelerator(MachineState *ms) > void accel_register_compat_props(AccelState *accel) > { > AccelClass *class = ACCEL_GET_CLASS(accel); > - register_compat_props_array(class->global_props); > + GlobalProperty *prop = class->global_props; > + > + for (; prop && prop->driver; prop++) { > + /* Any compat_props must never cause error */ > + prop->errp = &error_abort; > + qdev_prop_register_global(prop); > + } > } > > void accel_setup_post(MachineState *ms) > diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c > index 35072dec1e..ab61d502fd 100644 > --- a/hw/core/qdev-properties.c > +++ b/hw/core/qdev-properties.c > @@ -1180,27 +1180,6 @@ void qdev_prop_register_global(GlobalProperty *prop) > global_props = g_list_append(global_props, prop); > } > > -void register_compat_prop(const char *driver, > - const char *property, > - const char *value) > -{ > - GlobalProperty *p = g_new0(GlobalProperty, 1); > - > - /* Any compat_props must never cause error */ > - p->errp = &error_abort; > - p->driver = driver; > - p->property = property; > - p->value = value; > - qdev_prop_register_global(p); > -} > - > -void register_compat_props_array(GlobalProperty *prop) > -{ > - for (; prop && prop->driver; prop++) { > - register_compat_prop(prop->driver, prop->property, prop->value); > - } > -} > - > void qdev_prop_register_global_list(GlobalProperty *props) > { > int i; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |