w64: Fix struct CPUTLBEntry
For w64, some entries need 'uintptr_t' instead of 'unsigned long'. For other host systems, both data types are identical, so nothing changes. Signed-off-by: Stefan Weil <sw@weilnetz.de>
This commit is contained in:
		
							parent
							
								
									5cf6dd51ab
								
							
						
					
					
						commit
						3b2992e42f
					
				@ -98,12 +98,12 @@ typedef struct CPUTLBEntry {
 | 
				
			|||||||
    target_ulong addr_code;
 | 
					    target_ulong addr_code;
 | 
				
			||||||
    /* Addend to virtual address to get host address.  IO accesses
 | 
					    /* Addend to virtual address to get host address.  IO accesses
 | 
				
			||||||
       use the corresponding iotlb value.  */
 | 
					       use the corresponding iotlb value.  */
 | 
				
			||||||
    unsigned long addend;
 | 
					    uintptr_t addend;
 | 
				
			||||||
    /* padding to get a power of two size */
 | 
					    /* padding to get a power of two size */
 | 
				
			||||||
    uint8_t dummy[(1 << CPU_TLB_ENTRY_BITS) -
 | 
					    uint8_t dummy[(1 << CPU_TLB_ENTRY_BITS) -
 | 
				
			||||||
                  (sizeof(target_ulong) * 3 +
 | 
					                  (sizeof(target_ulong) * 3 +
 | 
				
			||||||
                   ((-sizeof(target_ulong) * 3) & (sizeof(unsigned long) - 1)) + 
 | 
					                   ((-sizeof(target_ulong) * 3) & (sizeof(uintptr_t) - 1)) +
 | 
				
			||||||
                   sizeof(unsigned long))];
 | 
					                   sizeof(uintptr_t))];
 | 
				
			||||||
} CPUTLBEntry;
 | 
					} CPUTLBEntry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern int CPUTLBEntry_wrong_size[sizeof(CPUTLBEntry) == (1 << CPU_TLB_ENTRY_BITS) ? 1 : -1];
 | 
					extern int CPUTLBEntry_wrong_size[sizeof(CPUTLBEntry) == (1 << CPU_TLB_ENTRY_BITS) ? 1 : -1];
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user