[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v5 22/31] timer: introduce new QEMU_CLOCK_VI
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH v5 22/31] timer: introduce new QEMU_CLOCK_VIRTUAL_RT clock |
Date: |
Thu, 27 Nov 2014 17:53:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 |
On 27/11/2014 10:11, Pavel Dovgaluk wrote:
> When POLL interrupt request is processed by x86_cpu_exec_interrupt function,
> as it were before,
> everything is ok, because I ensure that these calls occur at the same moments
> in record/replay.
Does this partial revert work?
Paolo
diff --git a/cpu-exec.c b/cpu-exec.c
index 3913de0..c976095 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -331,6 +331,12 @@ int cpu_exec(CPUArchState *env)
volatile bool have_tb_lock = false;
if (cpu->halted) {
+#ifdef TARGET_I386
+ if (cpu->interrupt_request & CPU_INTERRUPT_POLL) {
+ apic_poll_irq(x86_cpu->apic_state);
+ cpu_reset_interrupt(cpu, CPU_INTERRUPT_POLL);
+ }
+#endif
if (!cpu_has_work(cpu)) {
return EXCP_HALTED;
}
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index e9df33e..3f13dfe 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2912,14 +2912,8 @@ static bool x86_cpu_has_work(CPUState *cs)
X86CPU *cpu = X86_CPU(cs);
CPUX86State *env = &cpu->env;
-#if !defined(CONFIG_USER_ONLY)
- if (cs->interrupt_request & CPU_INTERRUPT_POLL) {
- apic_poll_irq(cpu->apic_state);
- cpu_reset_interrupt(cs, CPU_INTERRUPT_POLL);
- }
-#endif
-
- return ((cs->interrupt_request & CPU_INTERRUPT_HARD) &&
+ return ((cs->interrupt_request & (CPU_INTERRUPT_HARD |
+ CPU_INTERRUPT_POLL)) &&
(env->eflags & IF_MASK)) ||
(cs->interrupt_request & (CPU_INTERRUPT_NMI |
CPU_INTERRUPT_INIT |
[Qemu-devel] [RFC PATCH v5 23/31] cpus: make icount warp deterministic in replay mode, Pavel Dovgalyuk, 2014/11/26
[Qemu-devel] [RFC PATCH v5 24/31] replay: shutdown event, Pavel Dovgalyuk, 2014/11/26
[Qemu-devel] [RFC PATCH v5 25/31] replay: checkpoints, Pavel Dovgalyuk, 2014/11/26
[Qemu-devel] [RFC PATCH v5 26/31] replay: bottom halves, Pavel Dovgalyuk, 2014/11/26
[Qemu-devel] [RFC PATCH v5 27/31] replay: replay aio requests, Pavel Dovgalyuk, 2014/11/26
[Qemu-devel] [RFC PATCH v5 28/31] replay: thread pool, Pavel Dovgalyuk, 2014/11/26