mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
log: Change log_cpu_state[_mask]() argument to CPUState
Since commit 878096eeb2
(cpu: Turn
cpu_dump_{state,statistics}() into CPUState hooks) CPUArchState is no
longer needed.
Add documentation and make the functions available through qemu/log.h
outside NEED_CPU_H to allow use in qom/cpu.c. Moving them to qom/cpu.h
was not yet possible due to convoluted include paths, so that some
devices grow an implicit and unneeded dependency on qom/cpu.h for now.
Acked-by: Michael Walle <michael@walle.cc> (for lm32)
Reviewed-by: Richard Henderson <rth@twiddle.net>
[AF: Simplified mb_cpu_do_interrupt() and do_interrupt_all() changes]
Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
518e9d7d48
commit
a0762859ae
30 changed files with 63 additions and 45 deletions
|
@ -152,7 +152,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
"hw exception at pc=%x ear=%x esr=%x iflags=%x\n",
|
||||
env->sregs[SR_PC], env->sregs[SR_EAR],
|
||||
env->sregs[SR_ESR], env->iflags);
|
||||
log_cpu_state_mask(CPU_LOG_INT, env, 0);
|
||||
log_cpu_state_mask(CPU_LOG_INT, cs, 0);
|
||||
env->iflags &= ~(IMM_FLAG | D_FLAG);
|
||||
env->sregs[SR_PC] = cpu->base_vectors + 0x20;
|
||||
break;
|
||||
|
@ -175,7 +175,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
"bimm exception at pc=%x iflags=%x\n",
|
||||
env->sregs[SR_PC], env->iflags);
|
||||
env->regs[17] -= 4;
|
||||
log_cpu_state_mask(CPU_LOG_INT, env, 0);
|
||||
log_cpu_state_mask(CPU_LOG_INT, cs, 0);
|
||||
}
|
||||
} else if (env->iflags & IMM_FLAG) {
|
||||
D(qemu_log("IMM_FLAG set at exception\n"));
|
||||
|
@ -192,7 +192,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
qemu_log_mask(CPU_LOG_INT,
|
||||
"exception at pc=%x ear=%x iflags=%x\n",
|
||||
env->sregs[SR_PC], env->sregs[SR_EAR], env->iflags);
|
||||
log_cpu_state_mask(CPU_LOG_INT, env, 0);
|
||||
log_cpu_state_mask(CPU_LOG_INT, cs, 0);
|
||||
env->iflags &= ~(IMM_FLAG | D_FLAG);
|
||||
env->sregs[SR_PC] = cpu->base_vectors + 0x20;
|
||||
break;
|
||||
|
@ -222,7 +222,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
env->sregs[SR_PC], env->sregs[SR_MSR], t, env->iflags,
|
||||
sym);
|
||||
|
||||
log_cpu_state(env, 0);
|
||||
log_cpu_state(cs, 0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -236,7 +236,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
|
||||
env->regs[14] = env->sregs[SR_PC];
|
||||
env->sregs[SR_PC] = cpu->base_vectors + 0x10;
|
||||
//log_cpu_state_mask(CPU_LOG_INT, env, 0);
|
||||
//log_cpu_state_mask(CPU_LOG_INT, cs, 0);
|
||||
break;
|
||||
|
||||
case EXCP_BREAK:
|
||||
|
@ -247,7 +247,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
qemu_log_mask(CPU_LOG_INT,
|
||||
"break at pc=%x msr=%x %x iflags=%x\n",
|
||||
env->sregs[SR_PC], env->sregs[SR_MSR], t, env->iflags);
|
||||
log_cpu_state_mask(CPU_LOG_INT, env, 0);
|
||||
log_cpu_state_mask(CPU_LOG_INT, cs, 0);
|
||||
env->sregs[SR_MSR] &= ~(MSR_VMS | MSR_UMS | MSR_VM | MSR_UM);
|
||||
env->sregs[SR_MSR] |= t;
|
||||
env->sregs[SR_MSR] |= MSR_BIP;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue