[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 2/9] hw/core/clock-vmstate: define a vmstate entr
From: |
damien . hedde |
Subject: |
[Qemu-devel] [PATCH v6 2/9] hw/core/clock-vmstate: define a vmstate entry for clock state |
Date: |
Wed, 4 Sep 2019 11:38:36 +0200 |
From: Damien Hedde <address@hidden>
Signed-off-by: Damien Hedde <address@hidden>
---
This was in the previous reviewed commit. But it can't be in the
clock.c file in order to allow linux-user builds.
---
hw/core/Makefile.objs | 1 +
hw/core/clock-vmstate.c | 25 +++++++++++++++++++++++++
include/hw/clock.h | 9 +++++++++
3 files changed, 35 insertions(+)
create mode 100644 hw/core/clock-vmstate.c
diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs
index c66a5b2c6b..8fcebf2e67 100644
--- a/hw/core/Makefile.objs
+++ b/hw/core/Makefile.objs
@@ -4,6 +4,7 @@ common-obj-y += bus.o reset.o
common-obj-y += resettable.o
common-obj-$(CONFIG_SOFTMMU) += qdev-fw.o
common-obj-$(CONFIG_SOFTMMU) += fw-path-provider.o
+common-obj-$(CONFIG_SOFTMMU) += clock-vmstate.o
# irq.o needed for qdev GPIO handling:
common-obj-y += irq.o
common-obj-y += hotplug.o
diff --git a/hw/core/clock-vmstate.c b/hw/core/clock-vmstate.c
new file mode 100644
index 0000000000..c781369c15
--- /dev/null
+++ b/hw/core/clock-vmstate.c
@@ -0,0 +1,25 @@
+/*
+ * Clock migration structure
+ *
+ * Copyright GreenSocs 2019
+ *
+ * Authors:
+ * Damien Hedde <address@hidden>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include "qemu/osdep.h"
+#include "migration/vmstate.h"
+#include "hw/clock.h"
+
+const VMStateDescription vmstate_clockin = {
+ .name = "clock",
+ .version_id = 0,
+ .minimum_version_id = 0,
+ .fields = (VMStateField[]) {
+ VMSTATE_UINT64(frequency, ClockIn),
+ VMSTATE_END_OF_LIST()
+ }
+};
diff --git a/include/hw/clock.h b/include/hw/clock.h
index fd11202ba4..e7efb6ad17 100644
--- a/include/hw/clock.h
+++ b/include/hw/clock.h
@@ -34,6 +34,15 @@ struct ClockOut {
QLIST_HEAD(, ClockIn) followers; /* list of registered clocks */
};
+/*
+ * vmstate description entry to be added in device vmsd.
+ */
+extern const VMStateDescription vmstate_clockin;
+#define VMSTATE_CLOCKIN(_field, _state) \
+ VMSTATE_CLOCKIN_V(_field, _state, 0)
+#define VMSTATE_CLOCKIN_V(_field, _state, _version) \
+ VMSTATE_STRUCT_POINTER_V(_field, _state, _version, vmstate_clockin,
ClockIn)
+
/**
* clock_out_setup_canonical_path:
* @clk: clock
--
2.22.0
- [Qemu-devel] [PATCH v6 0/9] Clock framework API, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 9/9] hw/arm/xilinx_zynq: connect uart clocks to slcr, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 2/9] hw/core/clock-vmstate: define a vmstate entry for clock state,
damien . hedde <=
- [Qemu-devel] [PATCH v6 8/9] hw/char/cadence_uart: add clock support, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 3/9] qdev: add clock input&output support to devices., damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 7/9] hw/misc/zynq_slcr: add clock generation for uarts, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 4/9] qdev-monitor: print the device's clock with info qtree, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 5/9] qdev-clock: introduce an init array to ease the device construction, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 6/9] docs/clocks: add device's clock documentation, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 1/9] hw/core/clock: introduce clock objects, damien . hedde, 2019/09/04
- Re: [Qemu-devel] [PATCH v6 0/9] Clock framework API, Damien Hedde, 2019/09/04