[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v7 15/73] cpu: define cpu_halted helpers
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH v7 15/73] cpu: define cpu_halted helpers |
Date: |
Mon, 4 Mar 2019 13:17:15 -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 d826a2852e..9fe74e4392 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -502,6 +502,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 v7 06/73] cpu: introduce process_queued_cpu_work_locked, (continued)
- [Qemu-devel] [PATCH v7 06/73] cpu: introduce process_queued_cpu_work_locked, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 04/73] cpu: make qemu_work_cond per-cpu, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 09/73] ppc: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 07/73] cpu: make per-CPU locks an alias of the BQL in TCG rr mode, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 23/73] mips: convert to cpu_halted, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 50/73] mips: convert to cpu_interrupt_request, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 03/73] cpu: introduce cpu_mutex_lock/unlock, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 02/73] cpu: rename cpu->work_mutex to cpu->lock, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 11/73] hppa: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 10/73] cris: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 15/73] cpu: define cpu_halted helpers,
Emilio G. Cota <=
- [Qemu-devel] [PATCH v7 12/73] m68k: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 14/73] microblaze: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 16/73] tcg-runtime: convert to cpu_halted_set, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 21/73] lm32: convert to cpu_halted, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 20/73] i386: convert to cpu_halted, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 64/73] mips: convert to cpu_has_work_with_iothread_lock, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 13/73] alpha: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 19/73] sh4: convert to cpu_halted, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 28/73] gdbstub: convert to cpu_halted, Emilio G. Cota, 2019/03/04
- [Qemu-devel] [PATCH v7 24/73] riscv: convert to cpu_halted, Emilio G. Cota, 2019/03/04