[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 39/47] cputlb: Pass CPUState to cpu_unlink_tb()
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 39/47] cputlb: Pass CPUState to cpu_unlink_tb() |
Date: |
Sat, 16 Feb 2013 16:45:34 +0100 |
CPUArchState is no longer needed.
Signed-off-by: Andreas Färber <address@hidden>
---
exec.c | 2 +-
translate-all.c | 9 +++++----
translate-all.h | 2 +-
3 Dateien geändert, 7 Zeilen hinzugefügt(+), 6 Zeilen entfernt(-)
diff --git a/exec.c b/exec.c
index dbb893a..a41bcb8 100644
--- a/exec.c
+++ b/exec.c
@@ -495,7 +495,7 @@ void cpu_exit(CPUArchState *env)
CPUState *cpu = ENV_GET_CPU(env);
cpu->exit_request = 1;
- cpu_unlink_tb(env);
+ cpu_unlink_tb(cpu);
}
void cpu_abort(CPUArchState *env, const char *fmt, ...)
diff --git a/translate-all.c b/translate-all.c
index 52128aa..b50fb89 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -1416,13 +1416,12 @@ void tb_invalidate_phys_addr(hwaddr addr)
}
#endif /* TARGET_HAS_ICE && !defined(CONFIG_USER_ONLY) */
-void cpu_unlink_tb(CPUArchState *env)
+void cpu_unlink_tb(CPUState *cpu)
{
/* FIXME: TB unchaining isn't SMP safe. For now just ignore the
problem and hope the cpu will stop of its own accord. For userspace
emulation this often isn't actually as bad as it sounds. Often
signals are used primarily to interrupt blocking syscalls. */
- CPUState *cpu = ENV_GET_CPU(env);
TranslationBlock *tb;
static spinlock_t interrupt_lock = SPIN_LOCK_UNLOCKED;
@@ -1476,7 +1475,7 @@ static void tcg_handle_interrupt(CPUArchState *env, int
mask)
cpu_abort(env, "Raised interrupt while not in I/O function");
}
} else {
- cpu_unlink_tb(env);
+ cpu_unlink_tb(cpu);
}
}
@@ -1624,8 +1623,10 @@ void dump_exec_info(FILE *f, fprintf_function
cpu_fprintf)
void cpu_interrupt(CPUArchState *env, int mask)
{
+ CPUState *cpu = ENV_GET_CPU(env);
+
env->interrupt_request |= mask;
- cpu_unlink_tb(env);
+ cpu_unlink_tb(cpu);
}
/*
diff --git a/translate-all.h b/translate-all.h
index b181fb4..5c38819 100644
--- a/translate-all.h
+++ b/translate-all.h
@@ -28,7 +28,7 @@
/* translate-all.c */
void tb_invalidate_phys_page_fast(tb_page_addr_t start, int len);
-void cpu_unlink_tb(CPUArchState *env);
+void cpu_unlink_tb(CPUState *cpu);
void tb_check_watchpoint(CPUArchState *env);
#endif /* TRANSLATE_ALL_H */
--
1.7.10.4
- [Qemu-devel] [PATCH 29/47] ppc405_uc: Pass PowerPCCPU to ppc40x_{core, chip, system}_reset(), (continued)
- [Qemu-devel] [PATCH 29/47] ppc405_uc: Pass PowerPCCPU to ppc40x_{core, chip, system}_reset(), Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 27/47] target-unicore32: Move TCG initialization to UniCore32CPU initfn, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 45/47] target-lm32: Drop unused cpu_lm32_close() prototype, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 30/47] target-m68k: Return M68kCPU from cpu_m68k_init(), Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 47/47] target-i386: Split command line parsing out of cpu_x86_register(), Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 31/47] mcf5206: Pass M68kCPU to mcf5206_init(), Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 46/47] target-i386: Move cpu_x86_init(), Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 33/47] target-m68k: Pass M68kCPU to m68k_set_irq_level(), Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 41/47] e500: Replace open-coded loop with qemu_get_cpu(), Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 35/47] cpu: Move host_tid field to CPUState, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 39/47] cputlb: Pass CPUState to cpu_unlink_tb(),
Andreas Färber <=
- [Qemu-devel] [PATCH 37/47] cpu: Move exit_request field to CPUState, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 44/47] target-s390x: Drop unused cpu_s390x_close() prototype, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 34/47] target-cris: Introduce CRISCPU subclasses, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 40/47] cpu: Add CPUArchState pointer to CPUState, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 38/47] cpu: Move current_tb field to CPUState, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 42/47] ppce500_spin: Replace open-coded CPU loop with qemu_get_cpu(), Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 28/47] target-xtensa: Move TCG initialization to XtensaCPU initfn, Andreas Färber, 2013/02/16
- [Qemu-devel] [PATCH 32/47] mcf_intc: Pass M68kCPU to mcf_intc_init(), Andreas Färber, 2013/02/16