mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
qdev-properties: add getter for size32 and blocksize
Add getter for size32, and use it for blocksize, too. In its human-readable branch, it reports approximate size in human-readable units next to the exact byte value, like the getter for 64bit size does. Adjust the expected test output accordingly. Signed-off-by: Roman Kagan <rvkagan@yandex-team.ru> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20200528225516.1676602-8-rvkagan@yandex-team.ru> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
4f44bbc5bb
commit
031ffd9a61
2 changed files with 278 additions and 267 deletions
|
@ -730,6 +730,17 @@ const PropertyInfo qdev_prop_pci_devfn = {
|
|||
|
||||
/* --- 32bit unsigned int 'size' type --- */
|
||||
|
||||
static void 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);
|
||||
uint64_t value = *ptr;
|
||||
|
||||
visit_type_size(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void set_size32(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
|
@ -763,7 +774,7 @@ static void set_size32(Object *obj, Visitor *v, const char *name, void *opaque,
|
|||
|
||||
const PropertyInfo qdev_prop_size32 = {
|
||||
.name = "size",
|
||||
.get = get_uint32,
|
||||
.get = get_size32,
|
||||
.set = set_size32,
|
||||
.set_default_value = set_default_value_uint,
|
||||
};
|
||||
|
@ -821,7 +832,7 @@ const PropertyInfo qdev_prop_blocksize = {
|
|||
.name = "size",
|
||||
.description = "A power of two between " MIN_BLOCK_SIZE_STR
|
||||
" and " MAX_BLOCK_SIZE_STR,
|
||||
.get = get_uint32,
|
||||
.get = get_size32,
|
||||
.set = set_blocksize,
|
||||
.set_default_value = set_default_value_uint,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue