qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 0/9] hostmem-ram: use whole path for region name wit


From: Marc-André Lureau
Subject: [Qemu-devel] [PATCH 0/9] hostmem-ram: use whole path for region name with >= 3.1
Date: Wed, 12 Sep 2018 16:55:22 +0400

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]