qdev, rust/hpet: fix type of HPET "timers" property

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2025-02-28 14:02:03 +01:00
parent d1368344bc
commit 7bda68e8e2
3 changed files with 41 additions and 3 deletions

View file

@ -442,6 +442,43 @@ const PropertyInfo qdev_prop_uint64_checkmask = {
.set = set_uint64_checkmask,
};
/* --- pointer-size integer --- */
static void get_usize(Object *obj, Visitor *v, const char *name, void *opaque,
Error **errp)
{
const Property *prop = opaque;
#if HOST_LONG_BITS == 32
uint32_t *ptr = object_field_prop_ptr(obj, prop);
visit_type_uint32(v, name, ptr, errp);
#else
uint64_t *ptr = object_field_prop_ptr(obj, prop);
visit_type_uint64(v, name, ptr, errp);
#endif
}
static void set_usize(Object *obj, Visitor *v, const char *name, void *opaque,
Error **errp)
{
const Property *prop = opaque;
#if HOST_LONG_BITS == 32
uint32_t *ptr = object_field_prop_ptr(obj, prop);
visit_type_uint32(v, name, ptr, errp);
#else
uint64_t *ptr = object_field_prop_ptr(obj, prop);
visit_type_uint64(v, name, ptr, errp);
#endif
}
const PropertyInfo qdev_prop_usize = {
.type = "usize",
.get = get_usize,
.set = set_usize,
.set_default_value = qdev_propinfo_set_default_value_uint,
};
/* --- string --- */
static void release_string(Object *obj, const char *name, void *opaque)