qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9] hostmem-ram: use whole path for region name with >= 3.1
@ 2018-09-12 12:55 Marc-André Lureau
  2018-09-12 12:55 ` [Qemu-devel] [PATCH 1/9] qom/user-creatable: add a few helper macros Marc-André Lureau
                   ` (9 more replies)
  0 siblings, 10 replies; 29+ messages in thread
From: Marc-André Lureau @ 2018-09-12 12:55 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Eduardo Habkost, Marcel Apfelbaum, dgilbert,
	Richard Henderson, Andreas Färber, Igor Mammedov,
	Michael S. Tsirkin, Artyom Tarasenko, Mark Cave-Ayland,
	Marc-André Lureau

Hi,

The migration code expects the RAM block name to match between the
source and destination.  However the backend type may change, so it is
possible (so far) to migrate from a hostmem-file to a hostmem-memfd
for example.

However, hostmem backends use inconsistent RAM naming, which can cause
a name mismatch. hostmem-file and hostmem-memfd use the whole object
path as memory name, while -ram use only the "component" (or basename)
of the path.

This series adds global/compat property support for objects others
than TYPE_DEVICE (only TYPE_USER_CREATABLE for now), and a new compat
property "x-component-name" to hostmem-ram. Machines >= 3.1 will use
the whole path for the -ram memory name (like -file and -memfd).

Marc-André Lureau (9):
  qom/user-creatable: add a few helper macros
  accel: register global_props like machine globals
  qdev: move qdev_prop_register_global_list() to tests
  qom/globals: move qdev globals to qom
  qom/globals: generalize object_property_set_globals()
  qom/object: set globals when initializing object
  tests: add user-creatable test to test-qdev-global-props
  hw/i386: add pc-i440fx-3.1 & pc-q35-3.1
  hostmem-ram: use whole path for memory region name with >= 3.1

 include/hw/compat.h                           |   6 +-
 include/hw/i386/pc.h                          |   5 +-
 include/hw/qdev-core.h                        |  20 ---
 include/hw/qdev-properties.h                  |  34 +---
 include/qom/globals.h                         |  32 ++++
 include/qom/object_interfaces.h               |   4 +
 accel/accel.c                                 |   9 +-
 backends/hostmem-ram.c                        |  47 +++++-
 hw/core/machine.c                             |   2 +-
 hw/core/qdev-properties.c                     |  97 -----------
 hw/core/qdev.c                                |   6 -
 hw/i386/pc_piix.c                             |  15 +-
 hw/i386/pc_q35.c                              |  13 +-
 qom/cpu.c                                     |   2 +-
 qom/globals.c                                 |  81 ++++++++++
 qom/object.c                                  |   6 +-
 qom/object_interfaces.c                       |   9 +-
 target/i386/cpu.c                             |   2 +-
 target/sparc/cpu.c                            |   2 +-
 ...dev-global-props.c => test-global-props.c} | 150 +++++++++++++++---
 vl.c                                          |   8 +-
 qom/Makefile.objs                             |   2 +-
 tests/Makefile.include                        |   4 +-
 23 files changed, 350 insertions(+), 206 deletions(-)
 create mode 100644 include/qom/globals.h
 create mode 100644 qom/globals.c
 rename tests/{test-qdev-global-props.c => test-global-props.c} (71%)

-- 
2.19.0.rc1

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2018-11-01 15:47 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-12 12:55 [Qemu-devel] [PATCH 0/9] hostmem-ram: use whole path for region name with >= 3.1 Marc-André Lureau
2018-09-12 12:55 ` [Qemu-devel] [PATCH 1/9] qom/user-creatable: add a few helper macros Marc-André Lureau
2018-10-22 14:33   ` Igor Mammedov
2018-10-26 15:13     ` Eduardo Habkost
2018-10-29  9:56       ` Igor Mammedov
2018-10-30  1:37         ` Eduardo Habkost
2018-10-30  9:26           ` Marc-André Lureau
2018-10-30 14:22             ` Igor Mammedov
2018-10-30 23:07               ` Eduardo Habkost
2018-11-01 12:16                 ` Igor Mammedov
2018-11-01 15:02                   ` Eduardo Habkost
2018-11-01 15:46                     ` Igor Mammedov
2018-09-12 12:55 ` [Qemu-devel] [PATCH 2/9] accel: register global_props like machine globals Marc-André Lureau
2018-10-22 14:47   ` Igor Mammedov
2018-09-12 12:55 ` [Qemu-devel] [PATCH 3/9] qdev: move qdev_prop_register_global_list() to tests Marc-André Lureau
2018-10-22 14:51   ` Igor Mammedov
2018-09-12 12:55 ` [Qemu-devel] [PATCH 4/9] qom/globals: move qdev globals to qom Marc-André Lureau
2018-09-12 12:55 ` [Qemu-devel] [PATCH 5/9] qom/globals: generalize object_property_set_globals() Marc-André Lureau
2018-10-29 13:11   ` Igor Mammedov
2018-10-30 12:16     ` Marc-André Lureau
2018-10-30 14:05       ` Igor Mammedov
2018-09-12 12:55 ` [Qemu-devel] [PATCH 6/9] qom/object: set globals when initializing object Marc-André Lureau
2018-10-29 12:20   ` Igor Mammedov
2018-09-12 12:55 ` [Qemu-devel] [PATCH 7/9] tests: add user-creatable test to test-qdev-global-props Marc-André Lureau
2018-09-12 12:55 ` [Qemu-devel] [PATCH 8/9] hw/i386: add pc-i440fx-3.1 & pc-q35-3.1 Marc-André Lureau
2018-09-12 12:55 ` [Qemu-devel] [PATCH 9/9] hostmem-ram: use whole path for memory region name with >= 3.1 Marc-André Lureau
2018-09-13 10:19   ` Dr. David Alan Gilbert
2018-10-29 15:16   ` Igor Mammedov
2018-10-02 10:24 ` [Qemu-devel] [PATCH 0/9] hostmem-ram: use whole path for " Marc-André Lureau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).