diff options
author | Gustavo Romero | 2020-08-11 17:32:35 +0200 |
---|---|---|
committer | David Gibson | 2020-08-13 02:03:01 +0200 |
commit | a72c71b77d73f9888cbe8da8be09d7097ebca64f (patch) | |
tree | 25cff686d63488db3bef684f89a8bc24be5dd95a /hw/intc/arm_gicv3.c | |
parent | spapr/xive: Simplify kvmppc_xive_disconnect() (diff) | |
download | qemu-a72c71b77d73f9888cbe8da8be09d7097ebca64f.tar.gz qemu-a72c71b77d73f9888cbe8da8be09d7097ebca64f.tar.xz qemu-a72c71b77d73f9888cbe8da8be09d7097ebca64f.zip |
target/ppc: Integrate icount to purr, vtb, and tbu40
Currently if option '-icount auto' is passed to the QEMU TCG to enable
counting instructions the VM crashes with the following error report when
Linux runs on it:
qemu-system-ppc64: Bad icount read
This happens because read/write access to the SPRs PURR, VTB, and TBU40
is not integrated to the icount framework.
This commit fixes that issue by making the read/write access of these
SPRs aware of icount framework, adding the proper gen_io_start() calls
before calling the helpers to load/store these SPRs in TCG and ensuring
that the associated TBs end immediately after, accordingly to what's in
docs/devel/tcg-icount.rst.
Signed-off-by: Gustavo Romero <gromero@linux.ibm.com>
Message-Id: <20200811153235.4527-1-gromero@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw/intc/arm_gicv3.c')
0 files changed, 0 insertions, 0 deletions