@ -38,9 +38,9 @@ void qdev_prop_allow_set_link_before_realize(const Object *obj,
}
}
void * qdev_get_prop_ptr ( DeviceState * dev , Property * prop )
void * qdev_get_prop_ptr ( Object * obj , Property * prop )
{
void * ptr = dev ;
void * ptr = obj ;
ptr + = prop - > offset ;
return ptr ;
}
@ -48,9 +48,8 @@ void *qdev_get_prop_ptr(DeviceState *dev, Property *prop)
void qdev_propinfo_get_enum ( Object * obj , Visitor * v , const char * name ,
void * opaque , Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
int * ptr = qdev_get_prop_ptr ( dev , prop ) ;
int * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_enum ( v , prop - > name , ptr , prop - > info - > enum_table , errp ) ;
}
@ -60,7 +59,7 @@ void qdev_propinfo_set_enum(Object *obj, Visitor *v, const char *name,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
int * ptr = qdev_get_prop_ptr ( dev , prop ) ;
int * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;
@ -94,8 +93,7 @@ static uint32_t qdev_get_prop_mask(Property *prop)
static void bit_prop_set ( Object * obj , Property * props , bool val )
{
DeviceState * dev = DEVICE ( obj ) ;
uint32_t * p = qdev_get_prop_ptr ( dev , props ) ;
uint32_t * p = qdev_get_prop_ptr ( obj , props ) ;
uint32_t mask = qdev_get_prop_mask ( props ) ;
if ( val ) {
* p | = mask ;
@ -107,9 +105,8 @@ 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 )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint32_t * p = qdev_get_prop_ptr ( dev , prop ) ;
uint32_t * p = qdev_get_prop_ptr ( obj , prop ) ;
bool value = ( * p & qdev_get_prop_mask ( prop ) ) ! = 0 ;
visit_type_bool ( v , name , & value , errp ) ;
@ -156,8 +153,7 @@ static uint64_t qdev_get_prop_mask64(Property *prop)
static void bit64_prop_set ( Object * obj , Property * props , bool val )
{
DeviceState * dev = DEVICE ( obj ) ;
uint64_t * p = qdev_get_prop_ptr ( dev , props ) ;
uint64_t * p = qdev_get_prop_ptr ( obj , props ) ;
uint64_t mask = qdev_get_prop_mask64 ( props ) ;
if ( val ) {
* p | = mask ;
@ -169,9 +165,8 @@ 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 )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint64_t * p = qdev_get_prop_ptr ( dev , prop ) ;
uint64_t * p = qdev_get_prop_ptr ( obj , prop ) ;
bool value = ( * p & qdev_get_prop_mask64 ( prop ) ) ! = 0 ;
visit_type_bool ( v , name , & value , errp ) ;
@ -208,9 +203,8 @@ const PropertyInfo qdev_prop_bit64 = {
static void get_bool ( Object * obj , Visitor * v , const char * name , void * opaque ,
Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
bool * ptr = qdev_get_prop_ptr ( dev , prop ) ;
bool * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_bool ( v , name , ptr , errp ) ;
}
@ -220,7 +214,7 @@ static void set_bool(Object *obj, Visitor *v, const char *name, void *opaque,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
bool * ptr = qdev_get_prop_ptr ( dev , prop ) ;
bool * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;
@ -242,9 +236,8 @@ const PropertyInfo qdev_prop_bool = {
static void get_uint8 ( Object * obj , Visitor * v , const char * name , void * opaque ,
Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint8_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint8_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_uint8 ( v , name , ptr , errp ) ;
}
@ -254,7 +247,7 @@ static void set_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint8_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint8_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;
@ -288,9 +281,8 @@ const PropertyInfo qdev_prop_uint8 = {
void qdev_propinfo_get_uint16 ( Object * obj , Visitor * v , const char * name ,
void * opaque , Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint16_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint16_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_uint16 ( v , name , ptr , errp ) ;
}
@ -300,7 +292,7 @@ static void set_uint16(Object *obj, Visitor *v, const char *name,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint16_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint16_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;
@ -322,9 +314,8 @@ const PropertyInfo qdev_prop_uint16 = {
static void get_uint32 ( Object * obj , Visitor * v , const char * name ,
void * opaque , Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint32_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint32_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_uint32 ( v , name , ptr , errp ) ;
}
@ -334,7 +325,7 @@ static void set_uint32(Object *obj, Visitor *v, const char *name,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint32_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint32_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;
@ -347,9 +338,8 @@ 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 )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
int32_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
int32_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_int32 ( v , name , ptr , errp ) ;
}
@ -359,7 +349,7 @@ static void set_int32(Object *obj, Visitor *v, const char *name, void *opaque,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
int32_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
int32_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;
@ -388,9 +378,8 @@ const PropertyInfo qdev_prop_int32 = {
static void get_uint64 ( Object * obj , Visitor * v , const char * name ,
void * opaque , Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint64_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint64_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_uint64 ( v , name , ptr , errp ) ;
}
@ -400,7 +389,7 @@ static void set_uint64(Object *obj, Visitor *v, const char *name,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint64_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint64_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;
@ -413,9 +402,8 @@ 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 )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
int64_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
int64_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_int64 ( v , name , ptr , errp ) ;
}
@ -425,7 +413,7 @@ static void set_int64(Object *obj, Visitor *v, const char *name,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
int64_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
int64_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;
@ -454,15 +442,14 @@ const PropertyInfo qdev_prop_int64 = {
static void release_string ( Object * obj , const char * name , void * opaque )
{
Property * prop = opaque ;
g_free ( * ( char * * ) qdev_get_prop_ptr ( DEVICE ( obj ) , prop ) ) ;
g_free ( * ( char * * ) qdev_get_prop_ptr ( obj , prop ) ) ;
}
static void get_string ( Object * obj , Visitor * v , const char * name ,
void * opaque , Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
char * * ptr = qdev_get_prop_ptr ( dev , prop ) ;
char * * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( ! * ptr ) {
char * str = ( char * ) " " ;
@ -477,7 +464,7 @@ static void set_string(Object *obj, Visitor *v, const char *name,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
char * * ptr = qdev_get_prop_ptr ( dev , prop ) ;
char * * ptr = qdev_get_prop_ptr ( obj , prop ) ;
char * str ;
if ( dev - > realized ) {
@ -515,9 +502,8 @@ const PropertyInfo qdev_prop_on_off_auto = {
void qdev_propinfo_get_size32 ( Object * obj , Visitor * v , const char * name ,
void * opaque , Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint32_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint32_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
uint64_t value = * ptr ;
visit_type_size ( v , name , & value , errp ) ;
@ -528,7 +514,7 @@ static void set_size32(Object *obj, Visitor *v, const char *name, void *opaque,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint32_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint32_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
uint64_t value ;
if ( dev - > realized ) {
@ -563,9 +549,8 @@ const PropertyInfo qdev_prop_size32 = {
static void get_uuid ( Object * obj , Visitor * v , const char * name , void * opaque ,
Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
QemuUUID * uuid = qdev_get_prop_ptr ( dev , prop ) ;
QemuUUID * uuid = qdev_get_prop_ptr ( obj , prop ) ;
char buffer [ UUID_FMT_LEN + 1 ] ;
char * p = buffer ;
@ -581,7 +566,7 @@ static void set_uuid(Object *obj, Visitor *v, const char *name, void *opaque,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
QemuUUID * uuid = qdev_get_prop_ptr ( dev , prop ) ;
QemuUUID * uuid = qdev_get_prop_ptr ( obj , prop ) ;
char * str ;
if ( dev - > realized ) {
@ -653,7 +638,7 @@ static void set_prop_arraylen(Object *obj, Visitor *v, const char *name,
*/
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint32_t * alenptr = qdev_get_prop_ptr ( dev , prop ) ;
uint32_t * alenptr = qdev_get_prop_ptr ( obj , prop ) ;
void * * arrayptr = ( void * ) dev + prop - > arrayoffset ;
void * eltptr ;
const char * arrayname ;
@ -699,7 +684,7 @@ static void set_prop_arraylen(Object *obj, Visitor *v, const char *name,
* being inside the device struct .
*/
arrayprop - > prop . offset = eltptr - ( void * ) dev ;
assert ( qdev_get_prop_ptr ( dev , & arrayprop - > prop ) = = eltptr ) ;
assert ( qdev_get_prop_ptr ( obj , & arrayprop - > prop ) = = eltptr ) ;
object_property_add ( obj , propname ,
arrayprop - > prop . info - > name ,
arrayprop - > prop . info - > get ,
@ -893,9 +878,8 @@ void qdev_prop_set_globals(DeviceState *dev)
static void get_size ( Object * obj , Visitor * v , const char * name , void * opaque ,
Error * * errp )
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint64_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint64_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
visit_type_size ( v , name , ptr , errp ) ;
}
@ -905,7 +889,7 @@ static void set_size(Object *obj, Visitor *v, const char *name, void *opaque,
{
DeviceState * dev = DEVICE ( obj ) ;
Property * prop = opaque ;
uint64_t * ptr = qdev_get_prop_ptr ( dev , prop ) ;
uint64_t * ptr = qdev_get_prop_ptr ( obj , prop ) ;
if ( dev - > realized ) {
qdev_prop_set_after_realize ( dev , name , errp ) ;