KAWAKATSU Noritaka <kawakatsu.norit...@interdesigntech.co.jp> writes:
> Hi, Hi, > > I have built u-boot binary for 'qemu-system-mips -M mips'. > It is fine to run ths u-boot binary. > But the same u-boot binary does not run on 'qemu-system-mips64 -M mips'. > > I do not understand what happends on the qemu-mips64 execution. > Is this a bug for qemu-system-mips64 ? > Or should I build u-boot binary by another configuration? > > ------ > * u-boot building steps > (1) build the gcc 4.5 cross-compiler for mips from the source. > (2) build u-boot(2010.03) by the (1)compiler. > (3) copy the u-boot.bin to /usr/share/qemu/mips_bios.bin > * qemu(mips) execution command > $ qemu-system-mips -L /usr/share/qemu -d in_asm -nographic > * get /tmp/qemu.log > the execution seems fine. > > * qemu(mips64) execution command > $ qemu-system-mips64 -L /usr/share/qemu -d in_asm -nographic > * get /tmp/qemu.log > the execution seems not fine. Something is wrong? > > > > ----- /tmp/qemu.log (last 10-20 lines) [qemu-system-mips64] > IN: > 0xffffffffbfc0ee8c: xori v0,v0,0x3d > 0xffffffffbfc0ee90: li v1,-1 > 0xffffffffbfc0ee94: movn s1,v1,v0 > 0xffffffffbfc0ee98: lw ra,52(sp) > 0xffffffffbfc0ee9c: move v0,s1 > 0xffffffffbfc0eea0: lw s3,48(sp) > 0xffffffffbfc0eea4: lw s2,44(sp) > 0xffffffffbfc0eea8: lw s1,40(sp) > 0xffffffffbfc0eeac: lw s0,36(sp) > 0xffffffffbfc0eeb0: jr ra > 0xffffffffbfc0eeb4: addiu sp,sp,56 > > helper_raise_exception_err: 20 0 > do_interrupt enter: PC ffffffffbfc0ee94 EPC 0000000000000000 reserved > instruction exception > do_interrupt: PC ffffffffbfc00380 EPC ffffffffbfc0ee94 cause 10 > S 00400002 C 00808428 A 0000000000000000 D 0000000000000000 so EPC is set to ffffffffbfc0ee94 which is : movn s1,v1,v0 >From what I understand when reading the mips IV manual, the movn ins is only for mips IV / 32bit and not 64bit. Looks like the qemu code has been written following this. (This also explains why qemu-system-mips is fine and not qemu-system-mips64). Arnaud