Lines Matching full:prop
11 #include "qdev-prop-internal.h"
54 void *object_field_prop_ptr(Object *obj, const Property *prop) in object_field_prop_ptr() argument
57 ptr += prop->offset; in object_field_prop_ptr()
64 const Property *prop = opaque; in field_prop_get() local
65 return prop->info->get(obj, v, name, opaque, errp); in field_prop_get()
81 const Property *prop = opaque; in field_prop_set() local
83 if (!qdev_prop_allow_set(obj, name, prop->info, errp)) { in field_prop_set()
87 return prop->info->set(obj, v, name, opaque, errp); in field_prop_set()
103 const Property *prop = opaque; in qdev_propinfo_get_enum() local
104 int *ptr = object_field_prop_ptr(obj, prop); in qdev_propinfo_get_enum()
106 visit_type_enum(v, name, ptr, prop->info->enum_table, errp); in qdev_propinfo_get_enum()
112 const Property *prop = opaque; in qdev_propinfo_set_enum() local
113 int *ptr = object_field_prop_ptr(obj, prop); in qdev_propinfo_set_enum()
115 visit_type_enum(v, name, ptr, prop->info->enum_table, errp); in qdev_propinfo_set_enum()
119 const Property *prop) in qdev_propinfo_set_default_value_enum() argument
122 qapi_enum_lookup(prop->info->enum_table, prop->defval.i)); in qdev_propinfo_set_default_value_enum()
127 static uint32_t qdev_get_prop_mask(const Property *prop) in qdev_get_prop_mask() argument
129 assert(prop->info == &qdev_prop_bit); in qdev_get_prop_mask()
130 return 0x1 << prop->bitnr; in qdev_get_prop_mask()
147 const Property *prop = opaque; in prop_get_bit() local
148 uint32_t *p = object_field_prop_ptr(obj, prop); in prop_get_bit()
149 bool value = (*p & qdev_get_prop_mask(prop)) != 0; in prop_get_bit()
157 const Property *prop = opaque; in prop_set_bit() local
163 bit_prop_set(obj, prop, value); in prop_set_bit()
166 static void set_default_value_bool(ObjectProperty *op, const Property *prop) in set_default_value_bool() argument
168 object_property_set_default_bool(op, prop->defval.u); in set_default_value_bool()
181 static uint64_t qdev_get_prop_mask64(const Property *prop) in qdev_get_prop_mask64() argument
183 assert(prop->info == &qdev_prop_bit64); in qdev_get_prop_mask64()
184 return 0x1ull << prop->bitnr; in qdev_get_prop_mask64()
201 const Property *prop = opaque; in prop_get_bit64() local
202 uint64_t *p = object_field_prop_ptr(obj, prop); in prop_get_bit64()
203 bool value = (*p & qdev_get_prop_mask64(prop)) != 0; in prop_get_bit64()
211 const Property *prop = opaque; in prop_set_bit64() local
217 bit64_prop_set(obj, prop, value); in prop_set_bit64()
233 const Property *prop = opaque; in get_bool() local
234 bool *ptr = object_field_prop_ptr(obj, prop); in get_bool()
242 const Property *prop = opaque; in set_bool() local
243 bool *ptr = object_field_prop_ptr(obj, prop); in set_bool()
261 const Property *prop = opaque; in get_uint8() local
262 uint8_t *ptr = object_field_prop_ptr(obj, prop); in get_uint8()
270 const Property *prop = opaque; in set_uint8() local
271 uint8_t *ptr = object_field_prop_ptr(obj, prop); in set_uint8()
277 const Property *prop) in qdev_propinfo_set_default_value_int() argument
279 object_property_set_default_int(op, prop->defval.i); in qdev_propinfo_set_default_value_int()
283 const Property *prop) in qdev_propinfo_set_default_value_uint() argument
285 object_property_set_default_uint(op, prop->defval.u); in qdev_propinfo_set_default_value_uint()
300 const Property *prop = opaque; in get_uint16() local
301 uint16_t *ptr = object_field_prop_ptr(obj, prop); in get_uint16()
309 const Property *prop = opaque; in set_uint16() local
310 uint16_t *ptr = object_field_prop_ptr(obj, prop); in set_uint16()
327 const Property *prop = opaque; in get_uint32() local
328 uint32_t *ptr = object_field_prop_ptr(obj, prop); in get_uint32()
336 const Property *prop = opaque; in set_uint32() local
337 uint32_t *ptr = object_field_prop_ptr(obj, prop); in set_uint32()
345 const Property *prop = opaque; in qdev_propinfo_get_int32() local
346 int32_t *ptr = object_field_prop_ptr(obj, prop); in qdev_propinfo_get_int32()
354 const Property *prop = opaque; in set_int32() local
355 int32_t *ptr = object_field_prop_ptr(obj, prop); in set_int32()
379 const Property *prop = opaque; in get_uint64() local
380 uint64_t *ptr = object_field_prop_ptr(obj, prop); in get_uint64()
388 const Property *prop = opaque; in set_uint64() local
389 uint64_t *ptr = object_field_prop_ptr(obj, prop); in set_uint64()
397 const Property *prop = opaque; in get_int64() local
398 int64_t *ptr = object_field_prop_ptr(obj, prop); in get_int64()
406 const Property *prop = opaque; in set_int64() local
407 int64_t *ptr = object_field_prop_ptr(obj, prop); in set_int64()
429 const Property *prop = opaque; in set_uint64_checkmask() local
430 uint64_t *ptr = object_field_prop_ptr(obj, prop); in set_uint64_checkmask()
433 if (*ptr & ~prop->bitmask) { in set_uint64_checkmask()
435 name, prop->bitmask); in set_uint64_checkmask()
450 const Property *prop = opaque; in get_usize() local
453 uint32_t *ptr = object_field_prop_ptr(obj, prop); in get_usize()
456 uint64_t *ptr = object_field_prop_ptr(obj, prop); in get_usize()
464 const Property *prop = opaque; in set_usize() local
467 uint32_t *ptr = object_field_prop_ptr(obj, prop); in set_usize()
470 uint64_t *ptr = object_field_prop_ptr(obj, prop); in set_usize()
486 const Property *prop = opaque; in release_string() local
487 g_free(*(char **)object_field_prop_ptr(obj, prop)); in release_string()
493 const Property *prop = opaque; in get_string() local
494 char **ptr = object_field_prop_ptr(obj, prop); in get_string()
507 const Property *prop = opaque; in set_string() local
508 char **ptr = object_field_prop_ptr(obj, prop); in set_string()
541 const Property *prop = opaque; in qdev_propinfo_get_size32() local
542 uint32_t *ptr = object_field_prop_ptr(obj, prop); in qdev_propinfo_get_size32()
551 const Property *prop = opaque; in set_size32() local
552 uint32_t *ptr = object_field_prop_ptr(obj, prop); in set_size32()
616 const Property *prop = opaque; in release_prop_array() local
617 uint32_t *alenptr = object_field_prop_ptr(obj, prop); in release_prop_array()
618 void **arrayptr = (void *)obj + prop->arrayoffset; in release_prop_array()
622 if (!prop->arrayinfo->release) { in release_prop_array()
627 Property elem_prop = array_elem_prop(obj, prop, name, elem); in release_prop_array()
628 prop->arrayinfo->release(obj, NULL, &elem_prop); in release_prop_array()
629 elem += prop->arrayfieldsize; in release_prop_array()
637 * prop->arrayoffset).
643 const Property *prop = opaque; in set_prop_array() local
644 uint32_t *alenptr = object_field_prop_ptr(obj, prop); in set_prop_array()
645 void **arrayptr = (void *)obj + prop->arrayoffset; in set_prop_array()
666 elem->value = g_malloc0(prop->arrayfieldsize); in set_prop_array()
667 elem_prop = array_elem_prop(obj, prop, name, elem->value); in set_prop_array()
668 prop->arrayinfo->set(obj, v, NULL, &elem_prop, errp); in set_prop_array()
688 Property elem_prop = array_elem_prop(obj, prop, name, in set_prop_array()
690 if (prop->arrayinfo->release) { in set_prop_array()
691 prop->arrayinfo->release(obj, NULL, &elem_prop); in set_prop_array()
704 *arrayptr = g_malloc_n(*alenptr, prop->arrayfieldsize); in set_prop_array()
707 memcpy(elemptr, elem->value, prop->arrayfieldsize); in set_prop_array()
708 elemptr += prop->arrayfieldsize; in set_prop_array()
719 const Property *prop = opaque; in get_prop_array() local
720 uint32_t *alenptr = object_field_prop_ptr(obj, prop); in get_prop_array()
721 void **arrayptr = (void *)obj + prop->arrayoffset; in get_prop_array()
733 elemptr += prop->arrayfieldsize; in get_prop_array()
745 Property elem_prop = array_elem_prop(obj, prop, name, elem->value); in get_prop_array()
746 prop->arrayinfo->get(obj, v, NULL, &elem_prop, errp); in get_prop_array()
768 static void default_prop_array(ObjectProperty *op, const Property *prop) in default_prop_array() argument
786 const Property *prop = &cls->props_[i]; in qdev_prop_walk() local
787 if (strcmp(prop->name, name) == 0) { in qdev_prop_walk()
788 return prop; in qdev_prop_walk()
797 const Property *prop; in qdev_prop_find() local
802 prop = qdev_prop_walk(DEVICE_CLASS(class), name); in qdev_prop_find()
803 if (prop) { in qdev_prop_find()
804 return prop; in qdev_prop_find()
871 const Property *prop; in qdev_prop_set_enum() local
873 prop = qdev_prop_find(dev, name); in qdev_prop_set_enum()
875 qapi_enum_lookup(prop->info->enum_table, value), in qdev_prop_set_enum()
897 void qdev_prop_register_global(GlobalProperty *prop) in qdev_prop_register_global() argument
899 g_ptr_array_add(global_props(), prop); in qdev_prop_register_global()
924 GlobalProperty *prop; in qdev_prop_check_globals() local
928 prop = g_ptr_array_index(global_props(), i); in qdev_prop_check_globals()
929 if (prop->used) { in qdev_prop_check_globals()
932 oc = object_class_by_name(prop->driver); in qdev_prop_check_globals()
936 prop->driver, prop->property); in qdev_prop_check_globals()
941 if (!dc->hotpluggable && !prop->used) { in qdev_prop_check_globals()
943 prop->driver, prop->property, prop->value); in qdev_prop_check_globals()
962 const Property *prop = opaque; in get_size() local
963 uint64_t *ptr = object_field_prop_ptr(obj, prop); in get_size()
971 const Property *prop = opaque; in set_size() local
972 uint64_t *ptr = object_field_prop_ptr(obj, prop); in set_size()
987 const Property *prop) in create_link_property() argument
989 return object_class_property_add_link(oc, name, prop->link_type, in create_link_property()
990 prop->offset, in create_link_property()
1000 void qdev_property_add_static(DeviceState *dev, const Property *prop) in qdev_property_add_static() argument
1005 assert(!prop->info->create); in qdev_property_add_static()
1007 op = object_property_add(obj, prop->name, prop->info->type, in qdev_property_add_static()
1008 field_prop_getter(prop->info), in qdev_property_add_static()
1009 field_prop_setter(prop->info), in qdev_property_add_static()
1010 prop->info->release, in qdev_property_add_static()
1011 (Property *)prop); in qdev_property_add_static()
1013 object_property_set_description(obj, prop->name, in qdev_property_add_static()
1014 prop->info->description); in qdev_property_add_static()
1016 if (prop->set_default) { in qdev_property_add_static()
1017 prop->info->set_default_value(op, prop); in qdev_property_add_static()
1025 const Property *prop) in qdev_class_add_property() argument
1030 if (prop->info->create) { in qdev_class_add_property()
1031 op = prop->info->create(oc, name, prop); in qdev_class_add_property()
1034 name, prop->info->type, in qdev_class_add_property()
1035 field_prop_getter(prop->info), in qdev_class_add_property()
1036 field_prop_setter(prop->info), in qdev_class_add_property()
1037 prop->info->release, in qdev_class_add_property()
1038 (Property *)prop); in qdev_class_add_property()
1040 if (prop->set_default) { in qdev_class_add_property()
1041 prop->info->set_default_value(op, prop); in qdev_class_add_property()
1043 object_class_property_set_description(oc, name, prop->info->description); in qdev_class_add_property()
1054 const Property *prop = opaque; in qdev_get_legacy_property() local
1059 prop->info->print(obj, prop, buffer, sizeof(buffer)); in qdev_get_legacy_property()
1066 * @prop: The qdev property definition.
1068 * Add a legacy QOM property to @dev for qdev property @prop.
1077 static void qdev_class_add_legacy_property(DeviceClass *dc, const Property *prop) in qdev_class_add_legacy_property() argument
1082 if (!prop->info->print && prop->info->get) { in qdev_class_add_legacy_property()
1086 name = g_strdup_printf("legacy-%s", prop->name); in qdev_class_add_legacy_property()
1088 prop->info->print ? qdev_get_legacy_property : prop->info->get, in qdev_class_add_legacy_property()
1089 NULL, NULL, (Property *)prop); in qdev_class_add_legacy_property()
1102 const Property *prop = &props[i]; in device_class_set_props_n() local
1103 assert(prop->name); in device_class_set_props_n()
1104 qdev_class_add_legacy_property(dc, prop); in device_class_set_props_n()
1105 qdev_class_add_property(dc, prop->name, prop); in device_class_set_props_n()
1113 ObjectProperty *prop; in qdev_alias_all_properties() local
1118 while ((prop = object_property_iter_next(&iter))) { in qdev_alias_all_properties()
1119 if (object_property_find(source, prop->name)) { in qdev_alias_all_properties()
1123 object_property_add_alias(source, prop->name, in qdev_alias_all_properties()
1124 OBJECT(target), prop->name); in qdev_alias_all_properties()