qemu: introduce qemu_cpu_kick (Marcelo Tosatti)
To notify cpu of pending interrupt. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7243 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
		
							parent
							
								
									0bf46a40a1
								
							
						
					
					
						commit
						8edac960a7
					
				
							
								
								
									
										11
									
								
								exec.c
								
								
								
								
							
							
						
						
									
										11
									
								
								exec.c
								
								
								
								
							| 
						 | 
				
			
			@ -1542,6 +1542,17 @@ void cpu_interrupt(CPUState *env, int mask)
 | 
			
		|||
    old_mask = env->interrupt_request;
 | 
			
		||||
    env->interrupt_request |= mask;
 | 
			
		||||
 | 
			
		||||
#ifndef CONFIG_USER_ONLY
 | 
			
		||||
    /*
 | 
			
		||||
     * If called from iothread context, wake the target cpu in
 | 
			
		||||
     * case its halted.
 | 
			
		||||
     */
 | 
			
		||||
    if (!qemu_cpu_self(env)) {
 | 
			
		||||
        qemu_cpu_kick(env);
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    if (use_icount) {
 | 
			
		||||
        env->icount_decr.u16.high = 0xffff;
 | 
			
		||||
#ifndef CONFIG_USER_ONLY
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -189,6 +189,10 @@ void qemu_service_io(void);
 | 
			
		|||
/* Force QEMU to process pending events */
 | 
			
		||||
void qemu_notify_event(void);
 | 
			
		||||
 | 
			
		||||
/* Unblock cpu */
 | 
			
		||||
void qemu_cpu_kick(void *env);
 | 
			
		||||
int qemu_cpu_self(void *env);
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_USER_ONLY
 | 
			
		||||
#define qemu_init_vcpu(env) do { } while (0)
 | 
			
		||||
#else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue