mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
target/microblaze: Fix width of PC and BTARGET
The program counter is only 32-bits wide. Do not use a 64-bit type to represent it. Since they are so closely related, fix btarget at the same time. Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
aa28e6d4c7
commit
0f96e96bd5
5 changed files with 43 additions and 63 deletions
|
@ -143,7 +143,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
env->msr |= MSR_EIP;
|
||||
|
||||
qemu_log_mask(CPU_LOG_INT,
|
||||
"hw exception at pc=%" PRIx64 " ear=%" PRIx64 " "
|
||||
"hw exception at pc=%x ear=%" PRIx64 " "
|
||||
"esr=%" PRIx64 " iflags=%x\n",
|
||||
env->pc, env->ear,
|
||||
env->esr, env->iflags);
|
||||
|
@ -167,8 +167,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
/* was the branch immprefixed?. */
|
||||
if (env->bimm) {
|
||||
qemu_log_mask(CPU_LOG_INT,
|
||||
"bimm exception at pc=%" PRIx64 " "
|
||||
"iflags=%x\n",
|
||||
"bimm exception at pc=%x iflags=%x\n",
|
||||
env->pc, env->iflags);
|
||||
env->regs[17] -= 4;
|
||||
log_cpu_state_mask(CPU_LOG_INT, cs, 0);
|
||||
|
@ -186,8 +185,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
env->msr |= MSR_EIP;
|
||||
|
||||
qemu_log_mask(CPU_LOG_INT,
|
||||
"exception at pc=%" PRIx64 " ear=%" PRIx64 " "
|
||||
"iflags=%x\n",
|
||||
"exception at pc=%x ear=%" PRIx64 " iflags=%x\n",
|
||||
env->pc, env->ear, env->iflags);
|
||||
log_cpu_state_mask(CPU_LOG_INT, cs, 0);
|
||||
env->iflags &= ~(IMM_FLAG | D_FLAG);
|
||||
|
@ -224,8 +222,7 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
}
|
||||
#endif
|
||||
qemu_log_mask(CPU_LOG_INT,
|
||||
"interrupt at pc=%" PRIx64 " msr=%" PRIx64 " %x "
|
||||
"iflags=%x\n",
|
||||
"interrupt at pc=%x msr=%" PRIx64 " %x iflags=%x\n",
|
||||
env->pc, env->msr, t, env->iflags);
|
||||
|
||||
env->msr &= ~(MSR_VMS | MSR_UMS | MSR_VM | MSR_UM | MSR_IE);
|
||||
|
@ -242,9 +239,8 @@ void mb_cpu_do_interrupt(CPUState *cs)
|
|||
assert(!(env->iflags & D_FLAG));
|
||||
t = (env->msr & (MSR_VM | MSR_UM)) << 1;
|
||||
qemu_log_mask(CPU_LOG_INT,
|
||||
"break at pc=%" PRIx64 " msr=%" PRIx64 " %x "
|
||||
"iflags=%x\n",
|
||||
env->pc, env->msr, t, env->iflags);
|
||||
"break at pc=%x msr=%" PRIx64 " %x iflags=%x\n",
|
||||
env->pc, env->msr, t, env->iflags);
|
||||
log_cpu_state_mask(CPU_LOG_INT, cs, 0);
|
||||
env->msr &= ~(MSR_VMS | MSR_UMS | MSR_VM | MSR_UM);
|
||||
env->msr |= t;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue