[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 15/73] cpu: define cpu_halted helpers
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH v5 15/73] cpu: define cpu_halted helpers |
Date: |
Thu, 13 Dec 2018 00:03:55 -0500 |
cpu->halted will soon be protected by cpu->lock.
We will use these helpers to ease the transition,
since right now cpu->halted has many direct callers.
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
---
include/qom/cpu.h | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 505daa6ce9..9c5aad1797 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -481,6 +481,30 @@ bool cpu_mutex_locked(const CPUState *cpu);
*/
bool no_cpu_mutex_locked(void);
+static inline uint32_t cpu_halted(CPUState *cpu)
+{
+ uint32_t ret;
+
+ if (cpu_mutex_locked(cpu)) {
+ return cpu->halted;
+ }
+ cpu_mutex_lock(cpu);
+ ret = cpu->halted;
+ cpu_mutex_unlock(cpu);
+ return ret;
+}
+
+static inline void cpu_halted_set(CPUState *cpu, uint32_t val)
+{
+ if (cpu_mutex_locked(cpu)) {
+ cpu->halted = val;
+ return;
+ }
+ cpu_mutex_lock(cpu);
+ cpu->halted = val;
+ cpu_mutex_unlock(cpu);
+}
+
static inline void cpu_tb_jmp_cache_clear(CPUState *cpu)
{
unsigned int i;
--
2.17.1
- [Qemu-devel] [PATCH v5 10/73] cris: convert to helper_cpu_halted_set, (continued)
- [Qemu-devel] [PATCH v5 10/73] cris: convert to helper_cpu_halted_set, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 05/73] cpu: move run_on_cpu to cpus-common, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 09/73] ppc: convert to helper_cpu_halted_set, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 12/73] m68k: convert to helper_cpu_halted_set, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 27/73] xtensa: convert to cpu_halted, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 16/73] tcg-runtime: convert to cpu_halted_set, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 24/73] riscv: convert to cpu_halted, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 08/73] tcg-runtime: define helper_cpu_halted_set, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 21/73] lm32: convert to cpu_halted, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 15/73] cpu: define cpu_halted helpers,
Emilio G. Cota <=
- [Qemu-devel] [PATCH v5 19/73] sh4: convert to cpu_halted, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 13/73] alpha: convert to helper_cpu_halted_set, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 14/73] microblaze: convert to helper_cpu_halted_set, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 22/73] m68k: convert to cpu_halted, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 20/73] i386: convert to cpu_halted, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 26/73] sparc: convert to cpu_halted, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 34/73] exec: use cpu_reset_interrupt, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 28/73] gdbstub: convert to cpu_halted, Emilio G. Cota, 2018/12/13
- [Qemu-devel] [PATCH v5 30/73] cpu-exec: convert to cpu_halted, Emilio G. Cota, 2018/12/13