This permits setting ObjectProperty's optional @qapi_type. For now,
all callers pass null. Callers updated with this Coccinelle script:
@@
identifier fun = {
object_property_try_add, object_property_add, object_class_property_add
};
expression obj, name, type;
@@
- fun(obj, name, type,
+ fun(obj, name, type, NULL,
...)
Signed-off-by: Markus Armbruster <[email protected]>
---
include/qom/object.h | 5 +++
accel/hvf/hvf-all.c | 6 +--
accel/kvm/kvm-all.c | 19 +++++----
accel/nitro/nitro-accel.c | 2 +-
accel/tcg/tcg-all.c | 6 +--
accel/whpx/whpx-common.c | 12 +++---
authz/list.c | 2 +-
backends/cryptodev.c | 6 +--
backends/hostmem-file.c | 21 +++++-----
backends/hostmem-memfd.c | 4 +-
backends/hostmem.c | 24 +++++------
block/throttle-groups.c | 7 +---
chardev/char-socket.c | 2 +-
crypto/secret_keyring.c | 2 +-
event-loop-base.c | 6 +--
hw/acpi/ich9.c | 2 +-
hw/acpi/pci.c | 8 ++--
hw/arm/virt.c | 10 ++---
hw/core/clock.c | 2 +-
hw/core/machine.c | 29 +++++++------
hw/core/qdev-properties.c | 5 +--
hw/cpu/core.c | 6 ++-
hw/cxl/cxl-host.c | 4 +-
hw/gpio/aspeed_gpio.c | 6 +--
hw/gpio/aspeed_sgpio.c | 2 +-
hw/gpio/pca9552.c | 4 +-
hw/gpio/pca9554.c | 3 +-
hw/gpio/stm32l4x5_gpio.c | 4 +-
hw/hexagon/hexagon_dsp.c | 2 +-
hw/i386/microvm.c | 6 +--
hw/i386/pc.c | 27 ++++++------
hw/i386/sgx-epc.c | 2 +-
hw/i386/x86.c | 23 ++++++-----
hw/ide/ide-dev.c | 2 +-
hw/intc/apic_common.c | 2 +-
hw/loongarch/virt.c | 18 ++++----
hw/mem/nvdimm.c | 5 ++-
hw/mem/pc-dimm.c | 3 +-
hw/misc/aspeed_lpc.c | 36 ++++++++++------
hw/misc/aspeed_sdmc.c | 2 +-
hw/misc/npcm7xx_mft.c | 2 +-
hw/net/ne2000-isa.c | 2 +-
hw/nvme/ctrl.c | 2 +-
hw/pci-bridge/pci_expander_bridge.c | 2 +-
hw/pci-host/i440fx.c | 4 ++
hw/pci-host/pnv_phb3.c | 4 +-
hw/pci-host/pnv_phb4.c | 4 +-
hw/pci-host/q35.c | 8 ++--
hw/ppc/spapr_caps.c | 2 +-
hw/ppc/spapr_drc.c | 4 +-
hw/remote/vfio-user-obj.c | 2 +-
hw/riscv/microchip_pfsoc.c | 1 +
hw/riscv/virt.c | 4 +-
hw/s390x/s390-virtio-ccw.c | 4 +-
hw/s390x/sclpcpi.c | 6 ++-
hw/s390x/virtio-ccw-mem.c | 2 +-
hw/sensor/adc128d818.c | 8 ++--
hw/sensor/adm1266.c | 2 +-
hw/sensor/adm1272.c | 8 ++--
hw/sensor/emc141x.c | 8 ++--
hw/sensor/isl_pmbus_vr.c | 18 ++++----
hw/sensor/lsm303dlhc_mag.c | 24 +++++------
hw/sensor/max34451.c | 4 +-
hw/sensor/tmp105.c | 2 +-
hw/sensor/tmp421.c | 8 ++--
hw/usb/dev-storage-classic.c | 2 +-
hw/vfio-user/pci.c | 2 +-
hw/virtio/virtio-balloon.c | 4 +-
hw/virtio/virtio-mem-pci.c | 2 +-
hw/virtio/virtio-mem.c | 7 ++--
hw/xen/xen-pvh-common.c | 8 ++--
iothread.c | 8 ++--
net/colo-compare.c | 6 +--
net/dump.c | 3 +-
net/filter-buffer.c | 2 +-
qom/object.c | 64 ++++++++++++++++-------------
system/bootdevice.c | 2 +-
system/memory.c | 4 +-
target/arm/cpu64.c | 10 ++---
target/arm/kvm.c | 2 +-
target/arm/tcg/cpu64.c | 4 +-
target/i386/cpu.c | 20 +++++----
target/i386/kvm/kvm.c | 8 ++--
target/i386/kvm/tdx.c | 2 +-
target/i386/sev.c | 8 ++--
target/i386/whpx/whpx-all.c | 18 ++++----
target/ppc/compat.c | 2 +-
target/riscv/cpu.c | 12 +++---
target/riscv/kvm/kvm-cpu.c | 6 +--
target/riscv/tcg/tcg-cpu.c | 6 +--
target/s390x/cpu-system.c | 1 +
target/s390x/cpu_models.c | 5 ++-
tests/unit/test-qdev-global-props.c | 6 ++-
ui/console.c | 2 +-
util/thread-context.c | 6 +--
95 files changed, 377 insertions(+), 327 deletions(-)
diff --git a/include/qom/object.h b/include/qom/object.h
index e9b380462d..84b273e535 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -1163,6 +1163,7 @@ void object_unref(void *obj);
* 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>'.
+ * @qapi_type: QAPI type info descriptor
* @get: The getter to be called to read a property. If this is NULL, then
* the property cannot be read.
* @set: the setter to be called to write a property. If this is NULL,
@@ -1188,6 +1189,7 @@ void object_unref(void *obj);
*/
ObjectProperty *object_property_try_add(Object *obj, const char *name,
const char *type,
+ QAPITypeInfo *qapi_type,
ObjectPropertyAccessor *get,
ObjectPropertyAccessor *set,
ObjectPropertyRelease *release,
@@ -1203,6 +1205,7 @@ ObjectProperty *object_property_try_add(Object *obj,
const char *name,
* 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>'.
+ * @qapi_type: QAPI type info descriptor
* @get: The getter to be called to read a property. If this is NULL, then
* the property cannot be read.
* @set: the setter to be called to write a property. If this is NULL,
@@ -1220,6 +1223,7 @@ ObjectProperty *object_property_try_add(Object *obj,
const char *name,
*/
ObjectProperty *object_property_add(Object *obj, const char *name,
const char *type,
+ const QAPITypeInfo *qapi_type,
ObjectPropertyAccessor *get,
ObjectPropertyAccessor *set,
ObjectPropertyRelease *release,
@@ -1237,6 +1241,7 @@ void object_property_del(Object *obj, const char *name);
ObjectProperty *object_class_property_add(ObjectClass *klass, const char *name,
const char *type,
+ const QAPITypeInfo *qapi_type,
ObjectPropertyAccessor *get,
ObjectPropertyAccessor *set,
ObjectPropertyRelease *release,
diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c
index 8bd9154a50..213ee15b4a 100644
--- a/accel/hvf/hvf-all.c
+++ b/accel/hvf/hvf-all.c
@@ -277,9 +277,9 @@ static void hvf_accel_class_init(ObjectClass *oc, const
void *data)
ac->allowed = &hvf_allowed;
hvf_kernel_irqchip_override = false;
hvf_kernel_irqchip = false;
- object_class_property_add(oc, "kernel-irqchip", "on|off|split",
- NULL, hvf_set_kernel_irqchip,
- NULL, NULL);
+ object_class_property_add(oc, "kernel-irqchip", "on|off|split", NULL,
+ NULL, hvf_set_kernel_irqchip,
+ NULL, NULL);
object_class_property_set_description(oc, "kernel-irqchip",
"Configure HVF irqchip");
}
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index db8fba53f3..9cc1e4b0a9 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -4303,21 +4303,22 @@ static void kvm_accel_class_init(ObjectClass *oc, const
void *data)
ac->has_memory = kvm_accel_has_memory;
ac->allowed = &kvm_allowed;
- object_class_property_add(oc, "kernel-irqchip", "on|off|split",
- NULL, kvm_set_kernel_irqchip,
- NULL, NULL);
+ object_class_property_add(oc, "kernel-irqchip", "on|off|split", NULL,
+ NULL, kvm_set_kernel_irqchip,
+ NULL, NULL);
object_class_property_set_description(oc, "kernel-irqchip",
"Configure KVM in-kernel irqchip");
- object_class_property_add(oc, "kvm-shadow-mem", "int",
- kvm_get_kvm_shadow_mem, kvm_set_kvm_shadow_mem,
- NULL, NULL);
+ object_class_property_add(oc, "kvm-shadow-mem", "int", NULL,
+ kvm_get_kvm_shadow_mem, kvm_set_kvm_shadow_mem,
+ NULL, NULL);
object_class_property_set_description(oc, "kvm-shadow-mem",
"KVM shadow MMU size");
- object_class_property_add(oc, "dirty-ring-size", "uint32",
- kvm_get_dirty_ring_size, kvm_set_dirty_ring_size,
- NULL, NULL);
+ object_class_property_add(oc, "dirty-ring-size", "uint32", NULL,
+ kvm_get_dirty_ring_size,
+ kvm_set_dirty_ring_size,
+ NULL, NULL);
object_class_property_set_description(oc, "dirty-ring-size",
"Size of KVM dirty page ring buffer (default: 0, i.e. use bitmap)");
diff --git a/accel/nitro/nitro-accel.c b/accel/nitro/nitro-accel.c
index a1e97a9162..597027438c 100644
--- a/accel/nitro/nitro-accel.c
+++ b/accel/nitro/nitro-accel.c
@@ -238,7 +238,7 @@ static void nitro_accel_class_init(ObjectClass *oc, const
void *data)
object_class_property_set_description(oc, "debug-mode",
"Start enclave in debug mode (enables console output)");
- object_class_property_add(oc, "enclave-cid", "uint64",
+ object_class_property_add(oc, "enclave-cid", "uint64", NULL,
nitro_get_enclave_cid,
nitro_set_enclave_cid,
NULL, NULL);
diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c
index 767e880555..ed314e01cb 100644
--- a/accel/tcg/tcg-all.c
+++ b/accel/tcg/tcg-all.c
@@ -270,9 +270,9 @@ static void tcg_accel_class_init(ObjectClass *oc, const
void *data)
tcg_get_thread,
tcg_set_thread);
- object_class_property_add(oc, "tb-size", "uint32",
- tcg_get_tb_size, tcg_set_tb_size,
- NULL, NULL);
+ object_class_property_add(oc, "tb-size", "uint32", NULL,
+ tcg_get_tb_size, tcg_set_tb_size,
+ NULL, NULL);
object_class_property_set_description(oc, "tb-size",
"TCG translation block cache size");
diff --git a/accel/whpx/whpx-common.c b/accel/whpx/whpx-common.c
index 247e12db81..f82e607745 100644
--- a/accel/whpx/whpx-common.c
+++ b/accel/whpx/whpx-common.c
@@ -528,14 +528,14 @@ static void whpx_accel_class_init(ObjectClass *oc, const
void *data)
ac->pre_resume_vm = whpx_pre_resume_vm;
ac->allowed = &whpx_allowed;
- object_class_property_add(oc, "kernel-irqchip", "on|off|split",
- NULL, whpx_set_kernel_irqchip,
- NULL, NULL);
+ object_class_property_add(oc, "kernel-irqchip", "on|off|split", NULL,
+ NULL, whpx_set_kernel_irqchip,
+ NULL, NULL);
object_class_property_set_description(oc, "kernel-irqchip",
"Configure WHPX in-kernel irqchip");
- object_class_property_add(oc, "hyperv", "OnOffAuto",
- NULL, whpx_set_hyperv,
- NULL, NULL);
+ object_class_property_add(oc, "hyperv", "OnOffAuto", NULL,
+ NULL, whpx_set_hyperv,
+ NULL, NULL);
object_class_property_set_description(oc, "hyperv",
"Configure Hyper-V enlightenments");
diff --git a/authz/list.c b/authz/list.c
index 17aa0efd80..72aedc6ac4 100644
--- a/authz/list.c
+++ b/authz/list.c
@@ -126,7 +126,7 @@ qauthz_list_class_init(ObjectClass *oc, const void *data)
qauthz_list_prop_get_policy,
qauthz_list_prop_set_policy);
- object_class_property_add(oc, "rules", "QAuthZListRule",
+ object_class_property_add(oc, "rules", "QAuthZListRule", NULL,
qauthz_list_prop_get_rules,
qauthz_list_prop_set_rules,
NULL, NULL);
diff --git a/backends/cryptodev.c b/backends/cryptodev.c
index e8f2b18f20..cc323014cc 100644
--- a/backends/cryptodev.c
+++ b/backends/cryptodev.c
@@ -622,15 +622,15 @@ cryptodev_backend_class_init(ObjectClass *oc, const void
*data)
ucc->prepare_delete = cryptodev_backend_prepare_delete;
QTAILQ_INIT(&crypto_clients);
- object_class_property_add(oc, "queues", "uint32",
+ object_class_property_add(oc, "queues", "uint32", NULL,
cryptodev_backend_get_queues,
cryptodev_backend_set_queues,
NULL, NULL);
- object_class_property_add(oc, "throttle-bps", "uint64",
+ object_class_property_add(oc, "throttle-bps", "uint64", NULL,
cryptodev_backend_get_bps,
cryptodev_backend_set_bps,
NULL, NULL);
- object_class_property_add(oc, "throttle-ops", "uint64",
+ object_class_property_add(oc, "throttle-ops", "uint64", NULL,
cryptodev_backend_get_ops,
cryptodev_backend_set_ops,
NULL, NULL);
diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
index 7efecf71f5..aec38bac2f 100644
--- a/backends/hostmem-file.c
+++ b/backends/hostmem-file.c
@@ -281,14 +281,14 @@ file_backend_class_init(ObjectClass *oc, const void *data)
file_memory_backend_get_discard_data,
file_memory_backend_set_discard_data);
object_class_property_add_str(oc, "mem-path",
get_mem_path, set_mem_path);
- object_class_property_add(oc, "align", "uint64",
- file_memory_backend_get_align,
- file_memory_backend_set_align,
- NULL, NULL);
- object_class_property_add(oc, "offset", "int",
- file_memory_backend_get_offset,
- file_memory_backend_set_offset,
- NULL, NULL);
+ object_class_property_add(oc, "align", "uint64", NULL,
+ file_memory_backend_get_align,
+ file_memory_backend_set_align,
+ NULL, NULL);
+ object_class_property_add(oc, "offset", "int", NULL,
+ file_memory_backend_get_offset,
+ file_memory_backend_set_offset,
+ NULL, NULL);
object_class_property_set_description(oc, "offset",
"Offset into the target file (ex: 1G)");
#ifdef CONFIG_LIBPMEM
@@ -298,8 +298,9 @@ file_backend_class_init(ObjectClass *oc, const void *data)
object_class_property_add_bool(oc, "readonly",
file_memory_backend_get_readonly,
file_memory_backend_set_readonly);
- object_class_property_add(oc, "rom", "OnOffAuto",
- file_memory_backend_get_rom, file_memory_backend_set_rom, NULL, NULL);
+ object_class_property_add(oc, "rom", "OnOffAuto", NULL,
+ file_memory_backend_get_rom,
+ file_memory_backend_set_rom, NULL, NULL);
object_class_property_set_description(oc, "rom",
"Whether to create Read Only Memory (ROM)");
}
diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c
index 666593ff6c..15dc8814ba 100644
--- a/backends/hostmem-memfd.c
+++ b/backends/hostmem-memfd.c
@@ -195,7 +195,7 @@ memfd_backend_class_init(ObjectClass *oc, const void *data)
memfd_backend_set_hugetlb);
object_class_property_set_description(oc, "hugetlb",
"Use huge pages");
- object_class_property_add(oc, "hugetlbsize", "uint64",
+ object_class_property_add(oc, "hugetlbsize", "uint64", NULL,
memfd_backend_get_hugetlbsize,
memfd_backend_set_hugetlbsize,
NULL, NULL);
@@ -203,7 +203,7 @@ memfd_backend_class_init(ObjectClass *oc, const void *data)
"Huge pages size (ex: 2M, 1G)");
}
- object_class_property_add(oc, "guest-memfd", "OnOffAuto",
+ object_class_property_add(oc, "guest-memfd", "OnOffAuto", NULL,
memfd_backend_get_guest_memfd,
memfd_backend_set_guest_memfd, NULL, NULL);
object_class_property_set_description(oc, "guest-memfd",
diff --git a/backends/hostmem.c b/backends/hostmem.c
index 8782c8b1ea..299a3b90fe 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -528,10 +528,10 @@ host_memory_backend_class_init(ObjectClass *oc, const
void *data)
host_memory_backend_set_prealloc);
object_class_property_set_description(oc, "prealloc",
"Preallocate memory");
- object_class_property_add(oc, "prealloc-threads", "int",
- host_memory_backend_get_prealloc_threads,
- host_memory_backend_set_prealloc_threads,
- NULL, NULL);
+ object_class_property_add(oc, "prealloc-threads", "int", NULL,
+ host_memory_backend_get_prealloc_threads,
+ host_memory_backend_set_prealloc_threads,
+ NULL, NULL);
object_class_property_set_description(oc, "prealloc-threads",
"Number of CPU threads to use for prealloc");
object_class_property_add_link(oc, "prealloc-context",
@@ -539,16 +539,16 @@ host_memory_backend_class_init(ObjectClass *oc, const
void *data)
object_property_allow_set_link, OBJ_PROP_LINK_STRONG);
object_class_property_set_description(oc, "prealloc-context",
"Context to use for creating CPU threads for preallocation");
- object_class_property_add(oc, "size", "size",
- host_memory_backend_get_size,
- host_memory_backend_set_size,
- NULL, NULL);
+ object_class_property_add(oc, "size", "size", NULL,
+ host_memory_backend_get_size,
+ host_memory_backend_set_size,
+ NULL, NULL);
object_class_property_set_description(oc, "size",
"Size of the memory region (ex: 500M)");
- object_class_property_add(oc, "host-nodes", "[uint16]",
- host_memory_backend_get_host_nodes,
- host_memory_backend_set_host_nodes,
- NULL, NULL);
+ object_class_property_add(oc, "host-nodes", "[uint16]", NULL,
+ host_memory_backend_get_host_nodes,
+ host_memory_backend_set_host_nodes,
+ NULL, NULL);
object_class_property_set_description(oc, "host-nodes",
"Binds memory to the list of NUMA host nodes");
object_class_property_add_enum(oc, "policy", "HostMemPolicy",
diff --git a/block/throttle-groups.c b/block/throttle-groups.c
index 37814b84fe..cfe2ea67e3 100644
--- a/block/throttle-groups.c
+++ b/block/throttle-groups.c
@@ -984,17 +984,14 @@ static void throttle_group_obj_class_init(ObjectClass
*klass,
/* individual properties */
for (i = 0; i < sizeof(properties) / sizeof(ThrottleParamInfo); i++) {
- object_class_property_add(klass,
- properties[i].name,
- "int64",
+ object_class_property_add(klass, properties[i].name, "int64", NULL,
throttle_group_get,
throttle_group_set,
NULL, &properties[i]);
}
/* ThrottleLimits */
- object_class_property_add(klass,
- "limits", "ThrottleLimits",
+ object_class_property_add(klass, "limits", "ThrottleLimits", NULL,
throttle_group_get_limits,
throttle_group_set_limits,
NULL, NULL);
diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index 81bac42a15..6ce9c2a50b 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -1568,7 +1568,7 @@ static void char_socket_class_init(ObjectClass *oc, const
void *data)
cc->chr_listener_cleanup = tcp_chr_listener_cleanup;
cc->chr_get_filename = tcp_chr_get_filename;
- object_class_property_add(oc, "addr", "SocketAddress",
+ object_class_property_add(oc, "addr", "SocketAddress", NULL,
char_socket_get_addr, NULL,
NULL, NULL);
diff --git a/crypto/secret_keyring.c b/crypto/secret_keyring.c
index 3b332276ef..e9cb222bf8 100644
--- a/crypto/secret_keyring.c
+++ b/crypto/secret_keyring.c
@@ -107,7 +107,7 @@ qcrypto_secret_keyring_class_init(ObjectClass *oc, const
void *data)
QCryptoSecretCommonClass *sic = QCRYPTO_SECRET_COMMON_CLASS(oc);
sic->load_data = qcrypto_secret_keyring_load_data;
- object_class_property_add(oc, "serial", "int32_t",
+ object_class_property_add(oc, "serial", "int32_t", NULL,
qcrypto_secret_prop_get_key,
qcrypto_secret_prop_set_key,
NULL, NULL);
diff --git a/event-loop-base.c b/event-loop-base.c
index 23f554d92c..42bf09d58b 100644
--- a/event-loop-base.c
+++ b/event-loop-base.c
@@ -104,15 +104,15 @@ static void event_loop_base_class_init(ObjectClass *klass,
ucc->complete = event_loop_base_complete;
ucc->prepare_delete = event_loop_base_prepare_delete;
- object_class_property_add(klass, "aio-max-batch", "int64",
+ object_class_property_add(klass, "aio-max-batch", "int64", NULL,
event_loop_base_get_param,
event_loop_base_set_param,
NULL, &aio_max_batch_info);
- object_class_property_add(klass, "thread-pool-min", "int64",
+ object_class_property_add(klass, "thread-pool-min", "int64", NULL,
event_loop_base_get_param,
event_loop_base_set_param,
NULL, &thread_pool_min_info);
- object_class_property_add(klass, "thread-pool-max", "int64",
+ object_class_property_add(klass, "thread-pool-max", "int64", NULL,
event_loop_base_get_param,
event_loop_base_set_param,
NULL, &thread_pool_max_info);
diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c
index 6d421b990c..f3e248c8da 100644
--- a/hw/acpi/ich9.c
+++ b/hw/acpi/ich9.c
@@ -379,7 +379,7 @@ void ich9_pm_add_class_properties(ObjectClass *oc,
ptrdiff_t pm_offset)
PM_REG_FIELD(acpi_pci_hotplug.root),
object_property_allow_set_link,
OBJ_PROP_LINK_STRONG);
- object_class_property_add(oc, ACPI_PM_PROP_GPE0_BLK, "uint32",
+ object_class_property_add(oc, ACPI_PM_PROP_GPE0_BLK, "uint32", NULL,
ich9_pm_get_gpe0_blk,
NULL, NULL, NULL);
object_class_property_add_uint8_ptr(oc, ACPI_PM_PROP_S3_DISABLED,
diff --git a/hw/acpi/pci.c b/hw/acpi/pci.c
index c82924be86..abd1071f49 100644
--- a/hw/acpi/pci.c
+++ b/hw/acpi/pci.c
@@ -139,8 +139,8 @@ static void acpi_generic_initiator_class_init(ObjectClass
*oc, const void *data)
acpi_generic_initiator_set_pci_device);
object_class_property_set_description(oc, "pci-dev",
"PCI device to associate with the node");
- object_class_property_add(oc, "node", "uint32", NULL,
- acpi_generic_initiator_set_node, NULL, NULL);
+ object_class_property_add(oc, "node", "uint32", NULL, NULL,
+ acpi_generic_initiator_set_node, NULL, NULL);
object_class_property_set_description(oc, "node",
"NUMA node associated with the PCI device");
}
@@ -253,8 +253,8 @@ static void acpi_generic_port_class_init(ObjectClass *oc,
const void *data)
acpi_generic_port_set_pci_bus);
object_class_property_set_description(oc, "pci-bus",
"PCI Bus of the host bridge associated with this GP affinity
structure");
- object_class_property_add(oc, "node", "uint32", NULL,
- acpi_generic_port_set_node, NULL, NULL);
+ object_class_property_add(oc, "node", "uint32", NULL, NULL,
+ acpi_generic_port_set_node, NULL, NULL);
object_class_property_set_description(oc, "node",
"The NUMA node like ID to index HMAT/SLIT NUMA properties involving
GP");
}
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 3ab3ad8c3b..dad3f8c39b 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -4206,9 +4206,9 @@ static void virt_machine_class_init(ObjectClass *oc,
const void *data)
mc->default_ram_id = "mach-virt.ram";
mc->default_nic = "virtio-net-pci";
- object_class_property_add(oc, "acpi", "OnOffAuto",
- virt_get_acpi, virt_set_acpi,
- NULL, NULL);
+ object_class_property_add(oc, "acpi", "OnOffAuto", NULL,
+ virt_get_acpi, virt_set_acpi,
+ NULL, NULL);
object_class_property_set_description(oc, "acpi",
"Enable ACPI");
object_class_property_add_bool(oc, "secure", virt_get_secure,
@@ -4259,7 +4259,7 @@ static void virt_machine_class_init(ObjectClass *oc,
const void *data)
"Set on/off to enable/disable high "
"memory region for PCI MMIO");
- object_class_property_add(oc, "highmem-mmio-size", "size",
+ object_class_property_add(oc, "highmem-mmio-size", "size", NULL,
virt_get_highmem_mmio_size,
virt_set_highmem_mmio_size,
NULL, NULL);
@@ -4267,7 +4267,7 @@ static void virt_machine_class_init(ObjectClass *oc,
const void *data)
"Set the high memory region size "
"for PCI MMIO");
- object_class_property_add(oc, "virtio-mmio-transports", "uint8",
+ object_class_property_add(oc, "virtio-mmio-transports", "uint8", NULL,
virt_get_virtio_transports,
virt_set_virtio_transports,
NULL, NULL);
diff --git a/hw/core/clock.c b/hw/core/clock.c
index 3fc98a0c65..d46c888f5c 100644
--- a/hw/core/clock.c
+++ b/hw/core/clock.c
@@ -185,7 +185,7 @@ static void clock_initfn(Object *obj)
QLIST_INIT(&clk->children);
if (qtest_enabled()) {
- object_property_add(obj, "qtest-clock-period", "uint64",
+ object_property_add(obj, "qtest-clock-period", "uint64", NULL,
clock_period_prop_get, NULL, NULL, NULL);
}
}
diff --git a/hw/core/machine.c b/hw/core/machine.c
index d9ac4b419a..50422750be 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -1118,26 +1118,29 @@ static void machine_class_init(ObjectClass *oc, const
void *data)
object_class_property_set_description(oc, "dumpdtb",
"Dump current dtb to a file and quit");
- object_class_property_add(oc, "boot", "BootConfiguration",
- machine_get_boot, machine_set_boot,
- NULL, NULL);
+ object_class_property_add(oc, "boot", "BootConfiguration", NULL,
+ machine_get_boot, machine_set_boot,
+ NULL, NULL);
object_class_property_set_description(oc, "boot",
"Boot configuration");
- object_class_property_add(oc, "smp", "SMPConfiguration",
- machine_get_smp, machine_set_smp,
- NULL, NULL);
+ object_class_property_add(oc, "smp", "SMPConfiguration", NULL,
+ machine_get_smp, machine_set_smp,
+ NULL, NULL);
object_class_property_set_description(oc, "smp",
"CPU topology");
object_class_property_add(oc, "smp-cache", "SmpCachePropertiesWrapper",
- machine_get_smp_cache, machine_set_smp_cache, NULL, NULL);
+ NULL,
+ machine_get_smp_cache, machine_set_smp_cache,
+ NULL, NULL);
object_class_property_set_description(oc, "smp-cache",
"Cache properties list for SMP machine");
- object_class_property_add(oc, "phandle-start", "int",
- machine_get_phandle_start, machine_set_phandle_start,
- NULL, NULL);
+ object_class_property_add(oc, "phandle-start", "int", NULL,
+ machine_get_phandle_start,
+ machine_set_phandle_start,
+ NULL, NULL);
object_class_property_set_description(oc, "phandle-start",
"The first phandle ID we may generate dynamically");
@@ -1212,9 +1215,9 @@ static void machine_class_init(ObjectClass *oc, const
void *data)
"Set RAM backend"
"Valid value is ID of hostmem based
backend");
- object_class_property_add(oc, "memory", "MemorySizeConfiguration",
- machine_get_mem, machine_set_mem,
- NULL, NULL);
+ object_class_property_add(oc, "memory", "MemorySizeConfiguration", NULL,
+ machine_get_mem, machine_set_mem,
+ NULL, NULL);
object_class_property_set_description(oc, "memory",
"Memory size configuration");
}
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index 34d7b26a73..61dca80c95 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -1150,7 +1150,7 @@ void qdev_property_add_static(DeviceState *dev, const
Property *prop)
assert(!prop->info->create);
- op = object_property_add(obj, prop->name, prop->info->type,
+ op = object_property_add(obj, prop->name, prop->info->type, NULL,
field_prop_getter(prop->info),
field_prop_setter(prop->info),
prop->info->release,
@@ -1176,8 +1176,7 @@ static void qdev_class_add_property(DeviceClass *klass,
const char *name,
if (prop->info->create) {
op = prop->info->create(oc, name, prop);
} else {
- op = object_class_property_add(oc,
- name, prop->info->type,
+ op = object_class_property_add(oc, name, prop->info->type, NULL,
field_prop_getter(prop->info),
field_prop_setter(prop->info),
prop->info->release,
diff --git a/hw/cpu/core.c b/hw/cpu/core.c
index 26e488f3d8..f430befad8 100644
--- a/hw/cpu/core.c
+++ b/hw/cpu/core.c
@@ -82,9 +82,11 @@ static void cpu_core_class_init(ObjectClass *oc, const void
*data)
DeviceClass *dc = DEVICE_CLASS(oc);
set_bit(DEVICE_CATEGORY_CPU, dc->categories);
- object_class_property_add(oc, "core-id", "int", core_prop_get_core_id,
+ object_class_property_add(oc, "core-id", "int", NULL,
+ core_prop_get_core_id,
core_prop_set_core_id, NULL, NULL);
- object_class_property_add(oc, "nr-threads", "int",
core_prop_get_nr_threads,
+ object_class_property_add(oc, "nr-threads", "int", NULL,
+ core_prop_get_nr_threads,
core_prop_set_nr_threads, NULL, NULL);
}
diff --git a/hw/cxl/cxl-host.c b/hw/cxl/cxl-host.c
index e279ce5fe3..2ddff574d1 100644
--- a/hw/cxl/cxl-host.c
+++ b/hw/cxl/cxl-host.c
@@ -610,13 +610,13 @@ static void machine_set_cfmw(Object *obj, Visitor *v,
const char *name,
void cxl_machine_init(Object *obj, CXLState *state)
{
- object_property_add(obj, "cxl", "bool", machine_get_cxl,
+ object_property_add(obj, "cxl", "bool", NULL, machine_get_cxl,
machine_set_cxl, NULL, state);
object_property_set_description(obj, "cxl",
"Set on/off to enable/disable "
"CXL instantiation");
- object_property_add(obj, "cxl-fmw", "CXLFixedMemoryWindow",
+ object_property_add(obj, "cxl-fmw", "CXLFixedMemoryWindow", NULL,
machine_get_cfmw, machine_set_cfmw,
NULL, state);
object_property_set_description(obj, "cxl-fmw",
diff --git a/hw/gpio/aspeed_gpio.c b/hw/gpio/aspeed_gpio.c
index 1cf6f5df55..4463cf7c9f 100644
--- a/hw/gpio/aspeed_gpio.c
+++ b/hw/gpio/aspeed_gpio.c
@@ -1481,7 +1481,7 @@ static void aspeed_gpio_init(Object *obj)
int pin_idx = j % GPIOS_PER_GROUP;
const char *group = &props->group_label[group_idx][0];
char *name = g_strdup_printf("gpio%s%d", group, pin_idx);
- object_property_add(obj, name, "bool", aspeed_gpio_get_pin,
+ object_property_add(obj, name, "bool", NULL, aspeed_gpio_get_pin,
aspeed_gpio_set_pin, NULL, NULL);
g_free(name);
}
@@ -1489,8 +1489,8 @@ static void aspeed_gpio_init(Object *obj)
for (int i = 0; i < agc->nr_gpio_sets; i++) {
g_autofree char *name = g_strdup_printf("gpio-set[%d]", i);
- object_property_add(obj, name, "uint32", aspeed_gpio_get_set,
- aspeed_gpio_set_set, NULL, NULL);
+ object_property_add(obj, name, "uint32", NULL, aspeed_gpio_get_set,
+ aspeed_gpio_set_set, NULL, NULL);
}
}
diff --git a/hw/gpio/aspeed_sgpio.c b/hw/gpio/aspeed_sgpio.c
index 7d2f736995..aeaef4f102 100644
--- a/hw/gpio/aspeed_sgpio.c
+++ b/hw/gpio/aspeed_sgpio.c
@@ -300,7 +300,7 @@ static void aspeed_sgpio_init(Object *obj)
{
for (int i = 0; i < ASPEED_SGPIO_MAX_PIN_PAIR * 2; i++) {
g_autofree char *name = g_strdup_printf("sgpio%03d", i);
- object_property_add(obj, name, "bool", aspeed_sgpio_get_pin,
+ object_property_add(obj, name, "bool", NULL, aspeed_sgpio_get_pin,
aspeed_sgpio_set_pin, NULL, NULL);
}
}
diff --git a/hw/gpio/pca9552.c b/hw/gpio/pca9552.c
index 719149b717..7e5fda4980 100644
--- a/hw/gpio/pca9552.c
+++ b/hw/gpio/pca9552.c
@@ -567,12 +567,12 @@ static void pca955x_initfn(Object *obj)
if (k->has_led_support) {
/* LED variant: expose the LED selector state as led%d. */
name = g_strdup_printf("led%d", ix);
- object_property_add(obj, name, "bool",
+ object_property_add(obj, name, "bool", NULL,
pca955x_get_led, pca955x_set_led, NULL, NULL);
} else {
/* GPIO variant: expose the pin logic level as pin%d. */
name = g_strdup_printf("pin%d", ix);
- object_property_add(obj, name, "str",
+ object_property_add(obj, name, "str", NULL,
pca955x_get_pin, pca955x_set_pin, NULL, NULL);
}
g_free(name);
diff --git a/hw/gpio/pca9554.c b/hw/gpio/pca9554.c
index 904698cdce..0dd063f93a 100644
--- a/hw/gpio/pca9554.c
+++ b/hw/gpio/pca9554.c
@@ -280,7 +280,8 @@ static void pca9554_initfn(Object *obj)
char *name;
name = g_strdup_printf("pin%d", pin);
- object_property_add(obj, name, "str", pca9554_get_pin, pca9554_set_pin,
+ object_property_add(obj, name, "str", NULL, pca9554_get_pin,
+ pca9554_set_pin,
NULL, NULL);
g_free(name);
}
diff --git a/hw/gpio/stm32l4x5_gpio.c b/hw/gpio/stm32l4x5_gpio.c
index 92fa397fba..a31999323a 100644
--- a/hw/gpio/stm32l4x5_gpio.c
+++ b/hw/gpio/stm32l4x5_gpio.c
@@ -409,10 +409,10 @@ static void stm32l4x5_gpio_init(Object *obj)
s->clk = qdev_init_clock_in(DEVICE(s), "clk", NULL, s, 0);
- object_property_add(obj, "disconnected-pins", "uint16",
+ object_property_add(obj, "disconnected-pins", "uint16", NULL,
disconnected_pins_get, disconnected_pins_set,
NULL, &s->disconnected_pins);
- object_property_add(obj, "clock-freq-hz", "uint32",
+ object_property_add(obj, "clock-freq-hz", "uint32", NULL,
clock_freq_get, NULL, NULL, NULL);
}
diff --git a/hw/hexagon/hexagon_dsp.c b/hw/hexagon/hexagon_dsp.c
index 05b95f39aa..abccf10c00 100644
--- a/hw/hexagon/hexagon_dsp.c
+++ b/hw/hexagon/hexagon_dsp.c
@@ -153,7 +153,7 @@ static void hexagon_sim_set_subsystem_base(Object *obj,
Visitor *v,
static void add_dsp_properties(ObjectClass *oc)
{
- object_class_property_add(oc, "subsystem-base", "uint32",
+ object_class_property_add(oc, "subsystem-base", "uint32", NULL,
hexagon_sim_get_subsystem_base,
hexagon_sim_set_subsystem_base, NULL, NULL);
object_class_property_set_description(oc, "subsystem-base",
diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c
index a49de33749..c679b3b177 100644
--- a/hw/i386/microvm.c
+++ b/hw/i386/microvm.c
@@ -673,21 +673,21 @@ static void microvm_class_init(ObjectClass *oc, const
void *data)
hc->unplug_request = microvm_device_unplug_request_cb;
hc->unplug = microvm_device_unplug_cb;
- object_class_property_add(oc, MICROVM_MACHINE_RTC, "OnOffAuto",
+ object_class_property_add(oc, MICROVM_MACHINE_RTC, "OnOffAuto", NULL,
microvm_machine_get_rtc,
microvm_machine_set_rtc,
NULL, NULL);
object_class_property_set_description(oc, MICROVM_MACHINE_RTC,
"Enable MC146818 RTC");
- object_class_property_add(oc, MICROVM_MACHINE_PCIE, "OnOffAuto",
+ object_class_property_add(oc, MICROVM_MACHINE_PCIE, "OnOffAuto", NULL,
microvm_machine_get_pcie,
microvm_machine_set_pcie,
NULL, NULL);
object_class_property_set_description(oc, MICROVM_MACHINE_PCIE,
"Enable PCIe");
- object_class_property_add(oc, MICROVM_MACHINE_IOAPIC2, "OnOffAuto",
+ object_class_property_add(oc, MICROVM_MACHINE_IOAPIC2, "OnOffAuto", NULL,
microvm_machine_get_ioapic2,
microvm_machine_set_ioapic2,
NULL, NULL);
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index dbfd55de30..1fce96f5ec 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1722,15 +1722,16 @@ static void pc_machine_class_init(ObjectClass *oc,
const void *data)
mc->default_ram_id = "pc.ram";
pcmc->default_smbios_ep_type = SMBIOS_ENTRY_POINT_TYPE_AUTO;
- object_class_property_add(oc, PC_MACHINE_MAX_RAM_BELOW_4G, "size",
- pc_machine_get_max_ram_below_4g, pc_machine_set_max_ram_below_4g,
- NULL, NULL);
+ object_class_property_add(oc, PC_MACHINE_MAX_RAM_BELOW_4G, "size", NULL,
+ pc_machine_get_max_ram_below_4g,
+ pc_machine_set_max_ram_below_4g,
+ NULL, NULL);
object_class_property_set_description(oc, PC_MACHINE_MAX_RAM_BELOW_4G,
"Maximum ram below the 4G boundary (32bit boundary)");
- object_class_property_add(oc, PC_MACHINE_VMPORT, "OnOffAuto",
- pc_machine_get_vmport, pc_machine_set_vmport,
- NULL, NULL);
+ object_class_property_add(oc, PC_MACHINE_VMPORT, "OnOffAuto", NULL,
+ pc_machine_get_vmport, pc_machine_set_vmport,
+ NULL, NULL);
object_class_property_set_description(oc, PC_MACHINE_VMPORT,
"Enable vmport (pc & q35)");
@@ -1758,15 +1759,17 @@ static void pc_machine_class_init(ObjectClass *oc,
const void *data)
pc_machine_get_default_bus_bypass_iommu,
pc_machine_set_default_bus_bypass_iommu);
- object_class_property_add(oc, PC_MACHINE_MAX_FW_SIZE, "size",
- pc_machine_get_max_fw_size, pc_machine_set_max_fw_size,
- NULL, NULL);
+ object_class_property_add(oc, PC_MACHINE_MAX_FW_SIZE, "size", NULL,
+ pc_machine_get_max_fw_size,
+ pc_machine_set_max_fw_size,
+ NULL, NULL);
object_class_property_set_description(oc, PC_MACHINE_MAX_FW_SIZE,
"Maximum combined firmware size");
- object_class_property_add(oc, PC_MACHINE_SMBIOS_EP, "str",
- pc_machine_get_smbios_ep, pc_machine_set_smbios_ep,
- NULL, NULL);
+ object_class_property_add(oc, PC_MACHINE_SMBIOS_EP, "str", NULL,
+ pc_machine_get_smbios_ep,
+ pc_machine_set_smbios_ep,
+ NULL, NULL);
object_class_property_set_description(oc, PC_MACHINE_SMBIOS_EP,
"SMBIOS Entry Point type [32, 64]");
diff --git a/hw/i386/sgx-epc.c b/hw/i386/sgx-epc.c
index 29cda843c9..a1b55c2ec3 100644
--- a/hw/i386/sgx-epc.c
+++ b/hw/i386/sgx-epc.c
@@ -159,7 +159,7 @@ static void sgx_epc_class_init(ObjectClass *oc, const void
*data)
mdc->get_memory_region = sgx_epc_md_get_memory_region;
mdc->fill_device_info = sgx_epc_md_fill_device_info;
- object_class_property_add(oc, SGX_EPC_SIZE_PROP, "uint64",
+ object_class_property_add(oc, SGX_EPC_SIZE_PROP, "uint64", NULL,
sgx_epc_get_size,
NULL,
NULL, NULL);
diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index f8ba3244e2..1b7740a97e 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -391,26 +391,26 @@ static void x86_machine_class_init(ObjectClass *oc, const
void *data)
mc->kvm_type = x86_kvm_type;
nc->raise_nmi = x86_nmi;
- object_class_property_add(oc, X86_MACHINE_SMM, "OnOffAuto",
- x86_machine_get_smm, x86_machine_set_smm,
- NULL, NULL);
+ object_class_property_add(oc, X86_MACHINE_SMM, "OnOffAuto", NULL,
+ x86_machine_get_smm, x86_machine_set_smm,
+ NULL, NULL);
object_class_property_set_description(oc, X86_MACHINE_SMM,
"Enable SMM");
- object_class_property_add(oc, X86_MACHINE_ACPI, "OnOffAuto",
- x86_machine_get_acpi, x86_machine_set_acpi,
- NULL, NULL);
+ object_class_property_add(oc, X86_MACHINE_ACPI, "OnOffAuto", NULL,
+ x86_machine_get_acpi, x86_machine_set_acpi,
+ NULL, NULL);
object_class_property_set_description(oc, X86_MACHINE_ACPI,
"Enable ACPI");
- object_class_property_add(oc, X86_MACHINE_PIT, "OnOffAuto",
+ object_class_property_add(oc, X86_MACHINE_PIT, "OnOffAuto", NULL,
x86_machine_get_pit,
x86_machine_set_pit,
NULL, NULL);
object_class_property_set_description(oc, X86_MACHINE_PIT,
"Enable i8254 PIT");
- object_class_property_add(oc, X86_MACHINE_PIC, "OnOffAuto",
+ object_class_property_add(oc, X86_MACHINE_PIC, "OnOffAuto", NULL,
x86_machine_get_pic,
x86_machine_set_pic,
NULL, NULL);
@@ -435,14 +435,15 @@ static void x86_machine_class_init(ObjectClass *oc, const
void *data)
"The string may be up to 8 bytes in
size");
object_class_property_add(oc, X86_MACHINE_BUS_LOCK_RATELIMIT, "uint64_t",
+ NULL,
x86_machine_get_bus_lock_ratelimit,
x86_machine_set_bus_lock_ratelimit, NULL,
NULL);
object_class_property_set_description(oc, X86_MACHINE_BUS_LOCK_RATELIMIT,
"Set the ratelimit for the bus locks acquired in VMs");
- object_class_property_add(oc, "sgx-epc", "SgxEPC",
- machine_get_sgx_epc, machine_set_sgx_epc,
- NULL, NULL);
+ object_class_property_add(oc, "sgx-epc", "SgxEPC", NULL,
+ machine_get_sgx_epc, machine_set_sgx_epc,
+ NULL, NULL);
object_class_property_set_description(oc, "sgx-epc",
"SGX EPC device");
}
diff --git a/hw/ide/ide-dev.c b/hw/ide/ide-dev.c
index 5d478588c6..7bb06088a5 100644
--- a/hw/ide/ide-dev.c
+++ b/hw/ide/ide-dev.c
@@ -174,7 +174,7 @@ out:
static void ide_dev_instance_init(Object *obj)
{
- object_property_add(obj, "bootindex", "int32",
+ object_property_add(obj, "bootindex", "int32", NULL,
ide_dev_get_bootindex,
ide_dev_set_bootindex, NULL, NULL);
object_property_set_int(obj, "bootindex", -1, NULL);
diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
index 0f0f37d457..ee5f6cb4c3 100644
--- a/hw/intc/apic_common.c
+++ b/hw/intc/apic_common.c
@@ -442,7 +442,7 @@ static void apic_common_initfn(Object *obj)
APICCommonState *s = APIC_COMMON(obj);
s->id = s->initial_apic_id = -1;
- object_property_add(obj, "id", "uint32",
+ object_property_add(obj, "id", "uint32", NULL,
apic_common_get_id,
apic_common_set_id, NULL, NULL);
}
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index 9c5371af9d..8ad327b8dd 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -1483,18 +1483,18 @@ static void virt_class_init(ObjectClass *oc, const void
*data)
hc->unplug_request = virt_device_unplug_request;
hc->unplug = virt_device_unplug;
- object_class_property_add(oc, "acpi", "OnOffAuto",
- virt_get_acpi, virt_set_acpi,
- NULL, NULL);
+ object_class_property_add(oc, "acpi", "OnOffAuto", NULL,
+ virt_get_acpi, virt_set_acpi,
+ NULL, NULL);
object_class_property_set_description(oc, "acpi",
"Enable ACPI");
- object_class_property_add(oc, "v-eiointc", "OnOffAuto",
- virt_get_veiointc, virt_set_veiointc,
- NULL, NULL);
+ object_class_property_add(oc, "v-eiointc", "OnOffAuto", NULL,
+ virt_get_veiointc, virt_set_veiointc,
+ NULL, NULL);
object_class_property_set_description(oc, "v-eiointc",
"Enable Virt Extend I/O Interrupt Controller.");
- object_class_property_add(oc, "dmsi", "OnOffAuto",
- virt_get_dmsi, virt_set_dmsi, NULL, NULL);
+ object_class_property_add(oc, "dmsi", "OnOffAuto", NULL,
+ virt_get_dmsi, virt_set_dmsi, NULL, NULL);
object_class_property_set_description(oc, "dmsi",
"Enable direct Message-interrupts Controller.");
machine_class_allow_dynamic_sysbus_dev(mc, TYPE_RAMFB_DEVICE);
@@ -1525,7 +1525,7 @@ static void virt_class_init(ObjectClass *oc, const void
*data)
object_class_property_set_description(oc, "highmem-mmio",
"Set on/off to enable/disable high "
"memory region for PCI MMIO");
- object_class_property_add(oc, "highmem-mmio-size", "size",
+ object_class_property_add(oc, "highmem-mmio-size", "size", NULL,
virt_get_highmem_mmio_size,
virt_set_highmem_mmio_size,
NULL, NULL);
diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
index cf8a4d8c5f..8d6e8d0bd9 100644
--- a/hw/mem/nvdimm.c
+++ b/hw/mem/nvdimm.c
@@ -99,11 +99,12 @@ static void nvdimm_set_uuid(Object *obj, Visitor *v, const
char *name,
static void nvdimm_init(Object *obj)
{
- object_property_add(obj, NVDIMM_LABEL_SIZE_PROP, "size",
+ object_property_add(obj, NVDIMM_LABEL_SIZE_PROP, "size", NULL,
nvdimm_get_label_size, nvdimm_set_label_size, NULL,
NULL);
- object_property_add(obj, NVDIMM_UUID_PROP, "QemuUUID", nvdimm_get_uuid,
+ object_property_add(obj, NVDIMM_UUID_PROP, "QemuUUID", NULL,
+ nvdimm_get_uuid,
nvdimm_set_uuid, NULL, NULL);
}
diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index 68862926ee..7250146c10 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -176,7 +176,8 @@ static void pc_dimm_get_size(Object *obj, Visitor *v, const
char *name,
static void pc_dimm_init(Object *obj)
{
- object_property_add(obj, PC_DIMM_SIZE_PROP, "uint64", pc_dimm_get_size,
+ object_property_add(obj, PC_DIMM_SIZE_PROP, "uint64", NULL,
+ pc_dimm_get_size,
NULL, NULL, NULL);
}
diff --git a/hw/misc/aspeed_lpc.c b/hw/misc/aspeed_lpc.c
index 7f7e4f1a09..a73df07332 100644
--- a/hw/misc/aspeed_lpc.c
+++ b/hw/misc/aspeed_lpc.c
@@ -417,29 +417,41 @@ static void aspeed_lpc_realize(DeviceState *dev, Error
**errp)
static void aspeed_lpc_init(Object *obj)
{
- object_property_add(obj, "idr1", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "idr1", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "odr1", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "odr1", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "str1", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "str1", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "idr2", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "idr2", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "odr2", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "odr2", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "str2", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "str2", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "idr3", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "idr3", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "odr3", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "odr3", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "str3", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "str3", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "idr4", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "idr4", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "odr4", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "odr4", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
- object_property_add(obj, "str4", "uint32",
aspeed_kcs_get_register_property,
+ object_property_add(obj, "str4", "uint32", NULL,
+ aspeed_kcs_get_register_property,
aspeed_kcs_set_register_property, NULL, NULL);
}
diff --git a/hw/misc/aspeed_sdmc.c b/hw/misc/aspeed_sdmc.c
index f8fbaebee6..427816b838 100644
--- a/hw/misc/aspeed_sdmc.c
+++ b/hw/misc/aspeed_sdmc.c
@@ -259,7 +259,7 @@ static void aspeed_sdmc_set_ram_size(Object *obj, Visitor
*v, const char *name,
static void aspeed_sdmc_initfn(Object *obj)
{
- object_property_add(obj, "ram-size", "int",
+ object_property_add(obj, "ram-size", "int", NULL,
aspeed_sdmc_get_ram_size, aspeed_sdmc_set_ram_size,
NULL, NULL);
}
diff --git a/hw/misc/npcm7xx_mft.c b/hw/misc/npcm7xx_mft.c
index 742166c4e8..3ce92fad3a 100644
--- a/hw/misc/npcm7xx_mft.c
+++ b/hw/misc/npcm7xx_mft.c
@@ -491,7 +491,7 @@ static void npcm7xx_mft_init(Object *obj)
s->clock_2 = qdev_init_clock_out(dev, "clock2");
for (int i = 0; i < NPCM7XX_PWM_PER_MODULE; ++i) {
- object_property_add(obj, "max_rpm[*]", "uint32",
+ object_property_add(obj, "max_rpm[*]", "uint32", NULL,
npcm7xx_mft_get_max_rpm,
npcm7xx_mft_set_max_rpm,
NULL, &s->max_rpm[i]);
diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c
index 673c785abc..02300eaaa6 100644
--- a/hw/net/ne2000-isa.c
+++ b/hw/net/ne2000-isa.c
@@ -131,7 +131,7 @@ out:
static void isa_ne2000_instance_init(Object *obj)
{
- object_property_add(obj, "bootindex", "int32",
+ object_property_add(obj, "bootindex", "int32", NULL,
isa_ne2000_get_bootindex,
isa_ne2000_set_bootindex, NULL, NULL);
object_property_set_int(obj, "bootindex", -1, NULL);
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 578421c217..405010af4b 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -10612,7 +10612,7 @@ static void nvme_instance_init(Object *obj)
"bootindex", "/namespace@1,0",
DEVICE(obj));
- object_property_add(obj, "smart_critical_warning", "uint8",
+ object_property_add(obj, "smart_critical_warning", "uint8", NULL,
nvme_get_smart_warning,
nvme_set_smart_warning, NULL, NULL);
}
diff --git a/hw/pci-bridge/pci_expander_bridge.c
b/hw/pci-bridge/pci_expander_bridge.c
index 40ffbc4e08..1b22f5e383 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -103,7 +103,7 @@ static void pxb_bus_class_init(ObjectClass *class, const
void *data)
pbc->bus_num = pxb_bus_num;
pbc->numa_node = pxb_bus_numa_node;
- object_class_property_add(class, "acpi_uid", "uint32",
+ object_class_property_add(class, "acpi_uid", "uint32", NULL,
prop_pxb_uid_get, NULL, NULL, NULL);
object_class_property_set_description(class, "acpi_uid",
"ACPI Unique ID used to distinguish this PCI Host Bridge / ACPI00016");
diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c
index c1982f7962..bf4b6c4253 100644
--- a/hw/pci-host/i440fx.c
+++ b/hw/pci-host/i440fx.c
@@ -388,18 +388,22 @@ static void i440fx_pcihost_class_init(ObjectClass *klass,
const void *data)
dc->user_creatable = false;
object_class_property_add(klass, PCI_HOST_PROP_PCI_HOLE_START, "uint32",
+ NULL,
i440fx_pcihost_get_pci_hole_start,
NULL, NULL, NULL);
object_class_property_add(klass, PCI_HOST_PROP_PCI_HOLE_END, "uint32",
+ NULL,
i440fx_pcihost_get_pci_hole_end,
NULL, NULL, NULL);
object_class_property_add(klass, PCI_HOST_PROP_PCI_HOLE64_START, "uint64",
+ NULL,
i440fx_pcihost_get_pci_hole64_start,
NULL, NULL, NULL);
object_class_property_add(klass, PCI_HOST_PROP_PCI_HOLE64_END, "uint64",
+ NULL,
i440fx_pcihost_get_pci_hole64_end,
NULL, NULL, NULL);
}
diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c
index db061c134e..c45401d9dd 100644
--- a/hw/pci-host/pnv_phb3.c
+++ b/hw/pci-host/pnv_phb3.c
@@ -1164,12 +1164,12 @@ static void pnv_phb3_root_bus_class_init(ObjectClass
*klass, const void *data)
{
BusClass *k = BUS_CLASS(klass);
- object_class_property_add(klass, "phb-id", "uint32",
+ object_class_property_add(klass, "phb-id", "uint32", NULL,
pnv_phb3_root_bus_get_prop,
pnv_phb3_root_bus_set_prop,
NULL, NULL);
- object_class_property_add(klass, "chip-id", "uint32",
+ object_class_property_add(klass, "chip-id", "uint32", NULL,
pnv_phb3_root_bus_get_prop,
pnv_phb3_root_bus_set_prop,
NULL, NULL);
diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c
index ac09a0b034..6a5d1bb227 100644
--- a/hw/pci-host/pnv_phb4.c
+++ b/hw/pci-host/pnv_phb4.c
@@ -1775,12 +1775,12 @@ static void pnv_phb4_root_bus_class_init(ObjectClass
*klass, const void *data)
{
BusClass *k = BUS_CLASS(klass);
- object_class_property_add(klass, "phb-id", "uint32",
+ object_class_property_add(klass, "phb-id", "uint32", NULL,
pnv_phb4_root_bus_get_prop,
pnv_phb4_root_bus_set_prop,
NULL, NULL);
- object_class_property_add(klass, "chip-id", "uint32",
+ object_class_property_add(klass, "chip-id", "uint32", NULL,
pnv_phb4_root_bus_get_prop,
pnv_phb4_root_bus_set_prop,
NULL, NULL);
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index f4556ad03a..027ae02066 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -226,19 +226,19 @@ static void q35_host_initfn(Object *obj)
qdev_prop_set_uint64(DEVICE(s), PCI_HOST_PROP_PCI_HOLE64_SIZE,
Q35_PCI_HOST_HOLE64_SIZE_DEFAULT);
- object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_START, "uint32",
+ object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_START, "uint32", NULL,
q35_host_get_pci_hole_start,
NULL, NULL, NULL);
- object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_END, "uint32",
+ object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_END, "uint32", NULL,
q35_host_get_pci_hole_end,
NULL, NULL, NULL);
- object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_START, "uint64",
+ object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_START, "uint64", NULL,
q35_host_get_pci_hole64_start,
NULL, NULL, NULL);
- object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_END, "uint64",
+ object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_END, "uint64", NULL,
q35_host_get_pci_hole64_end,
NULL, NULL, NULL);
diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c
index 0d659e9b02..b8c48bca8a 100644
--- a/hw/ppc/spapr_caps.c
+++ b/hw/ppc/spapr_caps.c
@@ -1069,7 +1069,7 @@ void spapr_caps_add_properties(SpaprMachineClass *smc)
g_autofree char *name = g_strdup_printf("cap-%s", cap->name);
g_autofree char *desc = g_strdup(cap->description);
- object_class_property_add(klass, name, cap->type,
+ object_class_property_add(klass, name, cap->type, NULL,
cap->get, cap->set,
NULL, cap);
diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c
index 5c2150b71c..a33f0949d1 100644
--- a/hw/ppc/spapr_drc.c
+++ b/hw/ppc/spapr_drc.c
@@ -584,9 +584,9 @@ static void spapr_dr_connector_instance_init(Object *obj)
SpaprDrcClass *drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
object_property_add_uint32_ptr(obj, "id", &drc->id, OBJ_PROP_FLAG_READ);
- object_property_add(obj, "index", "uint32", prop_get_index,
+ object_property_add(obj, "index", "uint32", NULL, prop_get_index,
NULL, NULL, NULL);
- object_property_add(obj, "fdt", "struct", prop_get_fdt,
+ object_property_add(obj, "fdt", "struct", NULL, prop_get_fdt,
NULL, NULL, NULL);
drc->state = drck->empty_state;
}
diff --git a/hw/remote/vfio-user-obj.c b/hw/remote/vfio-user-obj.c
index a0498d218f..c4b3cb0b7b 100644
--- a/hw/remote/vfio-user-obj.c
+++ b/hw/remote/vfio-user-obj.c
@@ -931,7 +931,7 @@ static void vfu_object_class_init(ObjectClass *klass, const
void *data)
k->nr_devs = 0;
- object_class_property_add(klass, "socket", "SocketAddress", NULL,
+ object_class_property_add(klass, "socket", "SocketAddress", NULL, NULL,
vfu_object_set_socket, NULL, NULL);
object_class_property_set_description(klass, "socket",
"SocketAddress "
diff --git a/hw/riscv/microchip_pfsoc.c b/hw/riscv/microchip_pfsoc.c
index edd29626fa..04c48a4eda 100644
--- a/hw/riscv/microchip_pfsoc.c
+++ b/hw/riscv/microchip_pfsoc.c
@@ -744,6 +744,7 @@ static void
microchip_icicle_kit_machine_class_init(ObjectClass *oc,
mc->default_ram_size = 1537 * MiB;
object_class_property_add(oc, "clint-timebase-frequency", "uint32_t",
+ NULL,
microchip_icicle_kit_get_clint_timebase_freq,
microchip_icicle_kit_set_clint_timebase_freq,
NULL, NULL);
diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index de1c92463a..65f4c67bff 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -1184,13 +1184,13 @@ static void virt_machine_class_init(ObjectClass *oc,
const void *data)
object_class_property_set_description(oc, "aia-guests", str);
}
- object_class_property_add(oc, "acpi", "OnOffAuto",
+ object_class_property_add(oc, "acpi", "OnOffAuto", NULL,
virt_get_acpi, virt_set_acpi,
NULL, NULL);
object_class_property_set_description(oc, "acpi",
"Enable ACPI");
- object_class_property_add(oc, "iommu-sys", "OnOffAuto",
+ object_class_property_add(oc, "iommu-sys", "OnOffAuto", NULL,
virt_get_iommu_sys, virt_set_iommu_sys,
NULL, NULL);
object_class_property_set_description(oc, "iommu-sys",
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index fda5ecc9ad..7d4392d73f 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -908,7 +908,7 @@ static void ccw_machine_class_init(ObjectClass *oc, const
void *data)
object_class_property_set_description(oc, "dea-key-wrap",
"enable/disable DEA key wrapping using the CPACF wrapping key");
- object_class_property_add(oc, "loadparm", "loadparm",
+ object_class_property_add(oc, "loadparm", "loadparm", NULL,
machine_get_loadparm, machine_set_loadparm,
NULL, NULL);
object_class_property_set_description(oc, "loadparm",
@@ -916,7 +916,7 @@ static void ccw_machine_class_init(ObjectClass *oc, const
void *data)
" to upper case) to pass to machine loader, boot manager,"
" and guest kernel");
- object_class_property_add(oc, "boot-certs", "BootCertificatesList",
+ object_class_property_add(oc, "boot-certs", "BootCertificatesList", NULL,
machine_get_boot_certs, machine_set_boot_certs,
NULL, NULL);
object_class_property_set_description(oc, "boot-certs",
"provide paths to a directory and/or a certificate file for secure
boot");
diff --git a/hw/s390x/sclpcpi.c b/hw/s390x/sclpcpi.c
index ec4bdf2350..90cb36aad6 100644
--- a/hw/s390x/sclpcpi.c
+++ b/hw/s390x/sclpcpi.c
@@ -195,12 +195,14 @@ static void cpi_class_init(ObjectClass *klass, const void
*data)
"name of the cluster which the VM belongs to, if any"
" e.g. \"PLEX \"");
- object_class_property_add(klass, "system_level", "uint64",
get_system_level,
+ object_class_property_add(klass, "system_level", "uint64", NULL,
+ get_system_level,
NULL, NULL, NULL);
object_class_property_set_description(klass, "system_level",
"distribution and kernel version in Linux e.g. 74872343805430528");
- object_class_property_add(klass, "timestamp", "uint64", get_timestamp,
+ object_class_property_add(klass, "timestamp", "uint64", NULL,
+ get_timestamp,
NULL, NULL, NULL);
object_class_property_set_description(klass, "timestamp",
"latest update of CPI data in nanoseconds since the UNIX EPOCH");
diff --git a/hw/s390x/virtio-ccw-mem.c b/hw/s390x/virtio-ccw-mem.c
index dea30aacfb..1dc19ca914 100644
--- a/hw/s390x/virtio-ccw-mem.c
+++ b/hw/s390x/virtio-ccw-mem.c
@@ -205,7 +205,7 @@ static void virtio_ccw_mem_instance_init(Object *obj)
OBJECT(&dev->vdev), VIRTIO_MEM_BLOCK_SIZE_PROP);
object_property_add_alias(obj, VIRTIO_MEM_SIZE_PROP, OBJECT(&dev->vdev),
VIRTIO_MEM_SIZE_PROP);
- object_property_add(obj, VIRTIO_MEM_REQUESTED_SIZE_PROP, "size",
+ object_property_add(obj, VIRTIO_MEM_REQUESTED_SIZE_PROP, "size", NULL,
virtio_ccw_mem_get_requested_size,
virtio_ccw_mem_set_requested_size, NULL, NULL);
}
diff --git a/hw/sensor/adc128d818.c b/hw/sensor/adc128d818.c
index c65508cba1..14d79d3958 100644
--- a/hw/sensor/adc128d818.c
+++ b/hw/sensor/adc128d818.c
@@ -642,14 +642,16 @@ static void adc128d818_initfn(Object *obj)
for (unsigned ch = 0u; ch < ADC128D818_NUM_CHANNELS; ch++) {
char *name = g_strdup_printf("ain%u", ch);
- object_property_add(obj, name, "int", adc128d818_get_ain,
+ object_property_add(obj, name, "int", NULL, adc128d818_get_ain,
adc128d818_set_ain, NULL, NULL);
g_free(name);
}
- object_property_add(obj, "temperature", "int", adc128d818_get_temperature,
+ object_property_add(obj, "temperature", "int", NULL,
+ adc128d818_get_temperature,
adc128d818_set_temperature, NULL, NULL);
- object_property_add(obj, "ext-vref-mv", "int", adc128d818_get_ext_vref,
+ object_property_add(obj, "ext-vref-mv", "int", NULL,
+ adc128d818_get_ext_vref,
adc128d818_set_ext_vref, NULL, NULL);
}
diff --git a/hw/sensor/adm1266.c b/hw/sensor/adm1266.c
index 37d1cffd57..7927845e32 100644
--- a/hw/sensor/adm1266.c
+++ b/hw/sensor/adm1266.c
@@ -217,7 +217,7 @@ static void adm1266_init(Object *obj)
for (int i = 0; i < ADM1266_NUM_PAGES; i++) {
pmbus_page_config(pmdev, i, flags);
- object_property_add(obj, "vout[*]", "uint16",
+ object_property_add(obj, "vout[*]", "uint16", NULL,
adm1266_get,
adm1266_set, NULL, &pmdev->pages[i].read_vout);
}
diff --git a/hw/sensor/adm1272.c b/hw/sensor/adm1272.c
index 0aa2a86556..6a7ff02617 100644
--- a/hw/sensor/adm1272.c
+++ b/hw/sensor/adm1272.c
@@ -493,19 +493,19 @@ static void adm1272_init(Object *obj)
pmbus_page_config(pmdev, 0, flags);
- object_property_add(obj, "vin", "uint16",
+ object_property_add(obj, "vin", "uint16", NULL,
adm1272_get,
adm1272_set, NULL, &pmdev->pages[0].read_vin);
- object_property_add(obj, "vout", "uint16",
+ object_property_add(obj, "vout", "uint16", NULL,
adm1272_get,
adm1272_set, NULL, &pmdev->pages[0].read_vout);
- object_property_add(obj, "iout", "uint16",
+ object_property_add(obj, "iout", "uint16", NULL,
adm1272_get,
adm1272_set, NULL, &pmdev->pages[0].read_iout);
- object_property_add(obj, "pin", "uint16",
+ object_property_add(obj, "pin", "uint16", NULL,
adm1272_get,
adm1272_set, NULL, &pmdev->pages[0].read_pin);
diff --git a/hw/sensor/emc141x.c b/hw/sensor/emc141x.c
index a51fc44395..128d721b7b 100644
--- a/hw/sensor/emc141x.c
+++ b/hw/sensor/emc141x.c
@@ -251,16 +251,16 @@ static void emc141x_reset(DeviceState *dev)
static void emc141x_initfn(Object *obj)
{
- object_property_add(obj, "temperature0", "int",
+ object_property_add(obj, "temperature0", "int", NULL,
emc141x_get_temperature,
emc141x_set_temperature, NULL, NULL);
- object_property_add(obj, "temperature1", "int",
+ object_property_add(obj, "temperature1", "int", NULL,
emc141x_get_temperature,
emc141x_set_temperature, NULL, NULL);
- object_property_add(obj, "temperature2", "int",
+ object_property_add(obj, "temperature2", "int", NULL,
emc141x_get_temperature,
emc141x_set_temperature, NULL, NULL);
- object_property_add(obj, "temperature3", "int",
+ object_property_add(obj, "temperature3", "int", NULL,
emc141x_get_temperature,
emc141x_set_temperature, NULL, NULL);
}
diff --git a/hw/sensor/isl_pmbus_vr.c b/hw/sensor/isl_pmbus_vr.c
index 0fad04def7..1af0f2af35 100644
--- a/hw/sensor/isl_pmbus_vr.c
+++ b/hw/sensor/isl_pmbus_vr.c
@@ -136,63 +136,63 @@ static void isl_pmbus_vr_add_props(Object *obj, uint64_t
*flags, uint8_t pages)
PMBusDevice *pmdev = PMBUS_DEVICE(obj);
for (int i = 0; i < pages; i++) {
if (flags[i] & PB_HAS_VIN) {
- object_property_add(obj, "vin[*]", "uint16",
+ object_property_add(obj, "vin[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_vin);
}
if (flags[i] & PB_HAS_VOUT) {
- object_property_add(obj, "vout[*]", "uint16",
+ object_property_add(obj, "vout[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_vout);
}
if (flags[i] & PB_HAS_IIN) {
- object_property_add(obj, "iin[*]", "uint16",
+ object_property_add(obj, "iin[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_iin);
}
if (flags[i] & PB_HAS_IOUT) {
- object_property_add(obj, "iout[*]", "uint16",
+ object_property_add(obj, "iout[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_iout);
}
if (flags[i] & PB_HAS_PIN) {
- object_property_add(obj, "pin[*]", "uint16",
+ object_property_add(obj, "pin[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_pin);
}
if (flags[i] & PB_HAS_POUT) {
- object_property_add(obj, "pout[*]", "uint16",
+ object_property_add(obj, "pout[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_pout);
}
if (flags[i] & PB_HAS_TEMPERATURE) {
- object_property_add(obj, "temp1[*]", "uint16",
+ object_property_add(obj, "temp1[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_temperature_1);
}
if (flags[i] & PB_HAS_TEMP2) {
- object_property_add(obj, "temp2[*]", "uint16",
+ object_property_add(obj, "temp2[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_temperature_2);
}
if (flags[i] & PB_HAS_TEMP3) {
- object_property_add(obj, "temp3[*]", "uint16",
+ object_property_add(obj, "temp3[*]", "uint16", NULL,
isl_pmbus_vr_get,
isl_pmbus_vr_set,
NULL, &pmdev->pages[i].read_temperature_3);
diff --git a/hw/sensor/lsm303dlhc_mag.c b/hw/sensor/lsm303dlhc_mag.c
index cd5773ae64..f362686b69 100644
--- a/hw/sensor/lsm303dlhc_mag.c
+++ b/hw/sensor/lsm303dlhc_mag.c
@@ -509,21 +509,21 @@ static void lsm303dlhc_mag_reset(DeviceState *dev)
*/
static void lsm303dlhc_mag_initfn(Object *obj)
{
- object_property_add(obj, "mag-x", "int",
- lsm303dlhc_mag_get_x,
- lsm303dlhc_mag_set_x, NULL, NULL);
+ object_property_add(obj, "mag-x", "int", NULL,
+ lsm303dlhc_mag_get_x,
+ lsm303dlhc_mag_set_x, NULL, NULL);
- object_property_add(obj, "mag-y", "int",
- lsm303dlhc_mag_get_y,
- lsm303dlhc_mag_set_y, NULL, NULL);
+ object_property_add(obj, "mag-y", "int", NULL,
+ lsm303dlhc_mag_get_y,
+ lsm303dlhc_mag_set_y, NULL, NULL);
- object_property_add(obj, "mag-z", "int",
- lsm303dlhc_mag_get_z,
- lsm303dlhc_mag_set_z, NULL, NULL);
+ object_property_add(obj, "mag-z", "int", NULL,
+ lsm303dlhc_mag_get_z,
+ lsm303dlhc_mag_set_z, NULL, NULL);
- object_property_add(obj, "temperature", "int",
- lsm303dlhc_mag_get_temperature,
- lsm303dlhc_mag_set_temperature, NULL, NULL);
+ object_property_add(obj, "temperature", "int", NULL,
+ lsm303dlhc_mag_get_temperature,
+ lsm303dlhc_mag_set_temperature, NULL, NULL);
}
/*
diff --git a/hw/sensor/max34451.c b/hw/sensor/max34451.c
index 4d64434f3a..6c2f7311ff 100644
--- a/hw/sensor/max34451.c
+++ b/hw/sensor/max34451.c
@@ -727,7 +727,7 @@ static void max34451_init(Object *obj)
/* get and set the voltage in millivolts, max is 32767 mV */
for (int i = 0; i < MAX34451_NUM_PWR_DEVICES; i++) {
- object_property_add(obj, "vout[*]", "uint16",
+ object_property_add(obj, "vout[*]", "uint16", NULL,
max34451_get,
max34451_set, NULL, &pmdev->pages[i].read_vout);
}
@@ -737,7 +737,7 @@ static void max34451_init(Object *obj)
* centidegrees Celsius i.e.: 2500 -> 25.00 C, max is 327.67 C
*/
for (int i = 0; i < MAX34451_NUM_TEMP_DEVICES; i++) {
- object_property_add(obj, "temperature[*]", "uint16",
+ object_property_add(obj, "temperature[*]", "uint16", NULL,
max34451_get,
max34451_set,
NULL,
diff --git a/hw/sensor/tmp105.c b/hw/sensor/tmp105.c
index ece0650d70..98f45a49b7 100644
--- a/hw/sensor/tmp105.c
+++ b/hw/sensor/tmp105.c
@@ -408,7 +408,7 @@ static void tmp105_realize(DeviceState *dev, Error **errp)
static void tmp105_initfn(Object *obj)
{
- object_property_add(obj, "temperature", "int",
+ object_property_add(obj, "temperature", "int", NULL,
tmp105_get_temperature,
tmp105_set_temperature, NULL, NULL);
object_property_set_description(obj, "temperature",
diff --git a/hw/sensor/tmp421.c b/hw/sensor/tmp421.c
index 127edd0ba5..8e6823dfcc 100644
--- a/hw/sensor/tmp421.c
+++ b/hw/sensor/tmp421.c
@@ -350,16 +350,16 @@ static void tmp421_class_init(ObjectClass *klass, const
void *data)
dc->vmsd = &vmstate_tmp421;
sc->dev = (DeviceInfo *) data;
- object_class_property_add(klass, "temperature0", "int",
+ object_class_property_add(klass, "temperature0", "int", NULL,
tmp421_get_temperature,
tmp421_set_temperature, NULL, NULL);
- object_class_property_add(klass, "temperature1", "int",
+ object_class_property_add(klass, "temperature1", "int", NULL,
tmp421_get_temperature,
tmp421_set_temperature, NULL, NULL);
- object_class_property_add(klass, "temperature2", "int",
+ object_class_property_add(klass, "temperature2", "int", NULL,
tmp421_get_temperature,
tmp421_set_temperature, NULL, NULL);
- object_class_property_add(klass, "temperature3", "int",
+ object_class_property_add(klass, "temperature3", "int", NULL,
tmp421_get_temperature,
tmp421_set_temperature, NULL, NULL);
}
diff --git a/hw/usb/dev-storage-classic.c b/hw/usb/dev-storage-classic.c
index 977151c4a0..dfd568da5e 100644
--- a/hw/usb/dev-storage-classic.c
+++ b/hw/usb/dev-storage-classic.c
@@ -122,7 +122,7 @@ out:
static void usb_msd_instance_init(Object *obj)
{
- object_property_add(obj, "bootindex", "int32",
+ object_property_add(obj, "bootindex", "int32", NULL,
usb_msd_get_bootindex,
usb_msd_set_bootindex, NULL, NULL);
object_property_set_int(obj, "bootindex", -1, NULL);
diff --git a/hw/vfio-user/pci.c b/hw/vfio-user/pci.c
index 983e1d4ad4..4c76a3fe5d 100644
--- a/hw/vfio-user/pci.c
+++ b/hw/vfio-user/pci.c
@@ -471,7 +471,7 @@ static void vfio_user_pci_class_init(ObjectClass *klass,
const void *data)
device_class_set_legacy_reset(dc, vfio_user_pci_reset);
device_class_set_props(dc, vfio_user_pci_properties);
- object_class_property_add(klass, "socket", "SocketAddress", NULL,
+ object_class_property_add(klass, "socket", "SocketAddress", NULL, NULL,
vfio_user_pci_set_socket, NULL, NULL);
object_class_property_set_description(klass, "socket",
"SocketAddress (UNIX sockets only)");
diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
index 07d519cf6d..995b1a41ef 100644
--- a/hw/virtio/virtio-balloon.c
+++ b/hw/virtio/virtio-balloon.c
@@ -1036,10 +1036,10 @@ static void virtio_balloon_instance_init(Object *obj)
s->free_page_hint_cmd_id = VIRTIO_BALLOON_FREE_PAGE_HINT_CMD_ID_MIN;
s->free_page_hint_notify.notify = virtio_balloon_free_page_hint_notify;
- object_property_add(obj, "guest-stats", "guest statistics",
+ object_property_add(obj, "guest-stats", "guest statistics", NULL,
balloon_stats_get_all, NULL, NULL, NULL);
- object_property_add(obj, "guest-stats-polling-interval", "int",
+ object_property_add(obj, "guest-stats-polling-interval", "int", NULL,
balloon_stats_get_poll_interval,
balloon_stats_set_poll_interval,
NULL, NULL);
diff --git a/hw/virtio/virtio-mem-pci.c b/hw/virtio/virtio-mem-pci.c
index f592eb1a78..6349337bf4 100644
--- a/hw/virtio/virtio-mem-pci.c
+++ b/hw/virtio/virtio-mem-pci.c
@@ -211,7 +211,7 @@ static void virtio_mem_pci_instance_init(Object *obj)
OBJECT(&dev->vdev), VIRTIO_MEM_BLOCK_SIZE_PROP);
object_property_add_alias(obj, VIRTIO_MEM_SIZE_PROP, OBJECT(&dev->vdev),
VIRTIO_MEM_SIZE_PROP);
- object_property_add(obj, VIRTIO_MEM_REQUESTED_SIZE_PROP, "size",
+ object_property_add(obj, VIRTIO_MEM_REQUESTED_SIZE_PROP, "size", NULL,
virtio_mem_pci_get_requested_size,
virtio_mem_pci_set_requested_size, NULL, NULL);
}
diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
index 7130ed852d..fcfd9fa18a 100644
--- a/hw/virtio/virtio-mem.c
+++ b/hw/virtio/virtio-mem.c
@@ -1533,12 +1533,13 @@ static void virtio_mem_instance_init(Object *obj)
notifier_list_init(&vmem->size_change_notifiers);
- object_property_add(obj, VIRTIO_MEM_SIZE_PROP, "size", virtio_mem_get_size,
+ object_property_add(obj, VIRTIO_MEM_SIZE_PROP, "size", NULL,
+ virtio_mem_get_size,
NULL, NULL, NULL);
- object_property_add(obj, VIRTIO_MEM_REQUESTED_SIZE_PROP, "size",
+ object_property_add(obj, VIRTIO_MEM_REQUESTED_SIZE_PROP, "size", NULL,
virtio_mem_get_requested_size,
virtio_mem_set_requested_size, NULL, NULL);
- object_property_add(obj, VIRTIO_MEM_BLOCK_SIZE_PROP, "size",
+ object_property_add(obj, VIRTIO_MEM_BLOCK_SIZE_PROP, "size", NULL,
virtio_mem_get_block_size, virtio_mem_set_block_size,
NULL, NULL);
}
diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index cca37202ff..ddeabe30f2 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -413,7 +413,7 @@ void xen_pvh_class_setup_common_props(XenPVHMachineClass
*xpc)
#define OC_MEMMAP_PROP_BASE(c, prop_name, name) \
do { \
- object_class_property_add(c, prop_name "-base", "uint64_t", \
+ object_class_property_add(c, prop_name "-base", "uint64_t", NULL, \
xen_pvh_get_ ## name ## _base, \
xen_pvh_set_ ## name ## _base, NULL, NULL); \
object_class_property_set_description(oc, prop_name "-base", \
@@ -422,7 +422,7 @@ do {
\
#define OC_MEMMAP_PROP_SIZE(c, prop_name, name) \
do { \
- object_class_property_add(c, prop_name "-size", "uint64_t", \
+ object_class_property_add(c, prop_name "-size", "uint64_t", NULL, \
xen_pvh_get_ ## name ## _size, \
xen_pvh_set_ ## name ## _size, NULL, NULL); \
object_class_property_set_description(oc, prop_name "-size", \
@@ -458,7 +458,7 @@ do {
\
OC_MEMMAP_PROP(oc, "pci-mmio", pci_mmio);
OC_MEMMAP_PROP(oc, "pci-mmio-high", pci_mmio_high);
- object_class_property_add(oc, "pci-intx-irq-base", "uint32_t",
+ object_class_property_add(oc, "pci-intx-irq-base", "uint32_t", NULL,
xen_pvh_get_pci_intx_irq_base,
xen_pvh_set_pci_intx_irq_base,
NULL, NULL);
@@ -468,7 +468,7 @@ do {
\
#ifdef CONFIG_TPM
if (xpc->has_tpm) {
- object_class_property_add(oc, "tpm-base-addr", "uint64_t",
+ object_class_property_add(oc, "tpm-base-addr", "uint64_t", NULL,
xen_pvh_get_tpm_base,
xen_pvh_set_tpm_base,
NULL, NULL);
diff --git a/iothread.c b/iothread.c
index 76eea6df38..7084d336a4 100644
--- a/iothread.c
+++ b/iothread.c
@@ -315,19 +315,19 @@ static void iothread_class_init(ObjectClass *klass, const
void *class_data)
bc->init = iothread_init;
bc->update_params = iothread_set_aio_context_params;
- object_class_property_add(klass, "poll-max-ns", "int64",
+ object_class_property_add(klass, "poll-max-ns", "int64", NULL,
iothread_get_poll_param,
iothread_set_poll_param,
NULL, &poll_max_ns_info);
- object_class_property_add(klass, "poll-grow", "int64",
+ object_class_property_add(klass, "poll-grow", "int64", NULL,
iothread_get_poll_param,
iothread_set_poll_param,
NULL, &poll_grow_info);
- object_class_property_add(klass, "poll-shrink", "int64",
+ object_class_property_add(klass, "poll-shrink", "int64", NULL,
iothread_get_poll_param,
iothread_set_poll_param,
NULL, &poll_shrink_info);
- object_class_property_add(klass, "poll-weight", "int64",
+ object_class_property_add(klass, "poll-weight", "int64", NULL,
iothread_get_poll_param,
iothread_set_poll_param,
NULL, &poll_weight_info);
diff --git a/net/colo-compare.c b/net/colo-compare.c
index 5986fb1e88..7d4a2db522 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -1373,15 +1373,15 @@ static void colo_compare_init(Object *obj)
object_property_add_str(obj, "notify_dev",
compare_get_notify_dev, compare_set_notify_dev);
- object_property_add(obj, "compare_timeout", "uint64",
+ object_property_add(obj, "compare_timeout", "uint64", NULL,
compare_get_timeout,
compare_set_timeout, NULL, NULL);
- object_property_add(obj, "expired_scan_cycle", "uint32",
+ object_property_add(obj, "expired_scan_cycle", "uint32", NULL,
compare_get_expired_scan_cycle,
compare_set_expired_scan_cycle, NULL, NULL);
- object_property_add(obj, "max_queue_size", "uint32",
+ object_property_add(obj, "max_queue_size", "uint32", NULL,
get_max_queue_size,
set_max_queue_size, NULL, NULL);
diff --git a/net/dump.c b/net/dump.c
index 0c39f09892..558115b9c9 100644
--- a/net/dump.c
+++ b/net/dump.c
@@ -238,7 +238,8 @@ static void filter_dump_class_init(ObjectClass *oc, const
void *data)
{
NetFilterClass *nfc = NETFILTER_CLASS(oc);
- object_class_property_add(oc, "maxlen", "uint32", filter_dump_get_maxlen,
+ object_class_property_add(oc, "maxlen", "uint32", NULL,
+ filter_dump_get_maxlen,
filter_dump_set_maxlen, NULL, NULL);
object_class_property_add_str(oc, "file", file_dump_get_filename,
file_dump_set_filename);
diff --git a/net/filter-buffer.c b/net/filter-buffer.c
index 427da24097..f56b2cfaf0 100644
--- a/net/filter-buffer.c
+++ b/net/filter-buffer.c
@@ -182,7 +182,7 @@ static void filter_buffer_class_init(ObjectClass *oc, const
void *data)
{
NetFilterClass *nfc = NETFILTER_CLASS(oc);
- object_class_property_add(oc, "interval", "uint32",
+ object_class_property_add(oc, "interval", "uint32", NULL,
filter_buffer_get_interval,
filter_buffer_set_interval, NULL, NULL);
diff --git a/qom/object.c b/qom/object.c
index c34b47312f..0fbd4a7edf 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1340,6 +1340,7 @@ void object_unref(void *objptr)
ObjectProperty *
object_property_try_add(Object *obj, const char *name, const char *type,
+ QAPITypeInfo *qapi_type,
ObjectPropertyAccessor *get,
ObjectPropertyAccessor *set,
ObjectPropertyRelease *release,
@@ -1357,8 +1358,8 @@ object_property_try_add(Object *obj, const char *name,
const char *type,
for (i = 0; i < INT16_MAX; ++i) {
char *full_name = g_strdup_printf("%s[%d]", name_no_array, i);
- ret = object_property_try_add(obj, full_name, type, get, set,
- release, opaque, NULL);
+ ret = object_property_try_add(obj, full_name, type, NULL,
+ get, set, release, opaque, NULL);
g_free(full_name);
if (ret) {
break;
@@ -1379,6 +1380,7 @@ object_property_try_add(Object *obj, const char *name,
const char *type,
prop->name = g_strdup(name);
prop->type = g_strdup(type);
+ prop->qapi_type = qapi_type;
prop->get = get;
prop->set = set;
@@ -1393,12 +1395,13 @@ object_property_try_add(Object *obj, const char *name,
const char *type,
ObjectProperty *
object_property_add(Object *obj, const char *name, const char *type,
+ const QAPITypeInfo *qapi_type,
ObjectPropertyAccessor *get,
ObjectPropertyAccessor *set,
ObjectPropertyRelease *release,
void *opaque)
{
- return object_property_try_add(obj, name, type, get, set, release,
+ return object_property_try_add(obj, name, type, NULL, get, set, release,
opaque, &error_abort);
}
@@ -1406,6 +1409,7 @@ ObjectProperty *
object_class_property_add(ObjectClass *klass,
const char *name,
const char *type,
+ const QAPITypeInfo *qapi_type,
ObjectPropertyAccessor *get,
ObjectPropertyAccessor *set,
ObjectPropertyRelease *release,
@@ -1420,6 +1424,7 @@ object_class_property_add(ObjectClass *klass,
prop->name = g_strdup(name);
prop->type = g_strdup(type);
+ prop->qapi_type = qapi_type;
prop->get = get;
prop->set = set;
@@ -1947,7 +1952,8 @@ object_property_try_add_child(Object *obj, const char
*name,
type = g_strdup_printf("child<%s>", object_get_typename(child));
- op = object_property_try_add(obj, name, type, object_get_child_property,
+ op = object_property_try_add(obj, name, type, NULL,
+ object_get_child_property,
NULL, object_finalize_child_property,
child, errp);
if (!op) {
@@ -2141,7 +2147,7 @@ object_add_link_prop(Object *obj, const char *name,
full_type = g_strdup_printf("link<%s>", type);
- op = object_property_add(obj, name, full_type,
+ op = object_property_add(obj, name, full_type, NULL,
object_get_link_property,
check ? object_set_link_property : NULL,
object_release_link_property,
@@ -2178,7 +2184,7 @@ object_class_property_add_link(ObjectClass *oc,
full_type = g_strdup_printf("link<%s>", type);
- op = object_class_property_add(oc, name, full_type,
+ op = object_class_property_add(oc, name, full_type, NULL,
object_get_link_property,
check ? object_set_link_property : NULL,
object_release_link_property,
@@ -2438,7 +2444,7 @@ object_property_add_str(Object *obj, const char *name,
prop->get = get;
prop->set = set;
- return object_property_add(obj, name, "string",
+ return object_property_add(obj, name, "string", NULL,
get ? property_get_str : NULL,
set ? property_set_str : NULL,
property_release_data,
@@ -2456,7 +2462,7 @@ object_class_property_add_str(ObjectClass *klass, const
char *name,
prop->get = get;
prop->set = set;
- return object_class_property_add(klass, name, "string",
+ return object_class_property_add(klass, name, "string", NULL,
get ? property_get_str : NULL,
set ? property_set_str : NULL,
NULL,
@@ -2508,7 +2514,7 @@ object_property_add_bool(Object *obj, const char *name,
prop->get = get;
prop->set = set;
- return object_property_add(obj, name, "bool",
+ return object_property_add(obj, name, "bool", NULL,
get ? property_get_bool : NULL,
set ? property_set_bool : NULL,
property_release_data,
@@ -2525,7 +2531,7 @@ object_class_property_add_bool(ObjectClass *klass, const
char *name,
prop->get = get;
prop->set = set;
- return object_class_property_add(klass, name, "bool",
+ return object_class_property_add(klass, name, "bool", NULL,
get ? property_get_bool : NULL,
set ? property_set_bool : NULL,
NULL,
@@ -2573,7 +2579,7 @@ object_property_add_enum(Object *obj, const char *name,
prop->get = get;
prop->set = set;
- return object_property_add(obj, name, typename,
+ return object_property_add(obj, name, typename, NULL,
get ? property_get_enum : NULL,
set ? property_set_enum : NULL,
property_release_data,
@@ -2593,7 +2599,7 @@ object_class_property_add_enum(ObjectClass *klass, const
char *name,
prop->get = get;
prop->set = set;
- return object_class_property_add(klass, name, typename,
+ return object_class_property_add(klass, name, typename, NULL,
get ? property_get_enum : NULL,
set ? property_set_enum : NULL,
NULL,
@@ -2651,7 +2657,7 @@ object_property_add_tm(Object *obj, const char *name,
prop->get = get;
- return object_property_add(obj, name, "struct tm",
+ return object_property_add(obj, name, "struct tm", NULL,
get ? property_get_tm : NULL, NULL,
property_release_data,
prop);
@@ -2665,7 +2671,7 @@ object_class_property_add_tm(ObjectClass *klass, const
char *name,
prop->get = get;
- return object_class_property_add(klass, name, "struct tm",
+ return object_class_property_add(klass, name, "struct tm", NULL,
get ? property_get_tm : NULL,
NULL, NULL, prop);
}
@@ -2804,7 +2810,7 @@ object_class_property_add_bool_ptr(ObjectClass *klass,
const char *name,
setter = property_class_set_bool_ptr;
}
- return object_class_property_add(klass, name, "bool",
+ return object_class_property_add(klass, name, "bool", NULL,
getter, setter, NULL, (void *)offset);
}
@@ -2824,7 +2830,7 @@ object_property_add_uint8_ptr(Object *obj, const char
*name,
setter = property_set_uint8_ptr;
}
- return object_property_add(obj, name, "uint8",
+ return object_property_add(obj, name, "uint8", NULL,
getter, setter, NULL, (void *)v);
}
@@ -2844,7 +2850,7 @@ object_class_property_add_uint8_ptr(ObjectClass *klass,
const char *name,
setter = property_class_set_uint8_ptr;
}
- return object_class_property_add(klass, name, "uint8",
+ return object_class_property_add(klass, name, "uint8", NULL,
getter, setter, NULL, (void *)offset);
}
@@ -2865,7 +2871,7 @@ object_class_static_property_add_uint8_ptr(ObjectClass
*klass,
setter = property_set_uint8_ptr;
}
- return object_class_property_add(klass, name, "uint8",
+ return object_class_property_add(klass, name, "uint8", NULL,
getter, setter, NULL, (void *)v);
}
@@ -2885,7 +2891,7 @@ object_property_add_uint16_ptr(Object *obj, const char
*name,
setter = property_set_uint16_ptr;
}
- return object_property_add(obj, name, "uint16",
+ return object_property_add(obj, name, "uint16", NULL,
getter, setter, NULL, (void *)v);
}
@@ -2905,7 +2911,7 @@ object_class_property_add_uint16_ptr(ObjectClass *klass,
const char *name,
setter = property_class_set_uint16_ptr;
}
- return object_class_property_add(klass, name, "uint16",
+ return object_class_property_add(klass, name, "uint16", NULL,
getter, setter, NULL, (void *)offset);
}
@@ -2926,7 +2932,7 @@ object_class_static_property_add_uint16_ptr(ObjectClass
*klass,
setter = property_set_uint16_ptr;
}
- return object_class_property_add(klass, name, "uint16",
+ return object_class_property_add(klass, name, "uint16", NULL,
getter, setter, NULL, (void *)v);
}
@@ -2946,7 +2952,7 @@ object_property_add_uint32_ptr(Object *obj, const char
*name,
setter = property_set_uint32_ptr;
}
- return object_property_add(obj, name, "uint32",
+ return object_property_add(obj, name, "uint32", NULL,
getter, setter, NULL, (void *)v);
}
@@ -2966,7 +2972,7 @@ object_class_property_add_uint32_ptr(ObjectClass *klass,
const char *name,
setter = property_class_set_uint32_ptr;
}
- return object_class_property_add(klass, name, "uint32",
+ return object_class_property_add(klass, name, "uint32", NULL,
getter, setter, NULL, (void *)offset);
}
@@ -2987,7 +2993,7 @@ object_class_static_property_add_uint32_ptr(ObjectClass
*klass,
setter = property_set_uint32_ptr;
}
- return object_class_property_add(klass, name, "uint32",
+ return object_class_property_add(klass, name, "uint32", NULL,
getter, setter, NULL, (void *)v);
}
@@ -3007,7 +3013,7 @@ object_property_add_uint64_ptr(Object *obj, const char
*name,
setter = property_set_uint64_ptr;
}
- return object_property_add(obj, name, "uint64",
+ return object_property_add(obj, name, "uint64", NULL,
getter, setter, NULL, (void *)v);
}
@@ -3027,7 +3033,7 @@ object_class_property_add_uint64_ptr(ObjectClass *klass,
const char *name,
setter = property_class_set_uint64_ptr;
}
- return object_class_property_add(klass, name, "uint64",
+ return object_class_property_add(klass, name, "uint64", NULL,
getter, setter, NULL, (void *)offset);
}
@@ -3048,7 +3054,7 @@ object_class_static_property_add_uint64_ptr(ObjectClass
*klass,
setter = property_set_uint64_ptr;
}
- return object_class_property_add(klass, name, "uint64",
+ return object_class_property_add(klass, name, "uint64", NULL,
getter, setter, NULL, (void *)v);
}
@@ -3165,7 +3171,7 @@ object_property_add_alias(Object *obj, const char *name,
prop->target_name = g_strdup(target_name);
prop->flags = 0;
- op = object_property_add(obj, name, prop_type,
+ op = object_property_add(obj, name, prop_type, NULL,
property_get_alias,
property_set_alias,
property_release_alias,
@@ -3210,7 +3216,7 @@ object_class_property_add_alias(ObjectClass *klass, const
char *name,
prop->target_name = g_strdup(target_name);
prop->flags = OBJ_PROP_ALIAS_CLASS;
- op = object_class_property_add(klass, name, prop_type,
+ op = object_class_property_add(klass, name, prop_type, NULL,
property_get_alias,
property_set_alias,
property_release_alias,
diff --git a/system/bootdevice.c b/system/bootdevice.c
index 9538b08983..4fc6b4c8ed 100644
--- a/system/bootdevice.c
+++ b/system/bootdevice.c
@@ -336,7 +336,7 @@ void device_add_bootindex_property(Object *obj, int32_t
*bootindex,
prop->suffix = suffix;
prop->dev = dev;
- object_property_add(obj, name, "int32",
+ object_property_add(obj, name, "int32", NULL,
device_get_bootindex,
device_set_bootindex,
property_release_bootindex,
diff --git a/system/memory.c b/system/memory.c
index f1910af8a0..ac296cb0d8 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -1293,11 +1293,11 @@ static void memory_region_initfn(Object *obj)
object_property_add_uint64_ptr(OBJECT(mr), "addr",
&mr->addr, OBJ_PROP_FLAG_READ);
- object_property_add(OBJECT(mr), "priority", "int32",
+ object_property_add(OBJECT(mr), "priority", "int32", NULL,
memory_region_get_priority,
NULL, /* memory_region_set_priority */
NULL, NULL);
- object_property_add(OBJECT(mr), "size", "uint64",
+ object_property_add(OBJECT(mr), "size", "uint64", NULL,
memory_region_get_size,
NULL, /* memory_region_set_size, */
NULL, NULL);
diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
index dcd0d698b3..9c869b4488 100644
--- a/target/arm/cpu64.c
+++ b/target/arm/cpu64.c
@@ -328,7 +328,7 @@ static void prop_bool_set_false(Object *obj, Visitor *v,
const char *name,
static void prop_add_stub_bool(Object *obj, const char *name)
{
- object_property_add(obj, name, "bool", prop_bool_get_false,
+ object_property_add(obj, name, "bool", NULL, prop_bool_get_false,
prop_bool_set_false, NULL, NULL);
}
@@ -518,13 +518,13 @@ void aarch64_add_sve_properties(Object *obj)
for (vq = 1; vq <= ARM_MAX_VQ; ++vq) {
char name[8];
snprintf(name, sizeof(name), "sve%d", vq * 128);
- object_property_add(obj, name, "bool", cpu_arm_get_vq,
+ object_property_add(obj, name, "bool", NULL, cpu_arm_get_vq,
cpu_arm_set_vq, NULL, &cpu->sve_vq);
}
#ifdef CONFIG_USER_ONLY
/* Mirror linux /proc/sys/abi/sve_default_vector_length. */
- object_property_add(obj, "sve-default-vector-length", "int32",
+ object_property_add(obj, "sve-default-vector-length", "int32", NULL,
cpu_arm_get_default_vec_len,
cpu_arm_set_default_vec_len, NULL,
&cpu->sve_default_vq);
@@ -543,13 +543,13 @@ void aarch64_add_sme_properties(Object *obj)
for (vq = 1; vq <= ARM_MAX_VQ; vq <<= 1) {
char name[8];
snprintf(name, sizeof(name), "sme%d", vq * 128);
- object_property_add(obj, name, "bool", cpu_arm_get_vq,
+ object_property_add(obj, name, "bool", NULL, cpu_arm_get_vq,
cpu_arm_set_vq, NULL, &cpu->sme_vq);
}
#ifdef CONFIG_USER_ONLY
/* Mirror linux /proc/sys/abi/sme_default_vector_length. */
- object_property_add(obj, "sme-default-vector-length", "int32",
+ object_property_add(obj, "sme-default-vector-length", "int32", NULL,
cpu_arm_get_default_vec_len,
cpu_arm_set_default_vec_len, NULL,
&cpu->sme_default_vq);
diff --git a/target/arm/kvm.c b/target/arm/kvm.c
index de09d63d2e..8a698a9d20 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -1820,7 +1820,7 @@ static void kvm_arch_set_eager_split_size(Object *obj,
Visitor *v,
void kvm_arch_accel_class_init(ObjectClass *oc)
{
- object_class_property_add(oc, "eager-split-size", "size",
+ object_class_property_add(oc, "eager-split-size", "size", NULL,
kvm_arch_get_eager_split_size,
kvm_arch_set_eager_split_size, NULL, NULL);
diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c
index c92e331e73..79df821da8 100644
--- a/target/arm/tcg/cpu64.c
+++ b/target/arm/tcg/cpu64.c
@@ -1392,7 +1392,7 @@ void aarch64_max_v8_tcg_initfn(Object *obj)
/* v8.2: FEAT_SVE */
cpu->sve_vq.supported = MAKE_64BIT_MASK(0, ARM_MAX_VQ);
aarch64_add_sve_properties(OBJECT(cpu));
- object_property_add(OBJECT(cpu), "sve-max-vq", "uint32",
+ object_property_add(OBJECT(cpu), "sve-max-vq", "uint32", NULL,
cpu_max_get_sve_max_vq, cpu_max_set_sve_max_vq,
NULL, NULL);
@@ -1529,7 +1529,7 @@ void aarch64_max_v9_tcg_initfn(Object *obj)
object_property_add_bool(obj, "x-rme", cpu_arm_get_rme, cpu_arm_set_rme);
/* v9.4: FEAT_RME_GPC2 */
- object_property_add(obj, "x-l0gptsz", "uint32", cpu_max_get_l0gptsz,
+ object_property_add(obj, "x-l0gptsz", "uint32", NULL, cpu_max_get_l0gptsz,
cpu_max_set_l0gptsz, NULL, NULL);
}
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index e65eca0459..4514de46ff 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -10484,7 +10484,7 @@ static void x86_cpu_register_bit_prop(X86CPUClass *xcc,
fp = g_new0(BitProperty, 1);
fp->w = w;
fp->mask = mask;
- object_class_property_add(oc, prop_name, "bool",
+ object_class_property_add(oc, prop_name, "bool", NULL,
x86_cpu_get_bit_prop,
x86_cpu_set_bit_prop,
NULL, fp);
@@ -10569,10 +10569,11 @@ static void x86_cpu_initfn(Object *obj)
x86_cpu_init_default_topo(cpu);
- object_property_add(obj, "feature-words", "X86CPUFeatureWordInfo",
+ object_property_add(obj, "feature-words", "X86CPUFeatureWordInfo", NULL,
x86_cpu_get_feature_words,
NULL, NULL, (void *)env->features);
object_property_add(obj, "filtered-features", "X86CPUFeatureWordInfo",
+ NULL,
x86_cpu_get_feature_words,
NULL, NULL, (void *)cpu->filtered_features);
@@ -11005,13 +11006,13 @@ static void x86_cpu_common_class_init(ObjectClass
*oc, const void *data)
dc->user_creatable = true;
- object_class_property_add(oc, "family", "uint64",
+ object_class_property_add(oc, "family", "uint64", NULL,
x86_cpuid_version_get_family,
x86_cpuid_version_set_family, NULL, NULL);
- object_class_property_add(oc, "model", "uint64",
+ object_class_property_add(oc, "model", "uint64", NULL,
x86_cpuid_version_get_model,
x86_cpuid_version_set_model, NULL, NULL);
- object_class_property_add(oc, "stepping", "uint64",
+ object_class_property_add(oc, "stepping", "uint64", NULL,
x86_cpuid_version_get_stepping,
x86_cpuid_version_set_stepping, NULL, NULL);
object_class_property_add_str(oc, "vendor",
@@ -11020,7 +11021,7 @@ static void x86_cpu_common_class_init(ObjectClass *oc,
const void *data)
object_class_property_add_str(oc, "model-id",
x86_cpuid_get_model_id,
x86_cpuid_set_model_id);
- object_class_property_add(oc, "tsc-frequency", "int",
+ object_class_property_add(oc, "tsc-frequency", "int", NULL,
x86_cpuid_get_tsc_freq,
x86_cpuid_set_tsc_freq, NULL, NULL);
/*
@@ -11029,17 +11030,18 @@ static void x86_cpu_common_class_init(ObjectClass
*oc, const void *data)
* QMP command: they list the features that would have prevented the
* CPU from running if the "enforce" flag was set.
*/
- object_class_property_add(oc, "unavailable-features", "strList",
+ object_class_property_add(oc, "unavailable-features", "strList", NULL,
x86_cpu_get_unavailable_features,
NULL, NULL, NULL);
- object_class_property_add(oc, "avx10-version", "uint8",
+ object_class_property_add(oc, "avx10-version", "uint8", NULL,
x86_cpuid_get_avx10_version,
x86_cpuid_set_avx10_version,
NULL, NULL);
#if !defined(CONFIG_USER_ONLY)
- object_class_property_add(oc, "crash-information", "GuestPanicInformation",
+ object_class_property_add(oc, "crash-information",
+ "GuestPanicInformation", NULL,
x86_cpu_get_crash_info_qom, NULL, NULL, NULL);
#endif
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index da922f72d7..32175604e6 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -7096,7 +7096,7 @@ void kvm_arch_accel_class_init(ObjectClass *oc)
object_class_property_set_description(oc, "notify-vmexit",
"Enable notify VM exit");
- object_class_property_add(oc, "notify-window", "uint32",
+ object_class_property_add(oc, "notify-window", "uint32", NULL,
kvm_arch_get_notify_window,
kvm_arch_set_notify_window,
NULL, NULL);
@@ -7104,7 +7104,7 @@ void kvm_arch_accel_class_init(ObjectClass *oc)
"Clock cycles without an event
window "
"after which a notification VM exit
occurs");
- object_class_property_add(oc, "xen-version", "uint32",
+ object_class_property_add(oc, "xen-version", "uint32", NULL,
kvm_arch_get_xen_version,
kvm_arch_set_xen_version,
NULL, NULL);
@@ -7113,14 +7113,14 @@ void kvm_arch_accel_class_init(ObjectClass *oc)
"(in XENVER_version form "
"e.g. 0x4000a for 4.10)");
- object_class_property_add(oc, "xen-gnttab-max-frames", "uint16",
+ object_class_property_add(oc, "xen-gnttab-max-frames", "uint16", NULL,
kvm_arch_get_xen_gnttab_max_frames,
kvm_arch_set_xen_gnttab_max_frames,
NULL, NULL);
object_class_property_set_description(oc, "xen-gnttab-max-frames",
"Maximum number of grant table
frames");
- object_class_property_add(oc, "xen-evtchn-max-pirq", "uint16",
+ object_class_property_add(oc, "xen-evtchn-max-pirq", "uint16", NULL,
kvm_arch_get_xen_evtchn_max_pirq,
kvm_arch_set_xen_evtchn_max_pirq,
NULL, NULL);
diff --git a/target/i386/kvm/tdx.c b/target/i386/kvm/tdx.c
index 8294dbde3a..f6707abd34 100644
--- a/target/i386/kvm/tdx.c
+++ b/target/i386/kvm/tdx.c
@@ -1586,7 +1586,7 @@ static void tdx_guest_init(Object *obj)
tdx_guest_get_mrownerconfig,
tdx_guest_set_mrownerconfig);
- object_property_add(obj, "quote-generation-socket", "SocketAddress",
+ object_property_add(obj, "quote-generation-socket", "SocketAddress", NULL,
tdx_guest_get_qgs,
tdx_guest_set_qgs,
NULL, NULL);
diff --git a/target/i386/sev.c b/target/i386/sev.c
index 11072b00dc..74a7b719b5 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -3024,7 +3024,7 @@ sev_guest_class_init(ObjectClass *oc, const void *data)
sev_guest_set_session_file);
object_class_property_set_description(oc, "session-file",
"guest owners session parameters (encoded with base64)");
- object_class_property_add(oc, "legacy-vm-type", "OnOffAuto",
+ object_class_property_add(oc, "legacy-vm-type", "OnOffAuto", NULL,
sev_guest_get_legacy_vm_type,
sev_guest_set_legacy_vm_type, NULL, NULL);
object_class_property_set_description(oc, "legacy-vm-type",
@@ -3056,7 +3056,7 @@ sev_guest_instance_init(Object *obj)
sev_guest->policy = DEFAULT_GUEST_POLICY;
object_property_add_uint32_ptr(obj, "handle", &sev_guest->handle,
OBJ_PROP_FLAG_READWRITE);
- object_property_add(obj, "policy", "uint32", sev_guest_get_policy,
+ object_property_add(obj, "policy", "uint32", NULL, sev_guest_get_policy,
sev_guest_set_policy, NULL, NULL);
object_apply_compat_props(obj);
@@ -3334,7 +3334,7 @@ sev_snp_guest_class_init(ObjectClass *oc, const void
*data)
x86_klass->adjust_cpuid_features = sev_snp_adjust_cpuid_features;
x86_klass->kvm_type = sev_snp_kvm_type;
- object_class_property_add(oc, "policy", "uint64",
+ object_class_property_add(oc, "policy", "uint64", NULL,
sev_snp_guest_get_policy,
sev_snp_guest_set_policy, NULL, NULL);
object_class_property_add_str(oc, "guest-visible-workarounds",
@@ -3358,7 +3358,7 @@ sev_snp_guest_class_init(ObjectClass *oc, const void
*data)
object_class_property_add_bool(oc, "secure-tsc",
sev_snp_guest_get_secure_tsc,
sev_snp_guest_set_secure_tsc);
- object_class_property_add(oc, "tsc-frequency", "uint32",
+ object_class_property_add(oc, "tsc-frequency", "uint32", NULL,
sev_snp_guest_get_tsc_frequency,
sev_snp_guest_set_tsc_frequency, NULL, NULL);
}
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index 113f79afb9..778da68bf4 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -3010,19 +3010,19 @@ static void whpx_set_ssd(Object *obj, Visitor *v,
void whpx_arch_accel_class_init(ObjectClass *oc)
{
- object_class_property_add(oc, "ignore-unknown-msr", "OnOffAuto",
- NULL, whpx_set_unknown_msr,
- NULL, NULL);
+ object_class_property_add(oc, "ignore-unknown-msr", "OnOffAuto", NULL,
+ NULL, whpx_set_unknown_msr,
+ NULL, NULL);
object_class_property_set_description(oc, "ignore-unknown-msr",
"Configure unknown MSR behavior");
- object_class_property_add(oc, "intercept-msr-gp", "OnOffAuto",
- NULL, whpx_set_intercept_msr_gp,
- NULL, NULL);
+ object_class_property_add(oc, "intercept-msr-gp", "OnOffAuto", NULL,
+ NULL, whpx_set_intercept_msr_gp,
+ NULL, NULL);
object_class_property_set_description(oc, "intercept-msr-gp",
"Intercept #GP to log erroring MSR accesses.");
- object_class_property_add(oc, "ssd", "OnOffAuto",
- NULL, whpx_set_ssd,
- NULL, NULL);
+ object_class_property_add(oc, "ssd", "OnOffAuto", NULL,
+ NULL, whpx_set_ssd,
+ NULL, NULL);
object_class_property_set_description(oc, "ssd",
"Separate security domain");
}
diff --git a/target/ppc/compat.c b/target/ppc/compat.c
index 55de3bd5d5..78f4b23122 100644
--- a/target/ppc/compat.c
+++ b/target/ppc/compat.c
@@ -335,7 +335,7 @@ void ppc_compat_add_property(Object *obj, const char *name,
gchar *names, *desc;
int i;
- object_property_add(obj, name, "string",
+ object_property_add(obj, name, "string", NULL,
ppc_compat_prop_get, ppc_compat_prop_set, NULL,
compat_pvr);
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 5a0529fbda..85b674217e 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -1412,20 +1412,20 @@ void riscv_add_satp_mode_properties(Object *obj)
{
RISCVCPU *cpu = RISCV_CPU(obj);
- object_property_add(obj, "svbare", "bool", cpu_riscv_get_satp,
+ object_property_add(obj, "svbare", "bool", NULL, cpu_riscv_get_satp,
cpu_riscv_set_satp, NULL, &cpu->satp_modes);
if (cpu->env.misa_mxl == MXL_RV32) {
- object_property_add(obj, "sv32", "bool", cpu_riscv_get_satp,
+ object_property_add(obj, "sv32", "bool", NULL, cpu_riscv_get_satp,
cpu_riscv_set_satp, NULL, &cpu->satp_modes);
} else {
- object_property_add(obj, "sv39", "bool", cpu_riscv_get_satp,
+ object_property_add(obj, "sv39", "bool", NULL, cpu_riscv_get_satp,
cpu_riscv_set_satp, NULL, &cpu->satp_modes);
- object_property_add(obj, "sv48", "bool", cpu_riscv_get_satp,
+ object_property_add(obj, "sv48", "bool", NULL, cpu_riscv_get_satp,
cpu_riscv_set_satp, NULL, &cpu->satp_modes);
- object_property_add(obj, "sv57", "bool", cpu_riscv_get_satp,
+ object_property_add(obj, "sv57", "bool", NULL, cpu_riscv_get_satp,
cpu_riscv_set_satp, NULL, &cpu->satp_modes);
- object_property_add(obj, "sv64", "bool", cpu_riscv_get_satp,
+ object_property_add(obj, "sv64", "bool", NULL, cpu_riscv_get_satp,
cpu_riscv_set_satp, NULL, &cpu->satp_modes);
}
}
diff --git a/target/riscv/kvm/kvm-cpu.c b/target/riscv/kvm/kvm-cpu.c
index 5a82a63b82..9bccd59809 100644
--- a/target/riscv/kvm/kvm-cpu.c
+++ b/target/riscv/kvm/kvm-cpu.c
@@ -541,7 +541,7 @@ static void riscv_cpu_add_kvm_unavail_prop(Object *obj,
const char *prop_name)
* unknown to KVM and error out if the user attempts
* to enable any of them.
*/
- object_property_add(obj, prop_name, "bool",
+ object_property_add(obj, prop_name, "bool", NULL,
cpu_get_cfg_unavailable,
cpu_set_cfg_unavailable,
NULL, (void *)prop_name);
@@ -561,7 +561,7 @@ static void kvm_riscv_add_cpu_user_properties(Object
*cpu_obj)
misa_cfg->name = riscv_get_misa_ext_name(bit);
misa_cfg->description = riscv_get_misa_ext_description(bit);
- object_property_add(cpu_obj, misa_cfg->name, "bool",
+ object_property_add(cpu_obj, misa_cfg->name, "bool", NULL,
kvm_cpu_get_misa_ext_cfg,
kvm_cpu_set_misa_ext_cfg,
NULL, misa_cfg);
@@ -577,7 +577,7 @@ static void kvm_riscv_add_cpu_user_properties(Object
*cpu_obj)
for (i = 0; i < ARRAY_SIZE(kvm_multi_ext_cfgs); i++) {
KVMCPUConfig *multi_cfg = &kvm_multi_ext_cfgs[i];
- object_property_add(cpu_obj, multi_cfg->name, "bool",
+ object_property_add(cpu_obj, multi_cfg->name, "bool", NULL,
kvm_cpu_get_multi_ext_cfg,
kvm_cpu_set_multi_ext_cfg,
NULL, multi_cfg);
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index 2a7796c382..df73f45829 100644
--- a/target/riscv/tcg/tcg-cpu.c
+++ b/target/riscv/tcg/tcg-cpu.c
@@ -1478,7 +1478,7 @@ static void riscv_cpu_add_misa_properties(Object *cpu_obj)
continue;
}
- object_property_add(cpu_obj, name, "bool",
+ object_property_add(cpu_obj, name, "bool", NULL,
cpu_get_misa_ext_cfg,
cpu_set_misa_ext_cfg,
NULL, (void *)misa_cfg);
@@ -1532,7 +1532,7 @@ static void riscv_cpu_add_profiles(Object *cpu_obj)
for (int i = 0; riscv_profiles[i] != NULL; i++) {
RISCVCPUProfile *profile = riscv_profiles[i];
- object_property_add(cpu_obj, profile->name, "bool",
+ object_property_add(cpu_obj, profile->name, "bool", NULL,
cpu_get_profile, cpu_set_profile,
NULL, (void *)profile);
@@ -1608,7 +1608,7 @@ static void riscv_cpu_add_user_properties(Object *obj)
for (edata = isa_edata_arr; edata && edata->name; edata++) {
if (edata->prop_name) {
- object_property_add(obj, edata->prop_name, "bool",
+ object_property_add(obj, edata->prop_name, "bool", NULL,
cpu_get_multi_ext_cfg,
cpu_set_multi_ext_cfg,
NULL, (void *)&edata->ext_enable_offset);
diff --git a/target/s390x/cpu-system.c b/target/s390x/cpu-system.c
index 715ff3ca94..de2f1422e3 100644
--- a/target/s390x/cpu-system.c
+++ b/target/s390x/cpu-system.c
@@ -138,6 +138,7 @@ void s390_cpu_system_init(Object *obj)
cs->start_powered_off = true;
object_property_add(obj, "crash-information", "GuestPanicInformation",
+ NULL,
s390_cpu_get_crash_info_qom, NULL, NULL, NULL);
cpu->env.tod_timer =
timer_new_ns(QEMU_CLOCK_VIRTUAL, s390x_tod_timer, cpu);
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index c30ea2df17..0718df791f 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -792,13 +792,14 @@ void s390_cpu_model_class_register_props(ObjectClass *oc)
for (feat = 0; feat < S390_FEAT_MAX; feat++) {
const S390FeatDef *def = s390_feat_def(feat);
- object_class_property_add(oc, def->name, "bool", get_feature,
+ object_class_property_add(oc, def->name, "bool", NULL, get_feature,
set_feature, NULL, (void *) feat);
object_class_property_set_description(oc, def->name, def->desc);
}
for (group = 0; group < S390_FEAT_GROUP_MAX; group++) {
const S390FeatGroupDef *def = s390_feat_group_def(group);
- object_class_property_add(oc, def->name, "bool", get_feature_group,
+ object_class_property_add(oc, def->name, "bool", NULL,
+ get_feature_group,
set_feature_group, NULL, (void *) group);
object_class_property_set_description(oc, def->name, def->desc);
}
diff --git a/tests/unit/test-qdev-global-props.c
b/tests/unit/test-qdev-global-props.c
index 8ea362cbb9..35fb5eca6f 100644
--- a/tests/unit/test-qdev-global-props.c
+++ b/tests/unit/test-qdev-global-props.c
@@ -171,9 +171,11 @@ static void prop2_accessor(Object *obj, Visitor *v, const
char *name,
static void dynamic_instance_init(Object *obj)
{
- object_property_add(obj, "prop1", "uint32", prop1_accessor, prop1_accessor,
+ object_property_add(obj, "prop1", "uint32", NULL, prop1_accessor,
+ prop1_accessor,
NULL, NULL);
- object_property_add(obj, "prop2", "uint32", prop2_accessor, prop2_accessor,
+ object_property_add(obj, "prop2", "uint32", NULL, prop2_accessor,
+ prop2_accessor,
NULL, NULL);
}
diff --git a/ui/console.c b/ui/console.c
index b735717200..732b4afee0 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -535,7 +535,7 @@ qemu_graphic_console_class_init(ObjectClass *oc, const void
*data)
offsetof(QemuGraphicConsole, device),
object_property_allow_set_link,
OBJ_PROP_LINK_STRONG);
- object_class_property_add(oc, "head", "uint32",
+ object_class_property_add(oc, "head", "uint32", NULL,
qemu_graphic_console_prop_get_head,
NULL, NULL, NULL);
diff --git a/util/thread-context.c b/util/thread-context.c
index 88d8f0a55a..4fe7a6c8f4 100644
--- a/util/thread-context.c
+++ b/util/thread-context.c
@@ -278,13 +278,13 @@ static void thread_context_class_init(ObjectClass *oc,
const void *data)
UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc);
ucc->complete = thread_context_instance_complete;
- object_class_property_add(oc, "thread-id", "uint64",
+ object_class_property_add(oc, "thread-id", "uint64", NULL,
thread_context_get_thread_id, NULL, NULL,
NULL);
- object_class_property_add(oc, "cpu-affinity", "[uint16]",
+ object_class_property_add(oc, "cpu-affinity", "[uint16]", NULL,
thread_context_get_cpu_affinity,
thread_context_set_cpu_affinity, NULL, NULL);
- object_class_property_add(oc, "node-affinity", "[uint16]", NULL,
+ object_class_property_add(oc, "node-affinity", "[uint16]", NULL, NULL,
thread_context_set_node_affinity, NULL, NULL);
}
--
2.55.0