From c3ae047d9002e92bfb76b98fe4a00462616a8048 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Sun, 22 Nov 2009 14:37:04 +0100 Subject: [PATCH] target-mips: fix physical address type in MMU functions Signed-off-by: Aurelien Jarno --- target-mips/cpu.h | 8 ++++---- target-mips/helper.c | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/target-mips/cpu.h b/target-mips/cpu.h index 5287e9a..82f9a38 100644 --- a/target-mips/cpu.h +++ b/target-mips/cpu.h @@ -40,7 +40,7 @@ typedef struct CPUMIPSTLBContext CPUMIPSTLBContext; struct CPUMIPSTLBContext { uint32_t nb_tlb; uint32_t tlb_in_use; - int (*map_address) (struct CPUMIPSState *env, target_ulong *physical, int *prot, target_ulong address, int rw, int access_type); + int (*map_address) (struct CPUMIPSState *env, target_phys_addr_t *physical, int *prot, target_ulong address, int rw, int access_type); void (*helper_tlbwi) (void); void (*helper_tlbwr) (void); void (*helper_tlbp) (void); @@ -466,11 +466,11 @@ struct CPUMIPSState { struct QEMUTimer *timer; /* Internal timer */ }; -int no_mmu_map_address (CPUMIPSState *env, target_ulong *physical, int *prot, +int no_mmu_map_address (CPUMIPSState *env, target_phys_addr_t *physical, int *prot, target_ulong address, int rw, int access_type); -int fixed_mmu_map_address (CPUMIPSState *env, target_ulong *physical, int *prot, +int fixed_mmu_map_address (CPUMIPSState *env, target_phys_addr_t *physical, int *prot, target_ulong address, int rw, int access_type); -int r4k_map_address (CPUMIPSState *env, target_ulong *physical, int *prot, +int r4k_map_address (CPUMIPSState *env, target_phys_addr_t *physical, int *prot, target_ulong address, int rw, int access_type); void r4k_helper_tlbwi (void); void r4k_helper_tlbwr (void); diff --git a/target-mips/helper.c b/target-mips/helper.c index 7f659ae..4a37277 100644 --- a/target-mips/helper.c +++ b/target-mips/helper.c @@ -35,7 +35,7 @@ enum { }; /* no MMU emulation */ -int no_mmu_map_address (CPUState *env, target_ulong *physical, int *prot, +int no_mmu_map_address (CPUState *env, target_phys_addr_t *physical, int *prot, target_ulong address, int rw, int access_type) { *physical = address; @@ -44,7 +44,7 @@ int no_mmu_map_address (CPUState *env, target_ulong *physical, int *prot, } /* fixed mapping MMU emulation */ -int fixed_mmu_map_address (CPUState *env, target_ulong *physical, int *prot, +int fixed_mmu_map_address (CPUState *env, target_phys_addr_t *physical, int *prot, target_ulong address, int rw, int access_type) { if (address <= (int32_t)0x7FFFFFFFUL) { @@ -62,7 +62,7 @@ int fixed_mmu_map_address (CPUState *env, target_ulong *physical, int *prot, } /* MIPS32/MIPS64 R4000-style MMU emulation */ -int r4k_map_address (CPUState *env, target_ulong *physical, int *prot, +int r4k_map_address (CPUState *env, target_phys_addr_t *physical, int *prot, target_ulong address, int rw, int access_type) { uint8_t ASID = env->CP0_EntryHi & 0xFF; @@ -99,7 +99,7 @@ int r4k_map_address (CPUState *env, target_ulong *physical, int *prot, } #if !defined(CONFIG_USER_ONLY) -static int get_physical_address (CPUState *env, target_ulong *physical, +static int get_physical_address (CPUState *env, target_phys_addr_t *physical, int *prot, target_ulong address, int rw, int access_type) { @@ -206,7 +206,7 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) #if defined(CONFIG_USER_ONLY) return addr; #else - target_ulong phys_addr; + target_phys_addr_t phys_addr; int prot; if (get_physical_address(env, &phys_addr, &prot, addr, 0, ACCESS_INT) != 0) @@ -219,7 +219,7 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw, int mmu_idx, int is_softmmu) { #if !defined(CONFIG_USER_ONLY) - target_ulong physical; + target_phys_addr_t physical; int prot; #endif int exception = 0, error_code = 0; @@ -243,7 +243,7 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw, #else ret = get_physical_address(env, &physical, &prot, address, rw, access_type); - qemu_log("%s address=" TARGET_FMT_lx " ret %d physical " TARGET_FMT_lx " prot %d\n", + qemu_log("%s address=" TARGET_FMT_lx " ret %d physical " TARGET_FMT_plx " prot %d\n", __func__, address, ret, physical, prot); if (ret == TLBRET_MATCH) { ret = tlb_set_page(env, address & TARGET_PAGE_MASK, -- 2.7.4