[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v4 14/71] cpu: define cpu_halted helpers
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [RFC v4 14/71] cpu: define cpu_halted helpers |
Date: |
Thu, 25 Oct 2018 10:45:47 -0400 |
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>
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 11cbf21f00..aeed63a705 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -487,6 +487,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] [RFC v4 39/71] i386/hax-all: convert to cpu_interrupt_request, (continued)
- [Qemu-devel] [RFC v4 39/71] i386/hax-all: convert to cpu_interrupt_request, Emilio G. Cota, 2018/10/25
- [Qemu-devel] [RFC v4 06/71] cpu: introduce process_queued_cpu_work_locked, Emilio G. Cota, 2018/10/25
- [Qemu-devel] [RFC v4 03/71] cpu: introduce cpu_mutex_lock/unlock, Emilio G. Cota, 2018/10/25
- [Qemu-devel] [RFC v4 10/71] hppa: convert to helper_cpu_halted_set, Emilio G. Cota, 2018/10/25
- [Qemu-devel] [RFC v4 14/71] cpu: define cpu_halted helpers,
Emilio G. Cota <=
- [Qemu-devel] [RFC v4 12/71] alpha: convert to helper_cpu_halted_set, Emilio G. Cota, 2018/10/25
- [Qemu-devel] [RFC v4 38/71] i386/kvm: convert to cpu_interrupt_request, Emilio G. Cota, 2018/10/25
- [Qemu-devel] [RFC v4 22/71] mips: convert to cpu_halted, Emilio G. Cota, 2018/10/25
- [Qemu-devel] [RFC v4 23/71] riscv: convert to cpu_halted, Emilio G. Cota, 2018/10/25