Patchwork [qom-cpu,v3,2/6] cpu: Introduce device_class_set_vmsd() helper

login
register
mail settings
Submitter Andreas Färber
Date June 18, 2013, 12:29 a.m.
Message ID <1371515385-32203-3-git-send-email-afaerber@suse.de>
Download mbox | patch
Permalink /patch/252076/
State New
Headers show

Comments

Andreas Färber - June 18, 2013, 12:29 a.m.
It's the equivalent to cpu_class_set_vmsd(), to assign
DeviceClass::vmsd. It wasn't needed before since only static,
unmigratable VMStateDescriptions were assigned so far.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 include/qom/cpu.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
Juan Quintela - June 18, 2013, 11:45 a.m.
Andreas Farber <afaerber@suse.de> wrote:
> It's the equivalent to cpu_class_set_vmsd(), to assign
> DeviceClass::vmsd. It wasn't needed before since only static,
> unmigratable VMStateDescriptions were assigned so far.
>
> Signed-off-by: Andreas Färber <afaerber@suse.de>

Reviewed-by: Juan Quintela <quintela@redhat.com>

Patch

diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 55a85c1..397219b 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -239,6 +239,27 @@  static inline void cpu_class_set_vmsd(CPUClass *cc,
 #endif
 
 /**
+ * device_class_set_vmsd:
+ * @dc: Device class
+ * @value: Value to set. Unused for %CONFIG_USER_ONLY.
+ *
+ * Sets #VMStateDescription for @dc.
+ *
+ * The @value argument is intentionally discarded for the non-softmmu targets
+ * to avoid linker errors or excessive preprocessor usage. If this behavior
+ * is undesired, you should assign #DeviceClass.vmsd directly instead.
+ */
+#ifndef CONFIG_USER_ONLY
+static inline void device_class_set_vmsd(DeviceClass *dc,
+                                         const struct VMStateDescription *value)
+{
+    dc->vmsd = value;
+}
+#else
+#define device_class_set_vmsd(dc, value) ((dc)->vmsd = NULL)
+#endif
+
+/**
  * qemu_cpu_has_work:
  * @cpu: The vCPU to check.
  *