[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 15/73] cpu: define cpu_halted helpers
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH v6 15/73] cpu: define cpu_halted helpers |
Date: |
Tue, 29 Jan 2019 19:47:13 -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 8b85a036cf..5047047666 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -489,6 +489,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 v6 04/73] cpu: make qemu_work_cond per-cpu, (continued)
- [Qemu-devel] [PATCH v6 04/73] cpu: make qemu_work_cond per-cpu, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 02/73] cpu: rename cpu->work_mutex to cpu->lock, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 08/73] tcg-runtime: define helper_cpu_halted_set, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 10/73] cris: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 12/73] m68k: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 06/73] cpu: introduce process_queued_cpu_work_locked, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 11/73] hppa: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 01/73] cpu: convert queued work to a QSIMPLEQ, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 07/73] cpu: make per-CPU locks an alias of the BQL in TCG rr mode, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 13/73] alpha: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 15/73] cpu: define cpu_halted helpers,
Emilio G. Cota <=
- [Qemu-devel] [PATCH v6 14/73] microblaze: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 16/73] tcg-runtime: convert to cpu_halted_set, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 09/73] ppc: convert to helper_cpu_halted_set, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 18/73] ppc: convert to cpu_halted, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 22/73] m68k: convert to cpu_halted, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 24/73] riscv: convert to cpu_halted, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 26/73] sparc: convert to cpu_halted, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 21/73] lm32: convert to cpu_halted, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 23/73] mips: convert to cpu_halted, Emilio G. Cota, 2019/01/29
- [Qemu-devel] [PATCH v6 19/73] sh4: convert to cpu_halted, Emilio G. Cota, 2019/01/29