mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-29 13:23:54 -06:00
qdev: Change values of PropertyInfo member @type to be QAPI types
PropertyInfo member @type is externally visible via QMP device-list-properties and qom-list-properies. Its meaning is not documented at its definition. It gets passed as @type argument to object_property_add() and object_class_property_add(). This argument's documentation isn't of much help, either: * @type: the type name of the property. This namespace is pretty loosely * defined. Sub namespaces are constructed by using a prefix and then * to angle brackets. For instance, the type 'virtio-net-pci' in the * 'link' namespace would be 'link<virtio-net-pci>'. The two QMP commands document it as # @type: the type of the property. This will typically come in one of # four forms: # # 1) A primitive type such as 'u8', 'u16', 'bool', 'str', or # 'double'. These types are mapped to the appropriate JSON # type. # # 2) A child type in the form 'child<subtype>' where subtype is a # qdev device type name. Child properties create the # composition tree. # # 3) A link type in the form 'link<subtype>' where subtype is a # qdev device type name. Link properties form the device model # graph. "Typically come in one of four forms" followed by three items inspires the level of trust that is appropriate here. Clean up a bunch of funnies: * qdev_prop_fdc_drive_type.type is "FdcDriveType". Its .enum_table refers to QAPI type "FloppyDriveType". So use that. * qdev_prop_reserved_region is "reserved_region". Its only user is an array property called "reserved-regions". Its .set() visits str. So change @type to "str". * trng_prop_fault_event_set.type is "uint32:bits". Its .set() visits uint32, so change @type to "uint32". If we believe mentioning it's actually bits is useful, the proper place would be .description. * ccw_loadparm.type is "ccw_loadparm". It's users are properties called "loadparm". Its .set() visits str. So change @type to "str". * qdev_prop_nv_gpudirect_clique.type is "uint4". Its set() visits uint8, so change @type to "uint8". If we believe mentioning the range is useful, the proper place would be .description. * s390_pci_fid_propinfo.type is "zpci_fid". Its .set() visits uint32. So change type to that, and move the "zpci_fid" to .description. This is admittedly a lousy description, but it's still an improvement; for instance, output of -device zpci,help changes from fid=<zpci_fid> to fid=<uint32> - zpci_fid * Similarly for a raft of PropertyInfo in target/riscv/cpu.c. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-ID: <20250227085601.4140852-5-armbru@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> [Commit message typo fixed]
This commit is contained in:
parent
c98dac169e
commit
ff30d3b1ac
6 changed files with 37 additions and 20 deletions
|
@ -667,7 +667,7 @@ const PropertyInfo qdev_prop_bios_chs_trans = {
|
|||
/* --- FDC default drive types */
|
||||
|
||||
const PropertyInfo qdev_prop_fdc_drive_type = {
|
||||
.type = "FdcDriveType",
|
||||
.type = "FloppyDriveType",
|
||||
.description = "FDC drive type, "
|
||||
"144/288/120/none/auto",
|
||||
.enum_table = &FloppyDriveType_lookup,
|
||||
|
@ -801,7 +801,7 @@ out:
|
|||
}
|
||||
|
||||
const PropertyInfo qdev_prop_reserved_region = {
|
||||
.type = "reserved_region",
|
||||
.type = "str",
|
||||
.description = "Reserved Region, example: 0xFEE00000:0xFEEFFFFF:0",
|
||||
.get = get_reserved_region,
|
||||
.set = set_reserved_region,
|
||||
|
|
|
@ -652,7 +652,7 @@ static void trng_prop_fault_event_set(Object *obj, Visitor *v,
|
|||
}
|
||||
|
||||
static const PropertyInfo trng_prop_fault_events = {
|
||||
.type = "uint32:bits",
|
||||
.type = "uint32",
|
||||
.description = "Set to trigger TRNG fault events",
|
||||
.set = trng_prop_fault_event_set,
|
||||
.realized_set_allowed = true,
|
||||
|
|
|
@ -74,7 +74,7 @@ static void ccw_device_set_loadparm(Object *obj, Visitor *v,
|
|||
}
|
||||
|
||||
const PropertyInfo ccw_loadparm = {
|
||||
.type = "ccw_loadparm",
|
||||
.type = "str",
|
||||
.description = "Up to 8 chars in set of [A-Za-z0-9. ] to pass"
|
||||
" to the guest loader/kernel",
|
||||
.get = ccw_device_get_loadparm,
|
||||
|
|
|
@ -1495,7 +1495,8 @@ static void s390_pci_set_fid(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo s390_pci_fid_propinfo = {
|
||||
.type = "zpci_fid",
|
||||
.type = "uint32",
|
||||
.description = "zpci_fid",
|
||||
.get = s390_pci_get_fid,
|
||||
.set = s390_pci_set_fid,
|
||||
};
|
||||
|
|
|
@ -1480,7 +1480,7 @@ static void set_nv_gpudirect_clique_id(Object *obj, Visitor *v,
|
|||
}
|
||||
|
||||
const PropertyInfo qdev_prop_nv_gpudirect_clique = {
|
||||
.type = "uint4",
|
||||
.type = "uint8",
|
||||
.description = "NVIDIA GPUDirect Clique ID (0 - 15)",
|
||||
.get = get_nv_gpudirect_clique_id,
|
||||
.set = set_nv_gpudirect_clique_id,
|
||||
|
|
|
@ -1816,7 +1816,8 @@ static void prop_pmu_num_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_pmu_num = {
|
||||
.type = "pmu-num",
|
||||
.type = "int8",
|
||||
.description = "pmu-num",
|
||||
.get = prop_pmu_num_get,
|
||||
.set = prop_pmu_num_set,
|
||||
};
|
||||
|
@ -1857,7 +1858,8 @@ static void prop_pmu_mask_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_pmu_mask = {
|
||||
.type = "pmu-mask",
|
||||
.type = "int8",
|
||||
.description = "pmu-mask",
|
||||
.get = prop_pmu_mask_get,
|
||||
.set = prop_pmu_mask_set,
|
||||
};
|
||||
|
@ -1888,7 +1890,8 @@ static void prop_mmu_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_mmu = {
|
||||
.type = "mmu",
|
||||
.type = "bool",
|
||||
.description = "mmu",
|
||||
.get = prop_mmu_get,
|
||||
.set = prop_mmu_set,
|
||||
};
|
||||
|
@ -1919,7 +1922,8 @@ static void prop_pmp_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_pmp = {
|
||||
.type = "pmp",
|
||||
.type = "bool",
|
||||
.description = "pmp",
|
||||
.get = prop_pmp_get,
|
||||
.set = prop_pmp_set,
|
||||
};
|
||||
|
@ -1993,7 +1997,9 @@ static void prop_priv_spec_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_priv_spec = {
|
||||
.type = "priv_spec",
|
||||
.type = "str",
|
||||
.description = "priv_spec",
|
||||
/* FIXME enum? */
|
||||
.get = prop_priv_spec_get,
|
||||
.set = prop_priv_spec_set,
|
||||
};
|
||||
|
@ -2024,7 +2030,9 @@ static void prop_vext_spec_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_vext_spec = {
|
||||
.type = "vext_spec",
|
||||
.type = "str",
|
||||
.description = "vext_spec",
|
||||
/* FIXME enum? */
|
||||
.get = prop_vext_spec_get,
|
||||
.set = prop_vext_spec_set,
|
||||
};
|
||||
|
@ -2065,7 +2073,8 @@ static void prop_vlen_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_vlen = {
|
||||
.type = "vlen",
|
||||
.type = "uint16",
|
||||
.description = "vlen",
|
||||
.get = prop_vlen_get,
|
||||
.set = prop_vlen_set,
|
||||
};
|
||||
|
@ -2105,7 +2114,8 @@ static void prop_elen_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_elen = {
|
||||
.type = "elen",
|
||||
.type = "uint16",
|
||||
.description = "elen",
|
||||
.get = prop_elen_get,
|
||||
.set = prop_elen_set,
|
||||
};
|
||||
|
@ -2140,7 +2150,8 @@ static void prop_cbom_blksize_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_cbom_blksize = {
|
||||
.type = "cbom_blocksize",
|
||||
.type = "uint16",
|
||||
.description = "cbom_blocksize",
|
||||
.get = prop_cbom_blksize_get,
|
||||
.set = prop_cbom_blksize_set,
|
||||
};
|
||||
|
@ -2175,7 +2186,8 @@ static void prop_cbop_blksize_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_cbop_blksize = {
|
||||
.type = "cbop_blocksize",
|
||||
.type = "uint16",
|
||||
.description = "cbop_blocksize",
|
||||
.get = prop_cbop_blksize_get,
|
||||
.set = prop_cbop_blksize_set,
|
||||
};
|
||||
|
@ -2210,7 +2222,8 @@ static void prop_cboz_blksize_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_cboz_blksize = {
|
||||
.type = "cboz_blocksize",
|
||||
.type = "uint16",
|
||||
.description = "cboz_blocksize",
|
||||
.get = prop_cboz_blksize_get,
|
||||
.set = prop_cboz_blksize_set,
|
||||
};
|
||||
|
@ -2245,7 +2258,8 @@ static void prop_mvendorid_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_mvendorid = {
|
||||
.type = "mvendorid",
|
||||
.type = "uint32",
|
||||
.description = "mvendorid",
|
||||
.get = prop_mvendorid_get,
|
||||
.set = prop_mvendorid_set,
|
||||
};
|
||||
|
@ -2280,7 +2294,8 @@ static void prop_mimpid_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_mimpid = {
|
||||
.type = "mimpid",
|
||||
.type = "uint64",
|
||||
.description = "mimpid",
|
||||
.get = prop_mimpid_get,
|
||||
.set = prop_mimpid_set,
|
||||
};
|
||||
|
@ -2336,7 +2351,8 @@ static void prop_marchid_get(Object *obj, Visitor *v, const char *name,
|
|||
}
|
||||
|
||||
static const PropertyInfo prop_marchid = {
|
||||
.type = "marchid",
|
||||
.type = "uint64",
|
||||
.description = "marchid",
|
||||
.get = prop_marchid_get,
|
||||
.set = prop_marchid_set,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue