Hi Peter, Alex, On 08/03/2015 05:14 AM, Alex Bennée wrote: > From: Peter Maydell <peter.mayd...@linaro.org> > > Improve the TB execution logging so that it is easier to identify > what is happening from trace logs: > * move the "Trace" logging of executed TBs into cpu_tb_exec() > so that it is emitted if and only if we actually execute a TB, > and for consistency for the CPU state logging > * log when we link two TBs together via tb_add_jump() > * log when cpu_tb_exec() returns early from a chain of TBs > > The new style logging looks like this: > > Trace 0x7fb7cc822ca0 [ffffffc0000dce00] > Linking TBs 0x7fb7cc822ca0 [ffffffc0000dce00] index 0 -> 0x7fb7cc823110 > [ffffffc0000dce10] > Trace 0x7fb7cc823110 [ffffffc0000dce10] > Trace 0x7fb7cc823420 [ffffffc000302688] > Trace 0x7fb7cc8234a0 [ffffffc000302698] > Trace 0x7fb7cc823520 [ffffffc0003026a4] > Trace 0x7fb7cc823560 [ffffffc0000dce44] > Linking TBs 0x7fb7cc823560 [ffffffc0000dce44] index 1 -> 0x7fb7cc8235d0 > [ffffffc0000dce70] > Trace 0x7fb7cc8235d0 [ffffffc0000dce70] > Abandoned execution of TB chain before 0x7fb7cc8235d0 [ffffffc0000dce70] > Trace 0x7fb7cc8235d0 [ffffffc0000dce70] > Trace 0x7fb7cc822fd0 [ffffffc0000dd52c]
Do you think there's some way to log the loop count when a circular chain is executed? System Emulation started at Mon Aug 10 15:30:49 2015 Invocation:aarch64-softmmu/qemu-system-aarch64 -M virt -cpu cortex-a57 -m 2G -kernel psci-exit -d exec,int,in_asm -nodefaults -nographic -monitor none -icount shift=0 ---------------- IN: 0x0000000080000000: d2800140 mov x0, #0xa 0x0000000080000004: f1000400 subs x0, x0, #0x1 (1) 0x0000000080000008: 54ffffe1 b.ne #-0x4 (addr 0x80000004) Trace 0x7f38787cb000 [0000000080000000] ---------------- IN: 0x0000000080000004: f1000400 subs x0, x0, #0x1 (1) 0x0000000080000008: 54ffffe1 b.ne #-0x4 (addr 0x80000004) Linking TBs 0x7f38787cb000 [0000000080000000] index 1 -> 0x7f38787cb0d0 [0000000080000004] Trace 0x7f38787cb0d0 [0000000080000004] Linking TBs 0x7f38787cb0d0 [0000000080000004] index 1 -> 0x7f38787cb0d0 [0000000080000004] Trace 0x7f38787cb0d0 [0000000080000004] ---------------- IN: 0x000000008000000c: d2800100 mov x0, #0x8 0x0000000080000010: f2b08000 movk x0, #0x8400, lsl #16 0x0000000080000014: d4000002 hvc #0x0 Linking TBs 0x7f38787cb0d0 [0000000080000004] index 0 -> 0x7f38787cb1c0 [000000008000000c] Trace 0x7f38787cb1c0 [000000008000000c] Taking exception 11 [Hypervisor Call] ...from EL1 ...with ESR 0x5a000000 Thanks, Christopher Covington -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project