[Feature request] qemu does not support for Octeon MIPS64 on X86

Bug #1877706 reported by Lu Haocong
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Invalid
Wishlist
Unassigned

Bug Description

Description of problem:

I use mips64-octeon-linux-gnu-gcc cross toolchain on X86,and generate binary file.

> mips64-octeon-linux-gnu-gcc hello.c -static
> file a.out
> a.out: ELF 32-bit MSB executable, MIPS, N32 MIPS64 rel2 version 1 (SYSV), statically linked, for GNU/Linux 2.4.0, not stripped

I execute it with mips64-linux-user mode in qemu, it is invalid.

> ./qemu-5.0.0/mips64-linux-user/qemu-mips64 a.out
> a.out: Invalid ELF image for this architecture

when I choose mips-linux-user mode, it regards as illegal instruction.

> ./qemu-5.0.0/mips-linux-user/qemu-mips a.out
> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
> Illegal instruction (core dumped)

I would like to know, is this due to my problem or does qemu not support Octeon MIPS64 on X86?

if qemu has supported Octeon MIPS64 on X86, how can I emulate it.

Revision history for this message
Aleksandar Markovic (aleksandar-markovic) wrote :

Probably not, but there may be a workaround. The closest cpu to Octeon that is supported in QEMU is "MIPS64R2-generic".

Please try using switch -cpu MIPS64R2-generic in your QEMU command line.

Also, I think you should use qemu-mipsn32 rather than qemu-mips or qemu-mips64.

I don't have much hope that all this will work, but it is worth trying.

tags: added: linux-user
Revision history for this message
Aleksandar Markovic (aleksandar-markovic) wrote :

Hi, Lu.

Where can I download Octeon toolchain you used?

I want to try it by myself.

Aleksandar

Thomas Huth (th-huth)
Changed in qemu:
importance: Undecided → Wishlist
Revision history for this message
Thomas Huth (th-huth) wrote :

Was the MIPS64R2-generic good enough for you?

Changed in qemu:
status: New → Incomplete
Revision history for this message
Philippe Mathieu-Daudé (philmd) wrote :

If your file is "ELF 32-bit MSB executable, MIPS, N32 MIPS64 rel2 version 1",
then you have to use the mipsn32-linux-user variant of QEMU (binary 'qemu-mipsn32').

Changed in qemu:
status: Incomplete → Invalid
tags: added: mips
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.