mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
Use uintptr_t for various op related functions
Use uintptr_t instead of void * or unsigned long in several op related functions, env->mem_io_pc and GETPC() macro. Reviewed-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
d1b719e98c
commit
2050396801
22 changed files with 89 additions and 113 deletions
|
@ -101,11 +101,10 @@ void helper_raise_exception (uint32_t exception)
|
|||
}
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
static void do_restore_state (void *pc_ptr)
|
||||
static void do_restore_state(uintptr_t pc)
|
||||
{
|
||||
TranslationBlock *tb;
|
||||
unsigned long pc = (unsigned long) pc_ptr;
|
||||
|
||||
|
||||
tb = tb_find_pc (pc);
|
||||
if (tb) {
|
||||
cpu_restore_state(tb, env, pc);
|
||||
|
@ -2293,7 +2292,7 @@ void helper_wait (void)
|
|||
#if !defined(CONFIG_USER_ONLY)
|
||||
|
||||
static void QEMU_NORETURN do_unaligned_access(target_ulong addr, int is_write,
|
||||
int is_user, void *retaddr);
|
||||
int is_user, uintptr_t retaddr);
|
||||
|
||||
#define MMUSUFFIX _mmu
|
||||
#define ALIGNED_ONLY
|
||||
|
@ -2310,7 +2309,8 @@ static void QEMU_NORETURN do_unaligned_access(target_ulong addr, int is_write,
|
|||
#define SHIFT 3
|
||||
#include "softmmu_template.h"
|
||||
|
||||
static void do_unaligned_access (target_ulong addr, int is_write, int is_user, void *retaddr)
|
||||
static void do_unaligned_access(target_ulong addr, int is_write,
|
||||
int is_user, uintptr_t retaddr)
|
||||
{
|
||||
env->CP0_BadVAddr = addr;
|
||||
do_restore_state (retaddr);
|
||||
|
@ -2318,11 +2318,10 @@ static void do_unaligned_access (target_ulong addr, int is_write, int is_user, v
|
|||
}
|
||||
|
||||
void tlb_fill(CPUMIPSState *env1, target_ulong addr, int is_write, int mmu_idx,
|
||||
void *retaddr)
|
||||
uintptr_t retaddr)
|
||||
{
|
||||
TranslationBlock *tb;
|
||||
CPUMIPSState *saved_env;
|
||||
unsigned long pc;
|
||||
int ret;
|
||||
|
||||
saved_env = env;
|
||||
|
@ -2331,12 +2330,11 @@ void tlb_fill(CPUMIPSState *env1, target_ulong addr, int is_write, int mmu_idx,
|
|||
if (ret) {
|
||||
if (retaddr) {
|
||||
/* now we have a real cpu fault */
|
||||
pc = (unsigned long)retaddr;
|
||||
tb = tb_find_pc(pc);
|
||||
tb = tb_find_pc(retaddr);
|
||||
if (tb) {
|
||||
/* the PC is inside the translated code. It means that we have
|
||||
a virtual CPU fault */
|
||||
cpu_restore_state(tb, env, pc);
|
||||
cpu_restore_state(tb, env, retaddr);
|
||||
}
|
||||
}
|
||||
helper_raise_exception_err(env->exception_index, env->error_code);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue