Message ID | 1533219424-7627-78-git-send-email-stefan.markovic@rt-rk.com |
---|---|
State | New |
Headers | show |
Series | Add nanoMIPS support to QEMU | expand |
Le 02/08/2018 à 16:17, Stefan Markovic a écrit : > From: Aleksandar Rikalo <arikalo@wavecomp.com> > > Add support for nanomips[eb] variant in scripts/qemu-binfmt-conf.sh. > > Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com> > Signed-off-by: Stefan Markovic <smarkovic@wavecomp.com> > --- > scripts/qemu-binfmt-conf.sh | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh > index b0dc8a7..ecde0c2 100755 > --- a/scripts/qemu-binfmt-conf.sh > +++ b/scripts/qemu-binfmt-conf.sh > @@ -2,7 +2,7 @@ > # Enable automatic program execution by the kernel. > > qemu_target_list="i386 i486 alpha arm armeb sparc32plus ppc ppc64 ppc64le m68k \ > -mips mipsel mipsn32 mipsn32el mips64 mips64el \ > +mips mipsel mipsn32 mipsn32el mips64 mips64el nanomips nanomipseb \ > sh4 sh4eb s390x aarch64 aarch64_be hppa riscv32 riscv64 xtensa xtensaeb \ > microblaze microblazeel or1k" > > @@ -76,6 +76,14 @@ mips64el_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\ > mips64el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' > mips64el_family=mips > > +nanomips_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf9\x00' > +nanomips_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' > +nanomips_family=mips > + > +nanomipseb_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf9' > +nanomipseb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' > +nanomipseb_family=mips The goal of the family value is not to register the interpreter if the kernel can execute the executable directly (without qemu). For instance a ppc64 kernel can execute a ppc executable, an x86_64 kernel can execute a i386 binary. If you put nanomips in the mips family it means a mips kernel can execute directly a nanomips executable: Is that the case? If not, I think you can use "nanomips_family=nanomips", and if a nanomips kernel cannot execute a nanomipseb executable, you need also a nanomipseb family. Thanks, Laurent
Hi, Laurent, Thank You for the explanation. We will correct this in the next version. We will also fix family values for the regular mips architectures in separate patch. Best Regards, Aleksandar Rikalo
Le 03/08/2018 à 13:23, Aleksandar Rikalo a écrit : > Hi, Laurent, > > Thank You for the explanation. > > We will correct this in the next version. > We will also fix family values for the regular mips architectures in > separate patch. It's a good idea. Thanks, Laurent
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh index b0dc8a7..ecde0c2 100755 --- a/scripts/qemu-binfmt-conf.sh +++ b/scripts/qemu-binfmt-conf.sh @@ -2,7 +2,7 @@ # Enable automatic program execution by the kernel. qemu_target_list="i386 i486 alpha arm armeb sparc32plus ppc ppc64 ppc64le m68k \ -mips mipsel mipsn32 mipsn32el mips64 mips64el \ +mips mipsel mipsn32 mipsn32el mips64 mips64el nanomips nanomipseb \ sh4 sh4eb s390x aarch64 aarch64_be hppa riscv32 riscv64 xtensa xtensaeb \ microblaze microblazeel or1k" @@ -76,6 +76,14 @@ mips64el_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\ mips64el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' mips64el_family=mips +nanomips_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf9\x00' +nanomips_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' +nanomips_family=mips + +nanomipseb_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf9' +nanomipseb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' +nanomipseb_family=mips + sh4_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00' sh4_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' sh4_family=sh4 @@ -134,7 +142,7 @@ qemu_get_family() { amd64|i386|i486|i586|i686|i86pc|BePC|x86_64) echo "i386" ;; - mips*) + mips*|nanomips*) echo "mips" ;; "Power Macintosh"|ppc64|powerpc|ppc)