diff options
author | Peter Maydell | 2018-04-11 15:23:56 +0200 |
---|---|---|
committer | Peter Maydell | 2018-04-11 15:23:56 +0200 |
commit | 6523eaca378df1455481f1cec65ada589d65df0e (patch) | |
tree | bcab49b7b0fe2a58cc38729c94477e03b2dde022 /include/exec | |
parent | Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-2.12-pull-r... (diff) | |
parent | icount: fix cpu_restore_state_from_tb for non-tb-exit cases (diff) | |
download | qemu-6523eaca378df1455481f1cec65ada589d65df0e.tar.gz qemu-6523eaca378df1455481f1cec65ada589d65df0e.tar.xz qemu-6523eaca378df1455481f1cec65ada589d65df0e.zip |
Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20180411' into staging
Handle read-modify-write i/o with icount
# gpg: Signature made Wed 11 Apr 2018 00:07:23 BST
# gpg: using RSA key 64DF38E8AF7E215F
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>"
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F
* remotes/rth/tags/pull-tcg-20180411:
icount: fix cpu_restore_state_from_tb for non-tb-exit cases
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/exec')
-rw-r--r-- | include/exec/exec-all.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index e5afd2e6d3..bd68328ed9 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -50,13 +50,16 @@ void cpu_gen_init(void); * cpu_restore_state: * @cpu: the vCPU state is to be restore to * @searched_pc: the host PC the fault occurred at + * @will_exit: true if the TB executed will be interrupted after some + cpu adjustments. Required for maintaining the correct + icount valus * @return: true if state was restored, false otherwise * * Attempt to restore the state for a fault occurring in translated * code. If the searched_pc is not in translated code no state is * restored and the function returns false. */ -bool cpu_restore_state(CPUState *cpu, uintptr_t searched_pc); +bool cpu_restore_state(CPUState *cpu, uintptr_t searched_pc, bool will_exit); void QEMU_NORETURN cpu_loop_exit_noexc(CPUState *cpu); void QEMU_NORETURN cpu_io_recompile(CPUState *cpu, uintptr_t retaddr); |