[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v10 66/73] riscv: convert to cpu_has_work_with_iothread_lock
|
From: |
Robert Foley |
|
Subject: |
[PATCH v10 66/73] riscv: convert to cpu_has_work_with_iothread_lock |
|
Date: |
Wed, 17 Jun 2020 17:02:24 -0400 |
From: "Emilio G. Cota" <cota@braap.org>
Soon we will call cpu_has_work without the BQL.
Cc: Sagar Karandikar <sagark@eecs.berkeley.edu>
Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Reviewed-by: Palmer Dabbelt <palmer@dabbelt.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Robert Foley <robert.foley@linaro.org>
---
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 3a6d202d03..d56ba65b32 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -310,6 +310,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
@@ -510,7 +513,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 v10 54/73] moxie: convert to cpu_interrupt_request, (continued)
- [PATCH v10 54/73] moxie: convert to cpu_interrupt_request, Robert Foley, 2020/06/17
- [PATCH v10 55/73] sparc: convert to cpu_interrupt_request, Robert Foley, 2020/06/17
- [PATCH v10 59/73] accel/tcg: convert to cpu_interrupt_request, Robert Foley, 2020/06/17
- [PATCH v10 56/73] openrisc: convert to cpu_interrupt_request, Robert Foley, 2020/06/17
- [PATCH v10 58/73] microblaze: convert to cpu_interrupt_request, Robert Foley, 2020/06/17
- [PATCH v10 60/73] cpu: convert to interrupt_request, Robert Foley, 2020/06/17
- [PATCH v10 62/73] cpu: introduce cpu_has_work_with_iothread_lock, Robert Foley, 2020/06/17
- [PATCH v10 63/73] ppc: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/06/17
- [PATCH v10 61/73] cpu: call .cpu_has_work with the CPU lock held, Robert Foley, 2020/06/17
- [PATCH v10 64/73] mips: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/06/17
- [PATCH v10 66/73] riscv: convert to cpu_has_work_with_iothread_lock,
Robert Foley <=
- [PATCH v10 68/73] xtensa: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/06/17
- [PATCH v10 65/73] s390x: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/06/17
- [PATCH v10 69/73] cpu: rename all_cpu_threads_idle to qemu_tcg_rr_all_cpu_threads_idle, Robert Foley, 2020/06/17
- [PATCH v10 70/73] cpu: protect CPU state with cpu->lock instead of the BQL, Robert Foley, 2020/06/17
- [PATCH v10 73/73] cputlb: queue async flush jobs without the BQL, Robert Foley, 2020/06/17
- [PATCH v10 72/73] cpu: add async_run_on_cpu_no_bql, Robert Foley, 2020/06/17
- [PATCH v10 67/73] sparc: convert to cpu_has_work_with_iothread_lock, Robert Foley, 2020/06/17
- [PATCH v10 71/73] cpus-common: release BQL earlier in run_on_cpu, Robert Foley, 2020/06/17
- Re: [PATCH v10 00/73] per-CPU locks, no-reply, 2020/06/17