diff options
Diffstat (limited to 'results/classifier/gemma3:12b/boot/811683')
| -rw-r--r-- | results/classifier/gemma3:12b/boot/811683 | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/boot/811683 b/results/classifier/gemma3:12b/boot/811683 new file mode 100644 index 000000000..a8ffc4b0d --- /dev/null +++ b/results/classifier/gemma3:12b/boot/811683 @@ -0,0 +1,25 @@ + +7400,7410,7450 cpus vector have wrong exception prefix at reset + +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. \ No newline at end of file |