[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[qemu-s390x] [PATCH v4 8/9] s390x/tcg: rearm the CKC timer during migrat
From: |
David Hildenbrand |
Subject: |
[qemu-s390x] [PATCH v4 8/9] s390x/tcg: rearm the CKC timer during migration |
Date: |
Wed, 27 Jun 2018 15:44:09 +0200 |
If the CPU data is migrated after the TOD clock, the CKC timer of a CPU
is not rearmed. Let's rearm it when loading the CPU state.
Introduce tcg-stub.c just like kvm-stub.c for tcg specific stubs.
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
---
target/s390x/Makefile.objs | 1 +
target/s390x/machine.c | 6 ++++++
target/s390x/tcg-stub.c | 20 ++++++++++++++++++++
3 files changed, 27 insertions(+)
create mode 100644 target/s390x/tcg-stub.c
diff --git a/target/s390x/Makefile.objs b/target/s390x/Makefile.objs
index 31932de9cf..22a9a9927a 100644
--- a/target/s390x/Makefile.objs
+++ b/target/s390x/Makefile.objs
@@ -5,6 +5,7 @@ obj-$(CONFIG_SOFTMMU) += machine.o ioinst.o arch_dump.o
mmu_helper.o diag.o
obj-$(CONFIG_SOFTMMU) += sigp.o
obj-$(CONFIG_KVM) += kvm.o
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
+obj-$(call lnot,$(CONFIG_TCG)) += tcg-stub.o
# build and run feature list generator
feat-src = $(SRC_PATH)/target/$(TARGET_BASE_ARCH)/
diff --git a/target/s390x/machine.c b/target/s390x/machine.c
index 84b4928755..bd3230d027 100644
--- a/target/s390x/machine.c
+++ b/target/s390x/machine.c
@@ -19,6 +19,7 @@
#include "cpu.h"
#include "internal.h"
#include "kvm_s390x.h"
+#include "tcg_s390x.h"
#include "sysemu/kvm.h"
static int cpu_post_load(void *opaque, int version_id)
@@ -34,6 +35,11 @@ static int cpu_post_load(void *opaque, int version_id)
return kvm_s390_vcpu_interrupt_post_load(cpu);
}
+ if (tcg_enabled()) {
+ /* Rearm the CKC timer if necessary */
+ tcg_s390_tod_updated(CPU(cpu), RUN_ON_CPU_NULL);
+ }
+
return 0;
}
diff --git a/target/s390x/tcg-stub.c b/target/s390x/tcg-stub.c
new file mode 100644
index 0000000000..c93501db0b
--- /dev/null
+++ b/target/s390x/tcg-stub.c
@@ -0,0 +1,20 @@
+/*
+ * QEMU TCG support -- s390x specific function stubs.
+ *
+ * Copyright (C) 2018 Red Hat Inc
+ *
+ * Authors:
+ * David Hildenbrand <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 "qemu-common.h"
+#include "cpu.h"
+#include "tcg_s390x.h"
+
+void tcg_s390_tod_updated(CPUState *cs, run_on_cpu_data opaque)
+{
+}
--
2.17.1
- [qemu-s390x] [PATCH v4 0/9] s390x: TOD refactoring + TCG CPU hotplug support, David Hildenbrand, 2018/06/27
- [qemu-s390x] [PATCH v4 2/9] s390x/kvm: pass values instead of pointers to kvm_s390_set_clock_*(), David Hildenbrand, 2018/06/27
- [qemu-s390x] [PATCH v4 1/9] s390x/tcg: avoid overflows in time2tod/tod2time, David Hildenbrand, 2018/06/27
- [qemu-s390x] [PATCH v4 4/9] s390x/tcg: drop tod_basetime, David Hildenbrand, 2018/06/27
- [qemu-s390x] [PATCH v4 6/9] s390x/tcg: SET CLOCK COMPARATOR can clear CKC interrupts, David Hildenbrand, 2018/06/27
- [qemu-s390x] [PATCH v4 9/9] s390x/tcg: fix CPU hotplug with single-threaded TCG, David Hildenbrand, 2018/06/27
- [qemu-s390x] [PATCH v4 7/9] s390x/tcg: implement SET CLOCK, David Hildenbrand, 2018/06/27
- [qemu-s390x] [PATCH v4 8/9] s390x/tcg: rearm the CKC timer during migration,
David Hildenbrand <=
- [qemu-s390x] [PATCH v4 5/9] s390x/tcg: properly implement the TOD, David Hildenbrand, 2018/06/27
- [qemu-s390x] [PATCH v4 3/9] s390x/tod: factor out TOD into separate device, David Hildenbrand, 2018/06/27
- Re: [qemu-s390x] [PATCH v4 0/9] s390x: TOD refactoring + TCG CPU hotplug support, Cornelia Huck, 2018/06/27