Fix tswap size
p in this case is uint32_t * e1/e2 are unsigned ints initialized from arithmetics performed on unsigned longs The mistake was, probably, never noticed due to the absence of any big endian linux-user host. The types e1/e2 and p begs the quesiton why this function takes longs at all. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5036 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
		
							parent
							
								
									dc28c732ac
								
							
						
					
					
						commit
						d538e8f50d
					
				| 
						 | 
				
			
			@ -278,8 +278,8 @@ static void write_dt(void *ptr, unsigned long addr, unsigned long limit,
 | 
			
		|||
    e2 = ((addr >> 16) & 0xff) | (addr & 0xff000000) | (limit & 0x000f0000);
 | 
			
		||||
    e2 |= flags;
 | 
			
		||||
    p = ptr;
 | 
			
		||||
    p[0] = tswapl(e1);
 | 
			
		||||
    p[1] = tswapl(e2);
 | 
			
		||||
    p[0] = tswap32(e1);
 | 
			
		||||
    p[1] = tswap32(e2);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if TARGET_X86_64
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue