[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v9 67/74] riscv: convert to cpu_has_work_with_iothread_lock
From: |
Robert Foley |
Subject: |
[PATCH v9 67/74] riscv: convert to cpu_has_work_with_iothread_lock |
Date: |
Thu, 21 May 2020 12:40:04 -0400 |
From: "Emilio G. Cota" <address@hidden>
Soon we will call cpu_has_work without the BQL.
Cc: Sagar Karandikar <address@hidden>
Cc: Bastian Koppelmann <address@hidden>
Reviewed-by: Palmer Dabbelt <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Robert Foley <address@hidden>
---
target/riscv/cpu.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 059d71f2c7..87827f69cd 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -323,6 +323,9 @@ static bool riscv_cpu_has_work(CPUState *cs)
#ifndef CONFIG_USER_ONLY
RISCVCPU *cpu = RISCV_CPU(cs);
CPURISCVState *env = &cpu->env;
+
+ g_assert(qemu_mutex_iothread_locked());
+
/*
* Definition of the WFI instruction requires it to ignore the privilege
* mode and delegation registers, but respect individual enables
@@ -524,7 +527,7 @@ static void riscv_cpu_class_init(ObjectClass *c, void *data)
device_class_set_parent_reset(dc, riscv_cpu_reset, &mcc->parent_reset);
cc->class_by_name = riscv_cpu_class_by_name;
- cc->has_work = riscv_cpu_has_work;
+ cc->has_work_with_iothread_lock = riscv_cpu_has_work;
cc->do_interrupt = riscv_cpu_do_interrupt;
cc->cpu_exec_interrupt = riscv_cpu_exec_interrupt;
cc->dump_state = riscv_cpu_dump_state;
--
2.17.1
- [PATCH v9 57/74] openrisc: convert to cpu_interrupt_request, (continued)
- [PATCH v9 57/74] openrisc: convert to cpu_interrupt_request, Robert Foley, 2020/05/21
- [PATCH v9 54/74] alpha: convert to cpu_interrupt_request, Robert Foley, 2020/05/21
- [PATCH v9 61/74] cpu: convert to interrupt_request, Robert Foley, 2020/05/21
- [PATCH v9 60/74] accel/tcg: convert to cpu_interrupt_request, Robert Foley, 2020/05/21
- [PATCH v9 62/74] cpu: call .cpu_has_work with the CPU lock held, Robert Foley, 2020/05/21
- [PATCH v9 59/74] microblaze: convert to cpu_interrupt_request, Robert Foley, 2020/05/21
- [PATCH v9 63/74] cpu: introduce cpu_has_work_with_iothread_lock, Robert Foley, 2020/05/21
- [PATCH v9 64/74] ppc: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/05/21
- [PATCH v9 65/74] mips: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/05/21
- [PATCH v9 67/74] riscv: convert to cpu_has_work_with_iothread_lock,
Robert Foley <=
- [PATCH v9 66/74] s390x: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/05/21
- [PATCH v9 68/74] sparc: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/05/21
- [PATCH v9 69/74] xtensa: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/05/21
- [PATCH v9 70/74] cpu: rename all_cpu_threads_idle to qemu_tcg_rr_all_cpu_threads_idle, Robert Foley, 2020/05/21
- [PATCH v9 71/74] cpu: protect CPU state with cpu->lock instead of the BQL, Robert Foley, 2020/05/21
- [PATCH v9 72/74] cpus-common: release BQL earlier in run_on_cpu, Robert Foley, 2020/05/21
- [PATCH v9 73/74] cpu: add async_run_on_cpu_no_bql, Robert Foley, 2020/05/21
- [PATCH v9 74/74] cputlb: queue async flush jobs without the BQL, Robert Foley, 2020/05/21