|
@@ -61,7 +61,7 @@ void *object_field_prop_ptr(Object *obj, const Property *prop)
|
|
|
static void field_prop_get(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
return prop->info->get(obj, v, name, opaque, errp);
|
|
|
}
|
|
|
|
|
@@ -78,7 +78,7 @@ static ObjectPropertyAccessor *field_prop_getter(const PropertyInfo *info)
|
|
|
static void field_prop_set(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
|
|
|
if (!qdev_prop_allow_set(obj, name, prop->info, errp)) {
|
|
|
return;
|
|
@@ -100,7 +100,7 @@ static ObjectPropertyAccessor *field_prop_setter(const PropertyInfo *info)
|
|
|
void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
int *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_enum(v, name, ptr, prop->info->enum_table, errp);
|
|
@@ -109,7 +109,7 @@ void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
|
|
|
void qdev_propinfo_set_enum(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
int *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_enum(v, name, ptr, prop->info->enum_table, errp);
|
|
@@ -131,13 +131,13 @@ const PropertyInfo qdev_prop_enum = {
|
|
|
|
|
|
/* Bit */
|
|
|
|
|
|
-static uint32_t qdev_get_prop_mask(Property *prop)
|
|
|
+static uint32_t qdev_get_prop_mask(const Property *prop)
|
|
|
{
|
|
|
assert(prop->info == &qdev_prop_bit);
|
|
|
return 0x1 << prop->bitnr;
|
|
|
}
|
|
|
|
|
|
-static void bit_prop_set(Object *obj, Property *props, bool val)
|
|
|
+static void bit_prop_set(Object *obj, const Property *props, bool val)
|
|
|
{
|
|
|
uint32_t *p = object_field_prop_ptr(obj, props);
|
|
|
uint32_t mask = qdev_get_prop_mask(props);
|
|
@@ -151,7 +151,7 @@ static void bit_prop_set(Object *obj, Property *props, bool val)
|
|
|
static void prop_get_bit(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint32_t *p = object_field_prop_ptr(obj, prop);
|
|
|
bool value = (*p & qdev_get_prop_mask(prop)) != 0;
|
|
|
|
|
@@ -161,7 +161,7 @@ static void prop_get_bit(Object *obj, Visitor *v, const char *name,
|
|
|
static void prop_set_bit(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
bool value;
|
|
|
|
|
|
if (!visit_type_bool(v, name, &value, errp)) {
|
|
@@ -185,13 +185,13 @@ const PropertyInfo qdev_prop_bit = {
|
|
|
|
|
|
/* Bit64 */
|
|
|
|
|
|
-static uint64_t qdev_get_prop_mask64(Property *prop)
|
|
|
+static uint64_t qdev_get_prop_mask64(const Property *prop)
|
|
|
{
|
|
|
assert(prop->info == &qdev_prop_bit64);
|
|
|
return 0x1ull << prop->bitnr;
|
|
|
}
|
|
|
|
|
|
-static void bit64_prop_set(Object *obj, Property *props, bool val)
|
|
|
+static void bit64_prop_set(Object *obj, const Property *props, bool val)
|
|
|
{
|
|
|
uint64_t *p = object_field_prop_ptr(obj, props);
|
|
|
uint64_t mask = qdev_get_prop_mask64(props);
|
|
@@ -205,7 +205,7 @@ static void bit64_prop_set(Object *obj, Property *props, bool val)
|
|
|
static void prop_get_bit64(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint64_t *p = object_field_prop_ptr(obj, prop);
|
|
|
bool value = (*p & qdev_get_prop_mask64(prop)) != 0;
|
|
|
|
|
@@ -215,7 +215,7 @@ static void prop_get_bit64(Object *obj, Visitor *v, const char *name,
|
|
|
static void prop_set_bit64(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
bool value;
|
|
|
|
|
|
if (!visit_type_bool(v, name, &value, errp)) {
|
|
@@ -237,7 +237,7 @@ const PropertyInfo qdev_prop_bit64 = {
|
|
|
static void get_bool(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
bool *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_bool(v, name, ptr, errp);
|
|
@@ -246,7 +246,7 @@ static void get_bool(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
static void set_bool(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
bool *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_bool(v, name, ptr, errp);
|
|
@@ -264,7 +264,7 @@ const PropertyInfo qdev_prop_bool = {
|
|
|
static void get_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint8_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint8(v, name, ptr, errp);
|
|
@@ -273,7 +273,7 @@ static void get_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
static void set_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint8_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint8(v, name, ptr, errp);
|
|
@@ -303,7 +303,7 @@ const PropertyInfo qdev_prop_uint8 = {
|
|
|
static void get_uint16(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint16_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint16(v, name, ptr, errp);
|
|
@@ -312,7 +312,7 @@ static void get_uint16(Object *obj, Visitor *v, const char *name,
|
|
|
static void set_uint16(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint16_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint16(v, name, ptr, errp);
|
|
@@ -330,7 +330,7 @@ const PropertyInfo qdev_prop_uint16 = {
|
|
|
static void get_uint32(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint32_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint32(v, name, ptr, errp);
|
|
@@ -339,7 +339,7 @@ static void get_uint32(Object *obj, Visitor *v, const char *name,
|
|
|
static void set_uint32(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint32_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint32(v, name, ptr, errp);
|
|
@@ -348,7 +348,7 @@ static void set_uint32(Object *obj, Visitor *v, const char *name,
|
|
|
void qdev_propinfo_get_int32(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
int32_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_int32(v, name, ptr, errp);
|
|
@@ -357,7 +357,7 @@ void qdev_propinfo_get_int32(Object *obj, Visitor *v, const char *name,
|
|
|
static void set_int32(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
int32_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_int32(v, name, ptr, errp);
|
|
@@ -382,7 +382,7 @@ const PropertyInfo qdev_prop_int32 = {
|
|
|
static void get_uint64(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint64(v, name, ptr, errp);
|
|
@@ -391,7 +391,7 @@ static void get_uint64(Object *obj, Visitor *v, const char *name,
|
|
|
static void set_uint64(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint64(v, name, ptr, errp);
|
|
@@ -400,7 +400,7 @@ static void set_uint64(Object *obj, Visitor *v, const char *name,
|
|
|
static void get_int64(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
int64_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_int64(v, name, ptr, errp);
|
|
@@ -409,7 +409,7 @@ static void get_int64(Object *obj, Visitor *v, const char *name,
|
|
|
static void set_int64(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
int64_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_int64(v, name, ptr, errp);
|
|
@@ -432,7 +432,7 @@ const PropertyInfo qdev_prop_int64 = {
|
|
|
static void set_uint64_checkmask(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_uint64(v, name, ptr, errp);
|
|
@@ -452,14 +452,14 @@ const PropertyInfo qdev_prop_uint64_checkmask = {
|
|
|
|
|
|
static void release_string(Object *obj, const char *name, void *opaque)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
g_free(*(char **)object_field_prop_ptr(obj, prop));
|
|
|
}
|
|
|
|
|
|
static void get_string(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
char **ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
if (!*ptr) {
|
|
@@ -473,7 +473,7 @@ static void get_string(Object *obj, Visitor *v, const char *name,
|
|
|
static void set_string(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
char **ptr = object_field_prop_ptr(obj, prop);
|
|
|
char *str;
|
|
|
|
|
@@ -507,7 +507,7 @@ const PropertyInfo qdev_prop_on_off_auto = {
|
|
|
void qdev_propinfo_get_size32(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint32_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
uint64_t value = *ptr;
|
|
|
|
|
@@ -517,7 +517,7 @@ void qdev_propinfo_get_size32(Object *obj, Visitor *v, const char *name,
|
|
|
static void set_size32(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint32_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
uint64_t value;
|
|
|
|
|
@@ -557,7 +557,7 @@ struct ArrayElementList {
|
|
|
* specific element of the array. Arrays are backed by an uint32_t length field
|
|
|
* and an element array. @elem points at an element in this element array.
|
|
|
*/
|
|
|
-static Property array_elem_prop(Object *obj, Property *parent_prop,
|
|
|
+static Property array_elem_prop(Object *obj, const Property *parent_prop,
|
|
|
const char *name, char *elem)
|
|
|
{
|
|
|
return (Property) {
|
|
@@ -582,7 +582,7 @@ static Property array_elem_prop(Object *obj, Property *parent_prop,
|
|
|
*/
|
|
|
static void release_prop_array(Object *obj, const char *name, void *opaque)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint32_t *alenptr = object_field_prop_ptr(obj, prop);
|
|
|
void **arrayptr = (void *)obj + prop->arrayoffset;
|
|
|
char *elem = *arrayptr;
|
|
@@ -609,7 +609,7 @@ static void set_prop_array(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
ERRP_GUARD();
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint32_t *alenptr = object_field_prop_ptr(obj, prop);
|
|
|
void **arrayptr = (void *)obj + prop->arrayoffset;
|
|
|
ArrayElementList *list, *elem, *next;
|
|
@@ -685,7 +685,7 @@ static void get_prop_array(Object *obj, Visitor *v, const char *name,
|
|
|
void *opaque, Error **errp)
|
|
|
{
|
|
|
ERRP_GUARD();
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint32_t *alenptr = object_field_prop_ptr(obj, prop);
|
|
|
void **arrayptr = (void *)obj + prop->arrayoffset;
|
|
|
char *elemptr = *arrayptr;
|
|
@@ -928,7 +928,7 @@ void qdev_prop_set_globals(DeviceState *dev)
|
|
|
static void get_size(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_size(v, name, ptr, errp);
|
|
@@ -937,7 +937,7 @@ static void get_size(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
static void set_size(Object *obj, Visitor *v, const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
uint64_t *ptr = object_field_prop_ptr(obj, prop);
|
|
|
|
|
|
visit_type_size(v, name, ptr, errp);
|
|
@@ -1020,7 +1020,7 @@ static void qdev_get_legacy_property(Object *obj, Visitor *v,
|
|
|
const char *name, void *opaque,
|
|
|
Error **errp)
|
|
|
{
|
|
|
- Property *prop = opaque;
|
|
|
+ const Property *prop = opaque;
|
|
|
|
|
|
char buffer[1024];
|
|
|
char *ptr = buffer;
|