mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
qdev, rust/hpet: fix type of HPET "timers" property
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d1368344bc
commit
7bda68e8e2
3 changed files with 41 additions and 3 deletions
|
@ -442,6 +442,43 @@ const PropertyInfo qdev_prop_uint64_checkmask = {
|
||||||
.set = set_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 --- */
|
/* --- string --- */
|
||||||
|
|
||||||
static void release_string(Object *obj, const char *name, void *opaque)
|
static void release_string(Object *obj, const char *name, void *opaque)
|
||||||
|
|
|
@ -52,6 +52,7 @@ extern const PropertyInfo qdev_prop_bool;
|
||||||
extern const PropertyInfo qdev_prop_uint8;
|
extern const PropertyInfo qdev_prop_uint8;
|
||||||
extern const PropertyInfo qdev_prop_uint16;
|
extern const PropertyInfo qdev_prop_uint16;
|
||||||
extern const PropertyInfo qdev_prop_uint32;
|
extern const PropertyInfo qdev_prop_uint32;
|
||||||
|
extern const PropertyInfo qdev_prop_usize;
|
||||||
extern const PropertyInfo qdev_prop_int32;
|
extern const PropertyInfo qdev_prop_int32;
|
||||||
extern const PropertyInfo qdev_prop_uint64;
|
extern const PropertyInfo qdev_prop_uint64;
|
||||||
extern const PropertyInfo qdev_prop_uint64_checkmask;
|
extern const PropertyInfo qdev_prop_uint64_checkmask;
|
||||||
|
|
|
@ -12,7 +12,7 @@ use std::{
|
||||||
use qemu_api::{
|
use qemu_api::{
|
||||||
bindings::{
|
bindings::{
|
||||||
address_space_memory, address_space_stl_le, qdev_prop_bit, qdev_prop_bool,
|
address_space_memory, address_space_stl_le, qdev_prop_bit, qdev_prop_bool,
|
||||||
qdev_prop_uint32, qdev_prop_uint8,
|
qdev_prop_uint32, qdev_prop_usize,
|
||||||
},
|
},
|
||||||
c_str,
|
c_str,
|
||||||
cell::{BqlCell, BqlRefCell},
|
cell::{BqlCell, BqlRefCell},
|
||||||
|
@ -859,8 +859,8 @@ qemu_api::declare_properties! {
|
||||||
c_str!("timers"),
|
c_str!("timers"),
|
||||||
HPETState,
|
HPETState,
|
||||||
num_timers,
|
num_timers,
|
||||||
unsafe { &qdev_prop_uint8 },
|
unsafe { &qdev_prop_usize },
|
||||||
u8,
|
usize,
|
||||||
default = HPET_MIN_TIMERS
|
default = HPET_MIN_TIMERS
|
||||||
),
|
),
|
||||||
qemu_api::define_property!(
|
qemu_api::define_property!(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue