w64: Fix data types in softmmu*.h
w64 requires uintptr_t. Signed-off-by: Stefan Weil <sw@weilnetz.de>
This commit is contained in:
		
							parent
							
								
									8efe0ca83e
								
							
						
					
					
						commit
						b065927a02
					
				| @ -111,7 +111,7 @@ glue(glue(glue(CPU_PREFIX, ld), USUFFIX), MEMSUFFIX)(ENV_PARAM | ||||
|                                                                      mmu_idx); | ||||
|     } else { | ||||
|         uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend; | ||||
|         res = glue(glue(ld, USUFFIX), _raw)((uint8_t *)hostaddr); | ||||
|         res = glue(glue(ld, USUFFIX), _raw)(hostaddr); | ||||
|     } | ||||
|     return res; | ||||
| } | ||||
| @ -134,7 +134,7 @@ glue(glue(glue(CPU_PREFIX, lds), SUFFIX), MEMSUFFIX)(ENV_PARAM | ||||
|                                MMUSUFFIX)(ENV_VAR addr, mmu_idx); | ||||
|     } else { | ||||
|         uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend; | ||||
|         res = glue(glue(lds, SUFFIX), _raw)((uint8_t *)hostaddr); | ||||
|         res = glue(glue(lds, SUFFIX), _raw)(hostaddr); | ||||
|     } | ||||
|     return res; | ||||
| } | ||||
| @ -161,7 +161,7 @@ glue(glue(glue(CPU_PREFIX, st), SUFFIX), MEMSUFFIX)(ENV_PARAM target_ulong ptr, | ||||
|                                                                mmu_idx); | ||||
|     } else { | ||||
|         uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend; | ||||
|         glue(glue(st, SUFFIX), _raw)((uint8_t *)hostaddr, v); | ||||
|         glue(glue(st, SUFFIX), _raw)(hostaddr, v); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -112,7 +112,6 @@ glue(glue(glue(HELPER_PREFIX, ld), SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|     int index; | ||||
|     target_ulong tlb_addr; | ||||
|     target_phys_addr_t ioaddr; | ||||
|     unsigned long addend; | ||||
|     uintptr_t retaddr; | ||||
| 
 | ||||
|     /* test if there is match for unaligned or IO access */ | ||||
| @ -139,6 +138,7 @@ glue(glue(glue(HELPER_PREFIX, ld), SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|                                                          mmu_idx, retaddr); | ||||
|         } else { | ||||
|             /* unaligned/aligned access in the same page */ | ||||
|             uintptr_t addend; | ||||
| #ifdef ALIGNED_ONLY | ||||
|             if ((addr & (DATA_SIZE - 1)) != 0) { | ||||
|                 retaddr = GETPC(); | ||||
| @ -146,7 +146,8 @@ glue(glue(glue(HELPER_PREFIX, ld), SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|             } | ||||
| #endif | ||||
|             addend = env->tlb_table[mmu_idx][index].addend; | ||||
|             res = glue(glue(ld, USUFFIX), _raw)((uint8_t *)(long)(addr+addend)); | ||||
|             res = glue(glue(ld, USUFFIX), _raw)((uint8_t *)(intptr_t) | ||||
|                                                 (addr + addend)); | ||||
|         } | ||||
|     } else { | ||||
|         /* the page is not in the TLB : fill it */ | ||||
| @ -171,7 +172,6 @@ glue(glue(slow_ld, SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|     DATA_TYPE res, res1, res2; | ||||
|     int index, shift; | ||||
|     target_phys_addr_t ioaddr; | ||||
|     unsigned long addend; | ||||
|     target_ulong tlb_addr, addr1, addr2; | ||||
| 
 | ||||
|     index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); | ||||
| @ -202,8 +202,9 @@ glue(glue(slow_ld, SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|             res = (DATA_TYPE)res; | ||||
|         } else { | ||||
|             /* unaligned/aligned access in the same page */ | ||||
|             addend = env->tlb_table[mmu_idx][index].addend; | ||||
|             res = glue(glue(ld, USUFFIX), _raw)((uint8_t *)(long)(addr+addend)); | ||||
|             uintptr_t addend = env->tlb_table[mmu_idx][index].addend; | ||||
|             res = glue(glue(ld, USUFFIX), _raw)((uint8_t *)(intptr_t) | ||||
|                                                 (addr + addend)); | ||||
|         } | ||||
|     } else { | ||||
|         /* the page is not in the TLB : fill it */ | ||||
| @ -258,7 +259,6 @@ void glue(glue(glue(HELPER_PREFIX, st), SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|                                                             int mmu_idx) | ||||
| { | ||||
|     target_phys_addr_t ioaddr; | ||||
|     unsigned long addend; | ||||
|     target_ulong tlb_addr; | ||||
|     uintptr_t retaddr; | ||||
|     int index; | ||||
| @ -284,6 +284,7 @@ void glue(glue(glue(HELPER_PREFIX, st), SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|                                                    mmu_idx, retaddr); | ||||
|         } else { | ||||
|             /* aligned/unaligned access in the same page */ | ||||
|             uintptr_t addend; | ||||
| #ifdef ALIGNED_ONLY | ||||
|             if ((addr & (DATA_SIZE - 1)) != 0) { | ||||
|                 retaddr = GETPC(); | ||||
| @ -291,7 +292,8 @@ void glue(glue(glue(HELPER_PREFIX, st), SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|             } | ||||
| #endif | ||||
|             addend = env->tlb_table[mmu_idx][index].addend; | ||||
|             glue(glue(st, SUFFIX), _raw)((uint8_t *)(long)(addr+addend), val); | ||||
|             glue(glue(st, SUFFIX), _raw)((uint8_t *)(intptr_t) | ||||
|                                          (addr + addend), val); | ||||
|         } | ||||
|     } else { | ||||
|         /* the page is not in the TLB : fill it */ | ||||
| @ -313,7 +315,6 @@ static void glue(glue(slow_st, SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|                                                    uintptr_t retaddr) | ||||
| { | ||||
|     target_phys_addr_t ioaddr; | ||||
|     unsigned long addend; | ||||
|     target_ulong tlb_addr; | ||||
|     int index, i; | ||||
| 
 | ||||
| @ -345,8 +346,9 @@ static void glue(glue(slow_st, SUFFIX), MMUSUFFIX)(ENV_PARAM | ||||
|             } | ||||
|         } else { | ||||
|             /* aligned/unaligned access in the same page */ | ||||
|             addend = env->tlb_table[mmu_idx][index].addend; | ||||
|             glue(glue(st, SUFFIX), _raw)((uint8_t *)(long)(addr+addend), val); | ||||
|             uintptr_t addend = env->tlb_table[mmu_idx][index].addend; | ||||
|             glue(glue(st, SUFFIX), _raw)((uint8_t *)(intptr_t) | ||||
|                                          (addr + addend), val); | ||||
|         } | ||||
|     } else { | ||||
|         /* the page is not in the TLB : fill it */ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Stefan Weil
						Stefan Weil