From 7c2550432abe62f53e6df878ceba6ceaf71f0e7e Mon Sep 17 00:00:00 2001 From: Lluís Vilanova Date: Thu, 9 Jun 2016 19:31:41 +0200 Subject: exec: [tcg] Track which vCPU is performing translation and execution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Information is tracked inside the TCGContext structure, and later used by tracing events with the 'tcg' and 'vcpu' properties. The 'cpu' field is used to check tracing of translation-time events ("*_trans"). The 'tcg_env' field is used to pass it to execution-time events ("*_exec"). Signed-off-by: Lluís Vilanova Reviewed-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 146549350162.18437.3033661139638458143.stgit@fimbulvetr.bsc.es Signed-off-by: Stefan Hajnoczi --- target-s390x/translate.c | 1 + 1 file changed, 1 insertion(+) (limited to 'target-s390x') diff --git a/target-s390x/translate.c b/target-s390x/translate.c index ce5db5dd46..3c3487a5a9 100644 --- a/target-s390x/translate.c +++ b/target-s390x/translate.c @@ -169,6 +169,7 @@ void s390x_translate_init(void) int i; cpu_env = tcg_global_reg_new_ptr(TCG_AREG0, "env"); + tcg_ctx.tcg_env = cpu_env; psw_addr = tcg_global_mem_new_i64(cpu_env, offsetof(CPUS390XState, psw.addr), "psw_addr"); -- cgit v1.2.3 From a4e21b3e3543d21ba70e4f2b5ddf8ee178385607 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 16 Jun 2016 09:40:23 +0100 Subject: trace: split out trace events for target-s390x/ directory Move all trace-events for files in the target-s390x/ directory to their own file. [Added missing newline in target-s390x/trace-events as suggested by Cornelia Huck . --Stefan] Signed-off-by: Daniel P. Berrange Acked-by: Cornelia Huck Message-id: 1466066426-16657-38-git-send-email-berrange@redhat.com Signed-off-by: Stefan Hajnoczi --- Makefile.objs | 1 + target-s390x/trace-events | 22 ++++++++++++++++++++++ trace-events | 21 --------------------- 3 files changed, 23 insertions(+), 21 deletions(-) create mode 100644 target-s390x/trace-events (limited to 'target-s390x') diff --git a/Makefile.objs b/Makefile.objs index 16c84c2958..f1e8646499 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -154,3 +154,4 @@ trace-events-y += ui/trace-events trace-events-y += audio/trace-events trace-events-y += net/trace-events trace-events-y += target-sparc/trace-events +trace-events-y += target-s390x/trace-events diff --git a/target-s390x/trace-events b/target-s390x/trace-events new file mode 100644 index 0000000000..9589b1621a --- /dev/null +++ b/target-s390x/trace-events @@ -0,0 +1,22 @@ +# See docs/trace-events.txt for syntax documentation. + +# target-s390x/mmu_helper.c +get_skeys_nonzero(int rc) "SKEY: Call to get_skeys unexpectedly returned %d" +set_skeys_nonzero(int rc) "SKEY: Call to set_skeys unexpectedly returned %d" + +# target-s390x/ioinst.c +ioinst(const char *insn) "IOINST: %s" +ioinst_sch_id(const char *insn, int cssid, int ssid, int schid) "IOINST: %s (%x.%x.%04x)" +ioinst_chp_id(const char *insn, int cssid, int chpid) "IOINST: %s (%x.%02x)" +ioinst_chsc_cmd(uint16_t cmd, uint16_t len) "IOINST: chsc command %04x, len %04x" + +# target-s390x/kvm.c +kvm_enable_cmma(int rc) "CMMA: enabling with result code %d" +kvm_clear_cmma(int rc) "CMMA: clearing with result code %d" +kvm_failed_cpu_state_set(int cpu_index, uint8_t state, const char *msg) "Warning: Unable to set cpu %d state %" PRIu8 " to KVM: %s" +kvm_sigp_finished(uint8_t order, int cpu_index, int dst_index, int cc) "SIGP: Finished order %u on cpu %d -> cpu %d with cc=%d" + +# target-s390x/cpu.c +cpu_set_state(int cpu_index, uint8_t state) "setting cpu %d state to %" PRIu8 +cpu_halt(int cpu_index) "halting cpu %d" +cpu_unhalt(int cpu_index) "unhalting cpu %d" diff --git a/trace-events b/trace-events index 3ac3f6f130..e1f8502d0d 100644 --- a/trace-events +++ b/trace-events @@ -110,16 +110,6 @@ dma_complete(void *dbs, int ret, void *cb) "dbs=%p ret=%d cb=%p" dma_blk_cb(void *dbs, int ret) "dbs=%p ret=%d" dma_map_wait(void *dbs) "dbs=%p" -# target-s390x/mmu_helper.c -get_skeys_nonzero(int rc) "SKEY: Call to get_skeys unexpectedly returned %d" -set_skeys_nonzero(int rc) "SKEY: Call to set_skeys unexpectedly returned %d" - -# target-s390x/ioinst.c -ioinst(const char *insn) "IOINST: %s" -ioinst_sch_id(const char *insn, int cssid, int ssid, int schid) "IOINST: %s (%x.%x.%04x)" -ioinst_chp_id(const char *insn, int cssid, int chpid) "IOINST: %s (%x.%02x)" -ioinst_chsc_cmd(uint16_t cmd, uint16_t len) "IOINST: chsc command %04x, len %04x" - # kvm-all.c kvm_ioctl(int type, void *arg) "type 0x%x, arg %p" kvm_vm_ioctl(int type, void *arg) "type 0x%x, arg %p" @@ -154,17 +144,6 @@ memory_region_tb_write(int cpu_index, uint64_t addr, uint64_t value, unsigned si object_dynamic_cast_assert(const char *type, const char *target, const char *file, int line, const char *func) "%s->%s (%s:%d:%s)" object_class_dynamic_cast_assert(const char *type, const char *target, const char *file, int line, const char *func) "%s->%s (%s:%d:%s)" -# target-s390x/kvm.c -kvm_enable_cmma(int rc) "CMMA: enabling with result code %d" -kvm_clear_cmma(int rc) "CMMA: clearing with result code %d" -kvm_failed_cpu_state_set(int cpu_index, uint8_t state, const char *msg) "Warning: Unable to set cpu %d state %" PRIu8 " to KVM: %s" -kvm_sigp_finished(uint8_t order, int cpu_index, int dst_index, int cc) "SIGP: Finished order %u on cpu %d -> cpu %d with cc=%d" - -# target-s390x/cpu.c -cpu_set_state(int cpu_index, uint8_t state) "setting cpu %d state to %" PRIu8 -cpu_halt(int cpu_index) "halting cpu %d" -cpu_unhalt(int cpu_index) "unhalting cpu %d" - # linux-user/signal.c user_setup_frame(void *env, uint64_t frame_addr) "env=%p frame_addr=%"PRIx64 user_setup_rt_frame(void *env, uint64_t frame_addr) "env=%p frame_addr=%"PRIx64 -- cgit v1.2.3