Skip to content

info registers' command leads to segfault with -M none

This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/811683

I have a proprietary ROM implementing system calls that are executed via
the 'SC' instruction.

I use qemu-0.14.1,

qemu-system-ppc -M prep -cpu $CPU -bios my_bios -kernel my_kernel

That works fine on a 604 (CPU=0x00040103) - but does not on an emulated
7400 (CPU=0x000c0209) or 7450 (CPU=0x80000201). I found that the emulator
jumps to 0x00000c00 instead of 0xfff00c00.
Probably this is due to a wrong setting in target-ppc/translate_init.c:

init_excp_604() correctly sets env->hreset_vector=0xfff00000UL;

but

init_excp_7400() says env->hreset_vector=0x00000000UL;

which seems wrong. (the 7400 manual says a hard-reset jumps initializes
the
prefix to 0xfff00000.)

Likewise, init_excp_7450() (and probably other, related CPUs) are wrong.

Indeed, when I change the value in init_excp_7400() to 0xfff00000UL then
everything works as expected for me.
Edited by Daniel Henrique Barboza
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information