mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
cpu: Replace do_interrupt() by CPUClass::do_interrupt method
This removes a global per-target function and thus takes us one step closer to compiling multiple targets into one executable. It will also allow to override the interrupt handling for certain CPU families. Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
c3affe5670
commit
97a8ea5a3a
63 changed files with 159 additions and 67 deletions
|
@ -74,4 +74,6 @@ static inline AlphaCPU *alpha_env_get_cpu(CPUAlphaState *env)
|
|||
|
||||
#define ENV_OFFSET offsetof(AlphaCPU, env)
|
||||
|
||||
void alpha_cpu_do_interrupt(CPUState *cpu);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -263,6 +263,7 @@ static void alpha_cpu_class_init(ObjectClass *oc, void *data)
|
|||
dc->realize = alpha_cpu_realizefn;
|
||||
|
||||
cc->class_by_name = alpha_cpu_class_by_name;
|
||||
cc->do_interrupt = alpha_cpu_do_interrupt;
|
||||
}
|
||||
|
||||
static const TypeInfo alpha_cpu_type_info = {
|
||||
|
|
|
@ -449,7 +449,6 @@ int cpu_alpha_signal_handler(int host_signum, void *pinfo,
|
|||
int cpu_alpha_handle_mmu_fault (CPUAlphaState *env, uint64_t address, int rw,
|
||||
int mmu_idx);
|
||||
#define cpu_handle_mmu_fault cpu_alpha_handle_mmu_fault
|
||||
void do_interrupt (CPUAlphaState *env);
|
||||
void do_restore_state(CPUAlphaState *, uintptr_t retaddr);
|
||||
void QEMU_NORETURN dynamic_excp(CPUAlphaState *, uintptr_t, int, int);
|
||||
void QEMU_NORETURN arith_excp(CPUAlphaState *, uintptr_t, int, uint64_t);
|
||||
|
|
|
@ -345,8 +345,10 @@ int cpu_alpha_handle_mmu_fault(CPUAlphaState *env, target_ulong addr, int rw,
|
|||
}
|
||||
#endif /* USER_ONLY */
|
||||
|
||||
void do_interrupt (CPUAlphaState *env)
|
||||
void alpha_cpu_do_interrupt(CPUState *cs)
|
||||
{
|
||||
AlphaCPU *cpu = ALPHA_CPU(cs);
|
||||
CPUAlphaState *env = &cpu->env;
|
||||
int i = env->exception_index;
|
||||
|
||||
if (qemu_loglevel_mask(CPU_LOG_INT)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue