diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2015-06-24 14:16:26 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-08-14 23:40:32 +0200 |
commit | 414b15c909c88e4cf5f10e80d033b3aa90bcc9e1 (patch) | |
tree | 04d817361a25bc06a6243d5cfcf693017fe4bc5c /include/qom/cpu.h | |
parent | b4a4b8d0e0767c85946fd8fc404643bf5766351a (diff) |
exec: drop cpu_can_do_io, just read cpu->can_do_io
After commit 626cf8f (icount: set can_do_io outside TB execution,
2014-12-08), can_do_io is set to 1 if not executing code. It is
no longer necessary to make this assumption in cpu_can_do_io.
It is also possible to remove the use_icount test, simply by
never setting cpu->can_do_io to 0 unless use_icount is true.
With these changes cpu_can_do_io boils down to a read of
cpu->can_do_io.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/qom/cpu.h')
-rw-r--r-- | include/qom/cpu.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/qom/cpu.h b/include/qom/cpu.h index 20aabc9cb3..39712ab7cb 100644 --- a/include/qom/cpu.h +++ b/include/qom/cpu.h @@ -231,7 +231,9 @@ struct kvm_run; * @icount_decr: Number of cycles left, with interrupt flag in high bit. * This allows a single read-compare-cbranch-write sequence to test * for both decrementer underflow and exceptions. - * @can_do_io: Nonzero if memory-mapped IO is safe. + * @can_do_io: Nonzero if memory-mapped IO is safe. Deterministic execution + * requires that IO only be performed on the last instruction of a TB + * so that interrupts take effect immediately. * @env_ptr: Pointer to subclass-specific CPUArchState field. * @current_tb: Currently executing TB. * @gdb_regs: Additional GDB registers. |