> > More updates about this. I just disassembled the unrecognized hex by hand, 
> > and figured out that the store word and load word opcodes are not the same 
> > as specified in translate.c. While the remaining fields of those 
> > unrecognized instructions do match with the source and destination 
> > registers.

> What is your compiler/assembler versions (on both machines you used)?

I don't have access to the machine for now and I may not remember the exact 
version numbers.

The cross compiler I used is a custom compiler based on gcc 4.4.0 (vaguely 
remember). It generated MIPS-I code that didn't work on QEMU. Specifically some 
generated opcodes didn't match those in target/mips/translate.c. However, I 
just checked Wikipedia's MIPS-I opcode table and I think QEMU implements it 
correctly. The single and double floating point opcode looked a little off for 
me though, but I didn't use FP ops in my case.

On my own PC I used mipsel-linux-gnu-gcc version 7.4.0. It just worked fine on 
QEMU.

Reply via email to