diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2017-07-19 12:30:41 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2017-07-19 12:30:41 +0100 |
| commit | 988879b66ed8dfd1055492d36188f6c10c268644 (patch) | |
| tree | 418da5803a3e50feea650be1b8df329ea293b7cf /hw/core/qdev-properties.c | |
| parent | f1a46e888515c6b49f3d43f938a9c17acac831f5 (diff) | |
| parent | 6b19a7d91c8de9904c67b87203a46e55db4181ab (diff) | |
| download | focaccia-qemu-988879b66ed8dfd1055492d36188f6c10c268644.tar.gz focaccia-qemu-988879b66ed8dfd1055492d36188f6c10c268644.zip | |
Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170718' into staging
migration/next for 20170718 # gpg: Signature made Tue 18 Jul 2017 16:39:33 BST # gpg: using RSA key 0xF487EF185872D723 # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" # gpg: aka "Juan Quintela <quintela@trasno.org>" # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03 4B82 F487 EF18 5872 D723 * remotes/juanquintela/tags/migration/20170718: migration: check global caps for validity migration: provide migrate_cap_add() migration: provide migrate_caps_check() migration: remove check against colo support migration: check global params for validity migration: provide migrate_params_apply() migration: introduce migrate_params_check() migration: export capabilities to props migration: export parameters to props qdev: provide DEFINE_PROP_INT64() migration/rdma: Send error during cancelling migration/rdma: Safely convert control types migration/rdma: Allow cancelling while waiting for wrid migration/rdma: fix qemu_rdma_block_for_wrid error paths migration: Close file on failed migration load migration/rdma: Fix race on source Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/core/qdev-properties.c')
| -rw-r--r-- | hw/core/qdev-properties.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 58a8f92d92..078fc5d239 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -404,6 +404,31 @@ static void set_uint64(Object *obj, Visitor *v, const char *name, visit_type_uint64(v, name, ptr, errp); } +static void get_int64(Object *obj, Visitor *v, const char *name, + void *opaque, Error **errp) +{ + DeviceState *dev = DEVICE(obj); + Property *prop = opaque; + int64_t *ptr = qdev_get_prop_ptr(dev, prop); + + visit_type_int64(v, name, ptr, errp); +} + +static void set_int64(Object *obj, Visitor *v, const char *name, + void *opaque, Error **errp) +{ + DeviceState *dev = DEVICE(obj); + Property *prop = opaque; + int64_t *ptr = qdev_get_prop_ptr(dev, prop); + + if (dev->realized) { + qdev_prop_set_after_realize(dev, name, errp); + return; + } + + visit_type_int64(v, name, ptr, errp); +} + const PropertyInfo qdev_prop_uint64 = { .name = "uint64", .get = get_uint64, @@ -411,6 +436,13 @@ const PropertyInfo qdev_prop_uint64 = { .set_default_value = set_default_value_uint, }; +const PropertyInfo qdev_prop_int64 = { + .name = "int64", + .get = get_int64, + .set = set_int64, + .set_default_value = set_default_value_int, +}; + /* --- string --- */ static void release_string(Object *obj, const char *name, void *opaque) |