summaryrefslogtreecommitdiffstats
path: root/cpu-exec.c
diff options
context:
space:
mode:
authorPeter Maydell2015-02-10 10:51:46 +0100
committerPeter Maydell2015-02-10 10:51:46 +0100
commit5c697ae74170d43928cb185f5ac1a9058adcae0b (patch)
tree1bc668205decf1076e578ba777dc7bcaca9d3845 /cpu-exec.c
parentqmp: unbreak build for non-vnc configuration (diff)
parentvirtio: Fix warning caused by missing 'static' attribute (diff)
downloadqemu-5c697ae74170d43928cb185f5ac1a9058adcae0b.tar.gz
qemu-5c697ae74170d43928cb185f5ac1a9058adcae0b.tar.xz
qemu-5c697ae74170d43928cb185f5ac1a9058adcae0b.zip
Merge remote-tracking branch 'remotes/mjt/tags/pull-trivial-patches-2015-02-10' into staging
trivial patches for 2015-02-10 # gpg: Signature made Tue 10 Feb 2015 07:27:11 GMT using RSA key ID A4C3D7DB # gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>" # gpg: aka "Michael Tokarev <mjt@corpit.ru>" # gpg: aka "Michael Tokarev <mjt@debian.org>" * remotes/mjt/tags/pull-trivial-patches-2015-02-10: (45 commits) virtio: Fix warning caused by missing 'static' attribute vga: Fix warning caused by missing 'static' attribute stubs: Fix warning caused by missing include statement spice: Add missing 'static' attribute serial: Fix warnings caused by missing 'static' attribute moxie: Fix warning caused by missing include statement migration: Fix warnings caused by missing 'static' attribute migration: Fix warning caused by missing declaration of vmstate_dummy disas/sh4: Fix warning caused by missing 'static' attribute translate-all: Use g_try_malloc() for dynamic translator buffer vnc: g_realloc() can't fail, bury dead error handling rdma: g_malloc0() can't fail, bury dead error handling kvm: g_malloc() can't fail, bury dead error handling rtl8139: g_malloc() can't fail, bury dead error handling onenand: g_malloc() can't fail, bury dead error handling Fix name error in migration stream analyzation script QJSON: fix typo in author's email address util/uri: URI member path can be null, compare more carfully util/uri: realloc2n() can't fail, drop dead error handling util/uri: uri_new() can't fail, drop dead error handling ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r--cpu-exec.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/cpu-exec.c b/cpu-exec.c
index fa506e628a..67381176da 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -494,28 +494,22 @@ int cpu_exec(CPUArchState *env)
* interrupt_request) which we will handle
* next time around the loop.
*/
- tb = (TranslationBlock *)(next_tb & ~TB_EXIT_MASK);
next_tb = 0;
break;
case TB_EXIT_ICOUNT_EXPIRED:
{
/* Instruction counter expired. */
- int insns_left;
- tb = (TranslationBlock *)(next_tb & ~TB_EXIT_MASK);
- insns_left = cpu->icount_decr.u32;
+ int insns_left = cpu->icount_decr.u32;
if (cpu->icount_extra && insns_left >= 0) {
/* Refill decrementer and continue execution. */
cpu->icount_extra += insns_left;
- if (cpu->icount_extra > 0xffff) {
- insns_left = 0xffff;
- } else {
- insns_left = cpu->icount_extra;
- }
+ insns_left = MIN(0xffff, cpu->icount_extra);
cpu->icount_extra -= insns_left;
cpu->icount_decr.u16.low = insns_left;
} else {
if (insns_left > 0) {
/* Execute remaining instructions. */
+ tb = (TranslationBlock *)(next_tb & ~TB_EXIT_MASK);
cpu_exec_nocache(env, insns_left, tb);
align_clocks(&sc, cpu);
}