On 5/4/18 11:22 am, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > Sadly I'm missing something, this does not work.
What does not work precisely? memory_region_set_priority() is not called or visit_type_int32() does not return priority, etc? > > memory.c | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > > diff --git a/memory.c b/memory.c > index eaa5fa7f23..ae45ea7779 100644 > --- a/memory.c > +++ b/memory.c > @@ -1225,6 +1225,22 @@ static void memory_region_get_priority(Object *obj, > Visitor *v, > visit_type_int32(v, name, &value, errp); > } > > +static void memory_region_set_priority(Object *obj, Visitor *v, > + const char *name, void *opaque, > + Error **errp) > +{ > + MemoryRegion *mr = MEMORY_REGION(obj); > + int32_t priority; > + Error *local_err = NULL; > + > + visit_type_int32(v, name, &priority, &local_err); > + if (local_err) { > + error_propagate(errp, local_err); > + return; > + } > + mr->priority = priority; > +} > + > static void memory_region_get_size(Object *obj, Visitor *v, const char *name, > void *opaque, Error **errp) > { > @@ -1260,7 +1276,7 @@ static void memory_region_initfn(Object *obj) > NULL, NULL, &error_abort); > object_property_add(OBJECT(mr), "priority", "int32", > memory_region_get_priority, > - NULL, /* memory_region_set_priority */ > + memory_region_set_priority, > NULL, NULL, &error_abort); > object_property_add(OBJECT(mr), "size", "uint64", > memory_region_get_size, > -- Alexey