cpu-exec: Purge all uses of ENV_GET_CPU()
Remove un-needed usages of ENV_GET_CPU() by converting the APIs to use CPUState pointers and retrieving the env_ptr as minimally needed. Scripted conversion for target-* change: for I in target-*/cpu.h; do sed -i \ 's/\(^int cpu_[^_]*_exec(\)[^ ][^ ]* \*s);$/\1CPUState *cpu);/' \ $I; done Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
4bad9e392e
commit
ea3e984740
@ -166,6 +166,8 @@ static void set_idt(int n, unsigned int dpl)
|
|||||||
|
|
||||||
void cpu_loop(CPUX86State *env)
|
void cpu_loop(CPUX86State *env)
|
||||||
{
|
{
|
||||||
|
X86CPU *cpu = x86_env_get_cpu(env);
|
||||||
|
CPUState *cs = CPU(cpu);
|
||||||
int trapnr;
|
int trapnr;
|
||||||
abi_ulong pc;
|
abi_ulong pc;
|
||||||
//target_siginfo_t info;
|
//target_siginfo_t info;
|
||||||
@ -512,7 +514,7 @@ void cpu_loop(CPUSPARCState *env)
|
|||||||
//target_siginfo_t info;
|
//target_siginfo_t info;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
trapnr = cpu_sparc_exec (env);
|
trapnr = cpu_sparc_exec(cs);
|
||||||
|
|
||||||
switch (trapnr) {
|
switch (trapnr) {
|
||||||
#ifndef TARGET_SPARC64
|
#ifndef TARGET_SPARC64
|
||||||
|
28
cpu-exec.c
28
cpu-exec.c
@ -227,10 +227,9 @@ static inline tcg_target_ulong cpu_tb_exec(CPUState *cpu, uint8_t *tb_ptr)
|
|||||||
|
|
||||||
/* Execute the code without caching the generated code. An interpreter
|
/* Execute the code without caching the generated code. An interpreter
|
||||||
could be used if available. */
|
could be used if available. */
|
||||||
static void cpu_exec_nocache(CPUArchState *env, int max_cycles,
|
static void cpu_exec_nocache(CPUState *cpu, int max_cycles,
|
||||||
TranslationBlock *orig_tb)
|
TranslationBlock *orig_tb)
|
||||||
{
|
{
|
||||||
CPUState *cpu = ENV_GET_CPU(env);
|
|
||||||
TranslationBlock *tb;
|
TranslationBlock *tb;
|
||||||
target_ulong pc = orig_tb->pc;
|
target_ulong pc = orig_tb->pc;
|
||||||
target_ulong cs_base = orig_tb->cs_base;
|
target_ulong cs_base = orig_tb->cs_base;
|
||||||
@ -254,12 +253,12 @@ static void cpu_exec_nocache(CPUArchState *env, int max_cycles,
|
|||||||
tb_free(tb);
|
tb_free(tb);
|
||||||
}
|
}
|
||||||
|
|
||||||
static TranslationBlock *tb_find_slow(CPUArchState *env,
|
static TranslationBlock *tb_find_slow(CPUState *cpu,
|
||||||
target_ulong pc,
|
target_ulong pc,
|
||||||
target_ulong cs_base,
|
target_ulong cs_base,
|
||||||
uint64_t flags)
|
uint64_t flags)
|
||||||
{
|
{
|
||||||
CPUState *cpu = ENV_GET_CPU(env);
|
CPUArchState *env = (CPUArchState *)cpu->env_ptr;
|
||||||
TranslationBlock *tb, **ptb1;
|
TranslationBlock *tb, **ptb1;
|
||||||
unsigned int h;
|
unsigned int h;
|
||||||
tb_page_addr_t phys_pc, phys_page1;
|
tb_page_addr_t phys_pc, phys_page1;
|
||||||
@ -311,9 +310,9 @@ static TranslationBlock *tb_find_slow(CPUArchState *env,
|
|||||||
return tb;
|
return tb;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline TranslationBlock *tb_find_fast(CPUArchState *env)
|
static inline TranslationBlock *tb_find_fast(CPUState *cpu)
|
||||||
{
|
{
|
||||||
CPUState *cpu = ENV_GET_CPU(env);
|
CPUArchState *env = (CPUArchState *)cpu->env_ptr;
|
||||||
TranslationBlock *tb;
|
TranslationBlock *tb;
|
||||||
target_ulong cs_base, pc;
|
target_ulong cs_base, pc;
|
||||||
int flags;
|
int flags;
|
||||||
@ -325,14 +324,13 @@ static inline TranslationBlock *tb_find_fast(CPUArchState *env)
|
|||||||
tb = cpu->tb_jmp_cache[tb_jmp_cache_hash_func(pc)];
|
tb = cpu->tb_jmp_cache[tb_jmp_cache_hash_func(pc)];
|
||||||
if (unlikely(!tb || tb->pc != pc || tb->cs_base != cs_base ||
|
if (unlikely(!tb || tb->pc != pc || tb->cs_base != cs_base ||
|
||||||
tb->flags != flags)) {
|
tb->flags != flags)) {
|
||||||
tb = tb_find_slow(env, pc, cs_base, flags);
|
tb = tb_find_slow(cpu, pc, cs_base, flags);
|
||||||
}
|
}
|
||||||
return tb;
|
return tb;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cpu_handle_debug_exception(CPUArchState *env)
|
static void cpu_handle_debug_exception(CPUState *cpu)
|
||||||
{
|
{
|
||||||
CPUState *cpu = ENV_GET_CPU(env);
|
|
||||||
CPUClass *cc = CPU_GET_CLASS(cpu);
|
CPUClass *cc = CPU_GET_CLASS(cpu);
|
||||||
CPUWatchpoint *wp;
|
CPUWatchpoint *wp;
|
||||||
|
|
||||||
@ -349,12 +347,12 @@ static void cpu_handle_debug_exception(CPUArchState *env)
|
|||||||
|
|
||||||
volatile sig_atomic_t exit_request;
|
volatile sig_atomic_t exit_request;
|
||||||
|
|
||||||
int cpu_exec(CPUArchState *env)
|
int cpu_exec(CPUState *cpu)
|
||||||
{
|
{
|
||||||
CPUState *cpu = ENV_GET_CPU(env);
|
|
||||||
CPUClass *cc = CPU_GET_CLASS(cpu);
|
CPUClass *cc = CPU_GET_CLASS(cpu);
|
||||||
#ifdef TARGET_I386
|
#ifdef TARGET_I386
|
||||||
X86CPU *x86_cpu = X86_CPU(cpu);
|
X86CPU *x86_cpu = X86_CPU(cpu);
|
||||||
|
CPUArchState *env = &x86_cpu->env;
|
||||||
#endif
|
#endif
|
||||||
int ret, interrupt_request;
|
int ret, interrupt_request;
|
||||||
TranslationBlock *tb;
|
TranslationBlock *tb;
|
||||||
@ -407,7 +405,7 @@ int cpu_exec(CPUArchState *env)
|
|||||||
/* exit request from the cpu execution loop */
|
/* exit request from the cpu execution loop */
|
||||||
ret = cpu->exception_index;
|
ret = cpu->exception_index;
|
||||||
if (ret == EXCP_DEBUG) {
|
if (ret == EXCP_DEBUG) {
|
||||||
cpu_handle_debug_exception(env);
|
cpu_handle_debug_exception(cpu);
|
||||||
}
|
}
|
||||||
cpu->exception_index = -1;
|
cpu->exception_index = -1;
|
||||||
break;
|
break;
|
||||||
@ -483,7 +481,7 @@ int cpu_exec(CPUArchState *env)
|
|||||||
}
|
}
|
||||||
spin_lock(&tcg_ctx.tb_ctx.tb_lock);
|
spin_lock(&tcg_ctx.tb_ctx.tb_lock);
|
||||||
have_tb_lock = true;
|
have_tb_lock = true;
|
||||||
tb = tb_find_fast(env);
|
tb = tb_find_fast(cpu);
|
||||||
/* Note: we do it here to avoid a gcc bug on Mac OS X when
|
/* Note: we do it here to avoid a gcc bug on Mac OS X when
|
||||||
doing it in tb_find_slow */
|
doing it in tb_find_slow */
|
||||||
if (tcg_ctx.tb_ctx.tb_invalidated_flag) {
|
if (tcg_ctx.tb_ctx.tb_invalidated_flag) {
|
||||||
@ -543,7 +541,7 @@ int cpu_exec(CPUArchState *env)
|
|||||||
if (insns_left > 0) {
|
if (insns_left > 0) {
|
||||||
/* Execute remaining instructions. */
|
/* Execute remaining instructions. */
|
||||||
tb = (TranslationBlock *)(next_tb & ~TB_EXIT_MASK);
|
tb = (TranslationBlock *)(next_tb & ~TB_EXIT_MASK);
|
||||||
cpu_exec_nocache(env, insns_left, tb);
|
cpu_exec_nocache(cpu, insns_left, tb);
|
||||||
align_clocks(&sc, cpu);
|
align_clocks(&sc, cpu);
|
||||||
}
|
}
|
||||||
cpu->exception_index = EXCP_INTERRUPT;
|
cpu->exception_index = EXCP_INTERRUPT;
|
||||||
@ -567,11 +565,11 @@ int cpu_exec(CPUArchState *env)
|
|||||||
/* Reload env after longjmp - the compiler may have smashed all
|
/* Reload env after longjmp - the compiler may have smashed all
|
||||||
* local variables as longjmp is marked 'noreturn'. */
|
* local variables as longjmp is marked 'noreturn'. */
|
||||||
cpu = current_cpu;
|
cpu = current_cpu;
|
||||||
env = cpu->env_ptr;
|
|
||||||
cc = CPU_GET_CLASS(cpu);
|
cc = CPU_GET_CLASS(cpu);
|
||||||
cpu->can_do_io = 1;
|
cpu->can_do_io = 1;
|
||||||
#ifdef TARGET_I386
|
#ifdef TARGET_I386
|
||||||
x86_cpu = X86_CPU(cpu);
|
x86_cpu = X86_CPU(cpu);
|
||||||
|
env = &x86_cpu->env;
|
||||||
#endif
|
#endif
|
||||||
if (have_tb_lock) {
|
if (have_tb_lock) {
|
||||||
spin_unlock(&tcg_ctx.tb_ctx.tb_lock);
|
spin_unlock(&tcg_ctx.tb_ctx.tb_lock);
|
||||||
|
3
cpus.c
3
cpus.c
@ -1359,7 +1359,6 @@ int vm_stop_force_state(RunState state)
|
|||||||
|
|
||||||
static int tcg_cpu_exec(CPUState *cpu)
|
static int tcg_cpu_exec(CPUState *cpu)
|
||||||
{
|
{
|
||||||
CPUArchState *env = cpu->env_ptr;
|
|
||||||
int ret;
|
int ret;
|
||||||
#ifdef CONFIG_PROFILER
|
#ifdef CONFIG_PROFILER
|
||||||
int64_t ti;
|
int64_t ti;
|
||||||
@ -1394,7 +1393,7 @@ static int tcg_cpu_exec(CPUState *cpu)
|
|||||||
cpu->icount_decr.u16.low = decr;
|
cpu->icount_decr.u16.low = decr;
|
||||||
cpu->icount_extra = count;
|
cpu->icount_extra = count;
|
||||||
}
|
}
|
||||||
ret = cpu_exec(env);
|
ret = cpu_exec(cpu);
|
||||||
#ifdef CONFIG_PROFILER
|
#ifdef CONFIG_PROFILER
|
||||||
tcg_time += profile_getclock() - ti;
|
tcg_time += profile_getclock() - ti;
|
||||||
#endif
|
#endif
|
||||||
|
@ -280,7 +280,7 @@ void cpu_loop(CPUX86State *env)
|
|||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_x86_exec(env);
|
trapnr = cpu_x86_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch(trapnr) {
|
switch(trapnr) {
|
||||||
case 0x80:
|
case 0x80:
|
||||||
@ -674,7 +674,7 @@ void cpu_loop(CPUARMState *env)
|
|||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_arm_exec(env);
|
trapnr = cpu_arm_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch(trapnr) {
|
switch(trapnr) {
|
||||||
case EXCP_UDEF:
|
case EXCP_UDEF:
|
||||||
@ -1005,7 +1005,7 @@ void cpu_loop(CPUARMState *env)
|
|||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_arm_exec(env);
|
trapnr = cpu_arm_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
|
|
||||||
switch (trapnr) {
|
switch (trapnr) {
|
||||||
@ -1084,7 +1084,7 @@ void cpu_loop(CPUUniCore32State *env)
|
|||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = uc32_cpu_exec(env);
|
trapnr = uc32_cpu_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch (trapnr) {
|
switch (trapnr) {
|
||||||
case UC32_EXCP_PRIV:
|
case UC32_EXCP_PRIV:
|
||||||
@ -1285,7 +1285,7 @@ void cpu_loop (CPUSPARCState *env)
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_sparc_exec (env);
|
trapnr = cpu_sparc_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
|
|
||||||
/* Compute PSR before exposing state. */
|
/* Compute PSR before exposing state. */
|
||||||
@ -1565,7 +1565,7 @@ void cpu_loop(CPUPPCState *env)
|
|||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_ppc_exec(env);
|
trapnr = cpu_ppc_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch(trapnr) {
|
switch(trapnr) {
|
||||||
case POWERPC_EXCP_NONE:
|
case POWERPC_EXCP_NONE:
|
||||||
@ -2417,7 +2417,7 @@ void cpu_loop(CPUMIPSState *env)
|
|||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_mips_exec(env);
|
trapnr = cpu_mips_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch(trapnr) {
|
switch(trapnr) {
|
||||||
case EXCP_SYSCALL:
|
case EXCP_SYSCALL:
|
||||||
@ -2654,7 +2654,7 @@ void cpu_loop(CPUOpenRISCState *env)
|
|||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_exec(env);
|
trapnr = cpu_openrisc_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
gdbsig = 0;
|
gdbsig = 0;
|
||||||
|
|
||||||
@ -2744,7 +2744,7 @@ void cpu_loop(CPUSH4State *env)
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_sh4_exec (env);
|
trapnr = cpu_sh4_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
|
|
||||||
switch (trapnr) {
|
switch (trapnr) {
|
||||||
@ -2806,7 +2806,7 @@ void cpu_loop(CPUCRISState *env)
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_cris_exec (env);
|
trapnr = cpu_cris_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch (trapnr) {
|
switch (trapnr) {
|
||||||
case 0xaa:
|
case 0xaa:
|
||||||
@ -2867,7 +2867,7 @@ void cpu_loop(CPUMBState *env)
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_mb_exec (env);
|
trapnr = cpu_mb_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch (trapnr) {
|
switch (trapnr) {
|
||||||
case 0xaa:
|
case 0xaa:
|
||||||
@ -2972,7 +2972,7 @@ void cpu_loop(CPUM68KState *env)
|
|||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_m68k_exec(env);
|
trapnr = cpu_m68k_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch(trapnr) {
|
switch(trapnr) {
|
||||||
case EXCP_ILLEGAL:
|
case EXCP_ILLEGAL:
|
||||||
@ -3111,7 +3111,7 @@ void cpu_loop(CPUAlphaState *env)
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_alpha_exec (env);
|
trapnr = cpu_alpha_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
|
|
||||||
/* All of the traps imply a transition through PALcode, which
|
/* All of the traps imply a transition through PALcode, which
|
||||||
@ -3299,7 +3299,7 @@ void cpu_loop(CPUS390XState *env)
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
cpu_exec_start(cs);
|
cpu_exec_start(cs);
|
||||||
trapnr = cpu_s390x_exec(env);
|
trapnr = cpu_s390x_exec(cs);
|
||||||
cpu_exec_end(cs);
|
cpu_exec_end(cs);
|
||||||
switch (trapnr) {
|
switch (trapnr) {
|
||||||
case EXCP_INTERRUPT:
|
case EXCP_INTERRUPT:
|
||||||
|
@ -431,7 +431,7 @@ AlphaCPU *cpu_alpha_init(const char *cpu_model);
|
|||||||
#define cpu_init(cpu_model) CPU(cpu_alpha_init(cpu_model))
|
#define cpu_init(cpu_model) CPU(cpu_alpha_init(cpu_model))
|
||||||
|
|
||||||
void alpha_cpu_list(FILE *f, fprintf_function cpu_fprintf);
|
void alpha_cpu_list(FILE *f, fprintf_function cpu_fprintf);
|
||||||
int cpu_alpha_exec(CPUAlphaState *s);
|
int cpu_alpha_exec(CPUState *cpu);
|
||||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||||
is returned if the signal was handled by the virtual CPU. */
|
is returned if the signal was handled by the virtual CPU. */
|
||||||
|
@ -499,7 +499,7 @@ typedef struct CPUARMState {
|
|||||||
#include "cpu-qom.h"
|
#include "cpu-qom.h"
|
||||||
|
|
||||||
ARMCPU *cpu_arm_init(const char *cpu_model);
|
ARMCPU *cpu_arm_init(const char *cpu_model);
|
||||||
int cpu_arm_exec(CPUARMState *s);
|
int cpu_arm_exec(CPUState *cpu);
|
||||||
uint32_t do_arm_semihosting(CPUARMState *env);
|
uint32_t do_arm_semihosting(CPUARMState *env);
|
||||||
void aarch64_sync_32_to_64(CPUARMState *env);
|
void aarch64_sync_32_to_64(CPUARMState *env);
|
||||||
void aarch64_sync_64_to_32(CPUARMState *env);
|
void aarch64_sync_64_to_32(CPUARMState *env);
|
||||||
|
@ -176,7 +176,7 @@ typedef struct CPUCRISState {
|
|||||||
#include "cpu-qom.h"
|
#include "cpu-qom.h"
|
||||||
|
|
||||||
CRISCPU *cpu_cris_init(const char *cpu_model);
|
CRISCPU *cpu_cris_init(const char *cpu_model);
|
||||||
int cpu_cris_exec(CPUCRISState *s);
|
int cpu_cris_exec(CPUState *cpu);
|
||||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||||
is returned if the signal was handled by the virtual CPU. */
|
is returned if the signal was handled by the virtual CPU. */
|
||||||
|
@ -987,7 +987,7 @@ typedef struct CPUX86State {
|
|||||||
|
|
||||||
X86CPU *cpu_x86_init(const char *cpu_model);
|
X86CPU *cpu_x86_init(const char *cpu_model);
|
||||||
X86CPU *cpu_x86_create(const char *cpu_model, Error **errp);
|
X86CPU *cpu_x86_create(const char *cpu_model, Error **errp);
|
||||||
int cpu_x86_exec(CPUX86State *s);
|
int cpu_x86_exec(CPUState *cpu);
|
||||||
void x86_cpu_list(FILE *f, fprintf_function cpu_fprintf);
|
void x86_cpu_list(FILE *f, fprintf_function cpu_fprintf);
|
||||||
void x86_cpudef_setup(void);
|
void x86_cpudef_setup(void);
|
||||||
int cpu_x86_support_mca_broadcast(CPUX86State *env);
|
int cpu_x86_support_mca_broadcast(CPUX86State *env);
|
||||||
|
@ -199,7 +199,7 @@ static inline lm32_wp_t lm32_wp_type(uint32_t dc, int idx)
|
|||||||
#include "cpu-qom.h"
|
#include "cpu-qom.h"
|
||||||
|
|
||||||
LM32CPU *cpu_lm32_init(const char *cpu_model);
|
LM32CPU *cpu_lm32_init(const char *cpu_model);
|
||||||
int cpu_lm32_exec(CPULM32State *s);
|
int cpu_lm32_exec(CPUState *cpu);
|
||||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||||
is returned if the signal was handled by the virtual CPU. */
|
is returned if the signal was handled by the virtual CPU. */
|
||||||
|
@ -117,7 +117,7 @@ typedef struct CPUM68KState {
|
|||||||
void m68k_tcg_init(void);
|
void m68k_tcg_init(void);
|
||||||
void m68k_cpu_init_gdb(M68kCPU *cpu);
|
void m68k_cpu_init_gdb(M68kCPU *cpu);
|
||||||
M68kCPU *cpu_m68k_init(const char *cpu_model);
|
M68kCPU *cpu_m68k_init(const char *cpu_model);
|
||||||
int cpu_m68k_exec(CPUM68KState *s);
|
int cpu_m68k_exec(CPUState *cpu);
|
||||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||||
is returned if the signal was handled by the virtual CPU. */
|
is returned if the signal was handled by the virtual CPU. */
|
||||||
|
@ -281,7 +281,7 @@ struct CPUMBState {
|
|||||||
|
|
||||||
void mb_tcg_init(void);
|
void mb_tcg_init(void);
|
||||||
MicroBlazeCPU *cpu_mb_init(const char *cpu_model);
|
MicroBlazeCPU *cpu_mb_init(const char *cpu_model);
|
||||||
int cpu_mb_exec(CPUMBState *s);
|
int cpu_mb_exec(CPUState *cpu);
|
||||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||||
is returned if the signal was handled by the virtual CPU. */
|
is returned if the signal was handled by the virtual CPU. */
|
||||||
|
@ -746,7 +746,7 @@ enum {
|
|||||||
*/
|
*/
|
||||||
#define CPU_INTERRUPT_WAKE CPU_INTERRUPT_TGT_INT_0
|
#define CPU_INTERRUPT_WAKE CPU_INTERRUPT_TGT_INT_0
|
||||||
|
|
||||||
int cpu_mips_exec(CPUMIPSState *s);
|
int cpu_mips_exec(CPUState *cpu);
|
||||||
void mips_tcg_init(void);
|
void mips_tcg_init(void);
|
||||||
MIPSCPU *cpu_mips_init(const char *cpu_model);
|
MIPSCPU *cpu_mips_init(const char *cpu_model);
|
||||||
int cpu_mips_signal_handler(int host_signum, void *pinfo, void *puc);
|
int cpu_mips_signal_handler(int host_signum, void *pinfo, void *puc);
|
||||||
|
@ -112,7 +112,7 @@ static inline MoxieCPU *moxie_env_get_cpu(CPUMoxieState *env)
|
|||||||
#define ENV_OFFSET offsetof(MoxieCPU, env)
|
#define ENV_OFFSET offsetof(MoxieCPU, env)
|
||||||
|
|
||||||
MoxieCPU *cpu_moxie_init(const char *cpu_model);
|
MoxieCPU *cpu_moxie_init(const char *cpu_model);
|
||||||
int cpu_moxie_exec(CPUMoxieState *s);
|
int cpu_moxie_exec(CPUState *cpu);
|
||||||
void moxie_cpu_do_interrupt(CPUState *cs);
|
void moxie_cpu_do_interrupt(CPUState *cs);
|
||||||
void moxie_cpu_dump_state(CPUState *cpu, FILE *f,
|
void moxie_cpu_dump_state(CPUState *cpu, FILE *f,
|
||||||
fprintf_function cpu_fprintf, int flags);
|
fprintf_function cpu_fprintf, int flags);
|
||||||
|
@ -346,7 +346,7 @@ static inline OpenRISCCPU *openrisc_env_get_cpu(CPUOpenRISCState *env)
|
|||||||
OpenRISCCPU *cpu_openrisc_init(const char *cpu_model);
|
OpenRISCCPU *cpu_openrisc_init(const char *cpu_model);
|
||||||
|
|
||||||
void cpu_openrisc_list(FILE *f, fprintf_function cpu_fprintf);
|
void cpu_openrisc_list(FILE *f, fprintf_function cpu_fprintf);
|
||||||
int cpu_openrisc_exec(CPUOpenRISCState *s);
|
int cpu_openrisc_exec(CPUState *cpu);
|
||||||
void openrisc_cpu_do_interrupt(CPUState *cpu);
|
void openrisc_cpu_do_interrupt(CPUState *cpu);
|
||||||
bool openrisc_cpu_exec_interrupt(CPUState *cpu, int int_req);
|
bool openrisc_cpu_exec_interrupt(CPUState *cpu, int int_req);
|
||||||
void openrisc_cpu_dump_state(CPUState *cpu, FILE *f,
|
void openrisc_cpu_dump_state(CPUState *cpu, FILE *f,
|
||||||
|
@ -1164,7 +1164,7 @@ do { \
|
|||||||
PowerPCCPU *cpu_ppc_init(const char *cpu_model);
|
PowerPCCPU *cpu_ppc_init(const char *cpu_model);
|
||||||
void ppc_translate_init(void);
|
void ppc_translate_init(void);
|
||||||
void gen_update_current_nip(void *opaque);
|
void gen_update_current_nip(void *opaque);
|
||||||
int cpu_ppc_exec (CPUPPCState *s);
|
int cpu_ppc_exec (CPUState *s);
|
||||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||||
is returned if the signal was handled by the virtual CPU. */
|
is returned if the signal was handled by the virtual CPU. */
|
||||||
|
@ -417,7 +417,7 @@ void trigger_pgm_exception(CPUS390XState *env, uint32_t code, uint32_t ilen);
|
|||||||
|
|
||||||
S390CPU *cpu_s390x_init(const char *cpu_model);
|
S390CPU *cpu_s390x_init(const char *cpu_model);
|
||||||
void s390x_translate_init(void);
|
void s390x_translate_init(void);
|
||||||
int cpu_s390x_exec(CPUS390XState *s);
|
int cpu_s390x_exec(CPUState *cpu);
|
||||||
|
|
||||||
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
/* you can call this signal handler from your SIGBUS and SIGSEGV
|
||||||
signal handlers to inform the virtual CPU of exceptions. non zero
|
signal handlers to inform the virtual CPU of exceptions. non zero
|
||||||
|
@ -193,7 +193,7 @@ typedef struct CPUSH4State {
|
|||||||
|
|
||||||
void sh4_translate_init(void);
|
void sh4_translate_init(void);
|
||||||
SuperHCPU *cpu_sh4_init(const char *cpu_model);
|
SuperHCPU *cpu_sh4_init(const char *cpu_model);
|
||||||
int cpu_sh4_exec(CPUSH4State * s);
|
int cpu_sh4_exec(CPUState *s);
|
||||||
int cpu_sh4_signal_handler(int host_signum, void *pinfo,
|
int cpu_sh4_signal_handler(int host_signum, void *pinfo,
|
||||||
void *puc);
|
void *puc);
|
||||||
int superh_cpu_handle_mmu_fault(CPUState *cpu, vaddr address, int rw,
|
int superh_cpu_handle_mmu_fault(CPUState *cpu, vaddr address, int rw,
|
||||||
|
@ -537,7 +537,7 @@ int sparc_cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
|
|||||||
void gen_intermediate_code_init(CPUSPARCState *env);
|
void gen_intermediate_code_init(CPUSPARCState *env);
|
||||||
|
|
||||||
/* cpu-exec.c */
|
/* cpu-exec.c */
|
||||||
int cpu_sparc_exec(CPUSPARCState *s);
|
int cpu_sparc_exec(CPUState *cpu);
|
||||||
|
|
||||||
/* win_helper.c */
|
/* win_helper.c */
|
||||||
target_ulong cpu_get_psr(CPUSPARCState *env1);
|
target_ulong cpu_get_psr(CPUSPARCState *env1);
|
||||||
|
@ -372,7 +372,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void cpu_state_reset(CPUTriCoreState *s);
|
void cpu_state_reset(CPUTriCoreState *s);
|
||||||
int cpu_tricore_exec(CPUTriCoreState *s);
|
int cpu_tricore_exec(CPUState *cpu);
|
||||||
void tricore_tcg_init(void);
|
void tricore_tcg_init(void);
|
||||||
int cpu_tricore_signal_handler(int host_signum, void *pinfo, void *puc);
|
int cpu_tricore_signal_handler(int host_signum, void *pinfo, void *puc);
|
||||||
|
|
||||||
|
@ -125,7 +125,6 @@ void cpu_asr_write(CPUUniCore32State *env1, target_ulong val, target_ulong mask)
|
|||||||
#define cpu_exec uc32_cpu_exec
|
#define cpu_exec uc32_cpu_exec
|
||||||
#define cpu_signal_handler uc32_cpu_signal_handler
|
#define cpu_signal_handler uc32_cpu_signal_handler
|
||||||
|
|
||||||
int uc32_cpu_exec(CPUUniCore32State *s);
|
|
||||||
int uc32_cpu_signal_handler(int host_signum, void *pinfo, void *puc);
|
int uc32_cpu_signal_handler(int host_signum, void *pinfo, void *puc);
|
||||||
|
|
||||||
/* MMU modes definitions */
|
/* MMU modes definitions */
|
||||||
@ -141,6 +140,8 @@ static inline int cpu_mmu_index(CPUUniCore32State *env)
|
|||||||
#include "cpu-qom.h"
|
#include "cpu-qom.h"
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
|
|
||||||
|
int uc32_cpu_exec(CPUState *s);
|
||||||
|
|
||||||
UniCore32CPU *uc32_cpu_init(const char *cpu_model);
|
UniCore32CPU *uc32_cpu_init(const char *cpu_model);
|
||||||
|
|
||||||
#define cpu_init(cpu_model) CPU(uc32_cpu_init(cpu_model))
|
#define cpu_init(cpu_model) CPU(uc32_cpu_init(cpu_model))
|
||||||
|
@ -399,7 +399,7 @@ XtensaCPU *cpu_xtensa_init(const char *cpu_model);
|
|||||||
|
|
||||||
void xtensa_translate_init(void);
|
void xtensa_translate_init(void);
|
||||||
void xtensa_breakpoint_handler(CPUState *cs);
|
void xtensa_breakpoint_handler(CPUState *cs);
|
||||||
int cpu_xtensa_exec(CPUXtensaState *s);
|
int cpu_xtensa_exec(CPUState *cpu);
|
||||||
void xtensa_finalize_config(XtensaConfig *config);
|
void xtensa_finalize_config(XtensaConfig *config);
|
||||||
void xtensa_register_core(XtensaConfigList *node);
|
void xtensa_register_core(XtensaConfigList *node);
|
||||||
void check_interrupts(CPUXtensaState *s);
|
void check_interrupts(CPUXtensaState *s);
|
||||||
|
Loading…
Reference in New Issue
Block a user