[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v9 15/74] cpu: define cpu_halted helpers
From: |
Robert Foley |
Subject: |
[PATCH v9 15/74] cpu: define cpu_halted helpers |
Date: |
Thu, 21 May 2020 12:39:12 -0400 |
From: "Emilio G. Cota" <address@hidden>
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>
Signed-off-by: Robert Foley <address@hidden>
---
include/hw/core/cpu.h | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 2959ed1b49..820c5b0a9a 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -498,6 +498,30 @@ void cpu_mutex_destroy(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
- [PATCH v9 07/74] cpu: make per-CPU locks an alias of the BQL in TCG rr mode, (continued)
- [PATCH v9 07/74] cpu: make per-CPU locks an alias of the BQL in TCG rr mode, Robert Foley, 2020/05/21
- [PATCH v9 08/74] tcg-runtime: define helper_cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 09/74] ppc: convert to helper_cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 10/74] cris: convert to helper_cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 12/74] m68k: convert to helper_cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 11/74] hppa: convert to helper_cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 13/74] alpha: convert to helper_cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 14/74] microblaze: convert to helper_cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 15/74] cpu: define cpu_halted helpers,
Robert Foley <=
- [PATCH v9 16/74] tcg-runtime: convert to cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 17/74] hw/semihosting: convert to cpu_halted_set, Robert Foley, 2020/05/21
- [PATCH v9 18/74] arm: convert to cpu_halted, Robert Foley, 2020/05/21
- [PATCH v9 20/74] sh4: convert to cpu_halted, Robert Foley, 2020/05/21
- [PATCH v9 19/74] ppc: convert to cpu_halted, Robert Foley, 2020/05/21
- [PATCH v9 21/74] i386: convert to cpu_halted, Robert Foley, 2020/05/21
- [PATCH v9 23/74] m68k: convert to cpu_halted, Robert Foley, 2020/05/21
- [PATCH v9 22/74] lm32: convert to cpu_halted, Robert Foley, 2020/05/21
- [PATCH v9 24/74] mips: convert to cpu_halted, Robert Foley, 2020/05/21
- [PATCH v9 25/74] riscv: convert to cpu_halted, Robert Foley, 2020/05/21