Re: [Qemu-devel] [RFC v4 48/71] mips: convert to cpu_interrupt_request

2018-10-26 Thread Richard Henderson
On 10/25/18 3:46 PM, Emilio G. Cota wrote:
> Cc: Aurelien Jarno 
> Cc: Aleksandar Markovic 
> Cc: James Hogan 
> Signed-off-by: Emilio G. Cota 
> ---
>  target/mips/cpu.c | 7 ---
>  target/mips/kvm.c | 2 +-
>  2 files changed, 5 insertions(+), 4 deletions(-)

Reviewed-by: Richard Henderson 

r~





[Qemu-devel] [RFC v4 48/71] mips: convert to cpu_interrupt_request

2018-10-25 Thread Emilio G. Cota
Cc: Aurelien Jarno 
Cc: Aleksandar Markovic 
Cc: James Hogan 
Signed-off-by: Emilio G. Cota 
---
 target/mips/cpu.c | 7 ---
 target/mips/kvm.c | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/target/mips/cpu.c b/target/mips/cpu.c
index 497706b669..992d64e796 100644
--- a/target/mips/cpu.c
+++ b/target/mips/cpu.c
@@ -56,11 +56,12 @@ static bool mips_cpu_has_work(CPUState *cs)
 MIPSCPU *cpu = MIPS_CPU(cs);
 CPUMIPSState *env = >env;
 bool has_work = false;
+uint32_t interrupt_request = cpu_interrupt_request(cs);
 
 /* Prior to MIPS Release 6 it is implementation dependent if non-enabled
interrupts wake-up the CPU, however most of the implementations only
check for interrupts that can be taken. */
-if ((cs->interrupt_request & CPU_INTERRUPT_HARD) &&
+if ((interrupt_request & CPU_INTERRUPT_HARD) &&
 cpu_mips_hw_interrupts_pending(env)) {
 if (cpu_mips_hw_interrupts_enabled(env) ||
 (env->insn_flags & ISA_MIPS32R6)) {
@@ -72,7 +73,7 @@ static bool mips_cpu_has_work(CPUState *cs)
 if (env->CP0_Config3 & (1 << CP0C3_MT)) {
 /* The QEMU model will issue an _WAKE request whenever the CPUs
should be woken up.  */
-if (cs->interrupt_request & CPU_INTERRUPT_WAKE) {
+if (interrupt_request & CPU_INTERRUPT_WAKE) {
 has_work = true;
 }
 
@@ -82,7 +83,7 @@ static bool mips_cpu_has_work(CPUState *cs)
 }
 /* MIPS Release 6 has the ability to halt the CPU.  */
 if (env->CP0_Config5 & (1 << CP0C5_VP)) {
-if (cs->interrupt_request & CPU_INTERRUPT_WAKE) {
+if (interrupt_request & CPU_INTERRUPT_WAKE) {
 has_work = true;
 }
 if (!mips_vp_active(env)) {
diff --git a/target/mips/kvm.c b/target/mips/kvm.c
index 0b177a7577..568c3d8f4a 100644
--- a/target/mips/kvm.c
+++ b/target/mips/kvm.c
@@ -135,7 +135,7 @@ void kvm_arch_pre_run(CPUState *cs, struct kvm_run *run)
 
 qemu_mutex_lock_iothread();
 
-if ((cs->interrupt_request & CPU_INTERRUPT_HARD) &&
+if ((cpu_interrupt_request(cs) & CPU_INTERRUPT_HARD) &&
 cpu_mips_io_interrupts_pending(cpu)) {
 intr.cpu = -1;
 intr.irq = 2;
-- 
2.17.1