hw/apic.c: use fls() from host-utils
...and fix a bug, the implementation in hw/apic.c was wrong. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5876 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
		
							parent
							
								
									d096ab91c9
								
							
						
					
					
						commit
						d34ca59016
					
				| @ -105,12 +105,6 @@ static void apic_init_ipi(APICState *s); | ||||
| static void apic_set_irq(APICState *s, int vector_num, int trigger_mode); | ||||
| static void apic_update_irq(APICState *s); | ||||
| 
 | ||||
| /* Find first bit starting from msb */ | ||||
| static int fls_bit(uint32_t value) | ||||
| { | ||||
|     return 31 - clz32(value); | ||||
| } | ||||
| 
 | ||||
| /* Find first bit starting from lsb */ | ||||
| static int ffs_bit(uint32_t value) | ||||
| { | ||||
| @ -306,7 +300,7 @@ static int get_highest_priority_int(uint32_t *tab) | ||||
|     int i; | ||||
|     for(i = 7; i >= 0; i--) { | ||||
|         if (tab[i] != 0) { | ||||
|             return i * 32 + fls_bit(tab[i]); | ||||
|             return i * 32 + fls(tab[i]); | ||||
|         } | ||||
|     } | ||||
|     return -1; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 aurel32
						aurel32