We have the MigrationState as QDev now (which seems crazy). Let's continue to benefit.
This series is exporting all migration capabilities/params as global parameters. Then we can do something like this: qemu -global migration.postcopy-ram=true \ -global migration.max-bandwidth=4096 The values will be inited just like we typed these values into HMP monitor. It'll simplify lots of migration scripts. The changes are fairly straightforward. One tiny loss is that we still don't support: -global migration.max-bandwidth=1g ...just like what we did in HMP: migrate_set_speed 1g ...while we need to use: -global migration.max-bandwidth=1073741824 However that should only be used in scripts, and that's good enough imho. These properties should only be used for debugging/testing purpose, and we should not guarantee any interface compatibility for them (just like HMP). Please review. Thanks. Peter Xu (3): qdev: provide DEFINE_PROP_INT64() migration: export parameters to props migration: export capabilities to props hw/core/qdev-properties.c | 32 +++++++++++++++++++++++++++ include/hw/qdev-properties.h | 3 +++ migration/migration.c | 52 +++++++++++++++++++++++++++++++++++--------- 3 files changed, 77 insertions(+), 10 deletions(-) -- 2.7.4