qemu-e2k/target/s390x
David Hildenbrand 30c8db0e21 s390x/tcg: fix locking problem with tcg_s390_tod_updated
tcg_s390_tod_updated() is always called with the iothread being locked
(e.g. from S390TODClass->set() e.g. via HELPER(sck) or on incoming
migration). The helper we call takes the lock itself - bad.

Let's change that by factoring out updating the ckc timer. This now looks
much nicer than having to call a helper from another function.

While touching it we also make sure that env->ckc is updated even if the
new value is -1ULL, for now it would not have been modified in that case.

Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20180629170520.13671-1-david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2018-07-02 10:37:38 +02:00
..
arch_dump.c compiler: add a sizeof_field() macro 2018-06-27 13:01:40 +01:00
cc_helper.c
cpu_features_def.h
cpu_features.c
cpu_features.h
cpu_models.c s390x/cpumodels: add z14 Model ZR1 2018-06-18 10:50:32 +02:00
cpu_models.h
cpu-qom.h
cpu.c s390x/tcg: fix CPU hotplug with single-threaded TCG 2018-07-02 10:37:38 +02:00
cpu.h s390x/tcg: properly implement the TOD 2018-07-02 10:37:38 +02:00
crypto_helper.c
diag.c * Linux header upgrade (Peter) 2018-06-01 18:24:16 +01:00
excp_helper.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
fpu_helper.c
gdbstub.c
gen-features.c s390x/cpumodel: default enable bpb and ppa15 for z196 and later 2018-07-02 10:37:38 +02:00
helper.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
helper.h s390x/tcg: implement SET CLOCK 2018-07-02 10:37:38 +02:00
insn-data.def s390x/tcg: implement SET CLOCK 2018-07-02 10:37:38 +02:00
insn-format.def
int_helper.c
internal.h s390x/tcg: properly implement the TOD 2018-07-02 10:37:38 +02:00
interrupt.c
ioinst.c
kvm_s390x.h s390x/tod: factor out TOD into separate device 2018-07-02 10:37:38 +02:00
kvm-stub.c s390x/kvm: pass values instead of pointers to kvm_s390_set_clock_*() 2018-07-02 10:37:38 +02:00
kvm.c s390x/kvm: indicate alignment in legacy_s390_alloc() 2018-07-02 10:37:38 +02:00
machine.c s390x/tcg: rearm the CKC timer during migration 2018-07-02 10:37:38 +02:00
Makefile.objs s390x/tcg: rearm the CKC timer during migration 2018-07-02 10:37:38 +02:00
mem_helper.c target: Do not include "exec/address-spaces.h" if it is not necessary 2018-05-31 19:12:13 +02:00
misc_helper.c s390x/tcg: fix locking problem with tcg_s390_tod_updated 2018-07-02 10:37:38 +02:00
mmu_helper.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
sigp.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
tcg_s390x.h s390x/tcg: properly implement the TOD 2018-07-02 10:37:38 +02:00
tcg-stub.c s390x/tcg: rearm the CKC timer during migration 2018-07-02 10:37:38 +02:00
trace-events
translate.c s390x/tcg: implement SET CLOCK 2018-07-02 10:37:38 +02:00