mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	replay: improve interrupt handling
This patch improves interrupt handling in record/replay mode. Now "interrupt" event is saved only when cc->cpu_exec_interrupt returns true. This patch also adds missing return to cpu_exec_interrupt function. Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> Message-Id: <20170124071708.4572.64023.stgit@PASHA-ISP> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									8094532b47
								
							
						
					
					
						commit
						d718b14b8c
					
				| @ -508,8 +508,8 @@ static inline void cpu_handle_interrupt(CPUState *cpu, | ||||
|            True when it is, and we should restart on a new TB, | ||||
|            and via longjmp via cpu_loop_exit.  */ | ||||
|         else { | ||||
|             replay_interrupt(); | ||||
|             if (cc->cpu_exec_interrupt(cpu, interrupt_request)) { | ||||
|                 replay_interrupt(); | ||||
|                 *last_tb = NULL; | ||||
|             } | ||||
|             /* The target hook may have updated the 'cpu->interrupt_request';
 | ||||
|  | ||||
| @ -1331,6 +1331,7 @@ bool x86_cpu_exec_interrupt(CPUState *cs, int interrupt_request) | ||||
| #endif | ||||
|     if (interrupt_request & CPU_INTERRUPT_SIPI) { | ||||
|         do_cpu_sipi(cpu); | ||||
|         ret = true; | ||||
|     } else if (env->hflags2 & HF2_GIF_MASK) { | ||||
|         if ((interrupt_request & CPU_INTERRUPT_SMI) && | ||||
|             !(env->hflags & HF_SMM_MASK)) { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Pavel Dovgalyuk
						Pavel Dovgalyuk