target-ppc: Initialize OpenPIC properly
When lowering an IRQ line, we search for the line we're supposed to lower. Usually we run into an optimization there that queues up interrupts. This queue ends with -1. Unfortunately we didn't set the first item to -1. This patch fixes this, making interrupts work on PPC64. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
		
							parent
							
								
									0aced4e219
								
							
						
					
					
						commit
						d14ed2548c
					
				@ -442,7 +442,9 @@ static void openpic_reset (void *opaque)
 | 
				
			|||||||
	opp->dst[i].pctp      = 0x0000000F;
 | 
						opp->dst[i].pctp      = 0x0000000F;
 | 
				
			||||||
	opp->dst[i].pcsr      = 0x00000000;
 | 
						opp->dst[i].pcsr      = 0x00000000;
 | 
				
			||||||
	memset(&opp->dst[i].raised, 0, sizeof(IRQ_queue_t));
 | 
						memset(&opp->dst[i].raised, 0, sizeof(IRQ_queue_t));
 | 
				
			||||||
 | 
					        opp->dst[i].raised.next = -1;
 | 
				
			||||||
	memset(&opp->dst[i].servicing, 0, sizeof(IRQ_queue_t));
 | 
						memset(&opp->dst[i].servicing, 0, sizeof(IRQ_queue_t));
 | 
				
			||||||
 | 
					        opp->dst[i].servicing.next = -1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    /* Initialise timers */
 | 
					    /* Initialise timers */
 | 
				
			||||||
    for (i = 0; i < MAX_TMR; i++) {
 | 
					    for (i = 0; i < MAX_TMR; i++) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user