Patchwork Add SH4 ELF magic into qemu-binfmt-conf.sh.

login
register
mail settings
Submitter David Kozub
Date Dec. 16, 2009, 10:03 p.m.
Message ID <alpine.LRH.2.00.0912162257340.22548@linux.fjfi.cvut.cz>
Download mbox | patch
Permalink /patch/41368/
State New
Headers show

Comments

David Kozub - Dec. 16, 2009, 10:03 p.m.
Signed-off-by: David Kozub <zub@linux.fjfi.cvut.cz>
---
  qemu-binfmt-conf.sh |    9 ++++++++-
  1 files changed, 8 insertions(+), 1 deletions(-)
Aurelien Jarno - Dec. 19, 2009, 5:34 p.m.
On Wed, Dec 16, 2009 at 11:03:42PM +0100, David Kozub wrote:
>
> Signed-off-by: David Kozub <zub@linux.fjfi.cvut.cz>
> ---
>  qemu-binfmt-conf.sh |    9 ++++++++-
>  1 files changed, 8 insertions(+), 1 deletions(-)
>
> diff --git a/qemu-binfmt-conf.sh b/qemu-binfmt-conf.sh
> index ba916ac..9c65c9a 100644
> --- a/qemu-binfmt-conf.sh
> +++ b/qemu-binfmt-conf.sh
> @@ -1,5 +1,5 @@
>  #!/bin/sh
> -# enable automatic i386/ARM/M68K/MIPS/SPARC/PPC program execution by the kernel
> +# enable automatic i386/ARM/M68K/MIPS/SPARC/PPC/SH4 program execution by the kernel
>
>  # load the binfmt_misc module
>  if [ ! -d /proc/sys/fs/binfmt_misc ]; then
> @@ -27,6 +27,9 @@ case "$cpu" in
>    armv4l)
>      cpu="arm"
>    ;;
> +  sh4)
> +    cpu="sh4"
> +  ;;
>  esac

As already pointed, this part is actually useless.

>  # register the interpreter for each cpu except for the native one
> @@ -60,3 +63,7 @@ if [ $cpu != "mips" ] ; then
>      echo   ':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mips64:' > /proc/sys/fs/binfmt_misc/register
>      echo   ':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mips64el:' > /proc/sys/fs/binfmt_misc/register
>  fi
> +if [ $cpu != "sh4" ] ; then
> +    echo ':sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-sh4:' > /proc/sys/fs/binfmt_misc/register
> +    echo ':sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sh4eb:' > /proc/sys/fs/binfmt_misc/register
> +fi
> -- 
> 1.6.4.4
>
>
>

Patch

diff --git a/qemu-binfmt-conf.sh b/qemu-binfmt-conf.sh
index ba916ac..9c65c9a 100644
--- a/qemu-binfmt-conf.sh
+++ b/qemu-binfmt-conf.sh
@@ -1,5 +1,5 @@ 
  #!/bin/sh
-# enable automatic i386/ARM/M68K/MIPS/SPARC/PPC program execution by the kernel
+# enable automatic i386/ARM/M68K/MIPS/SPARC/PPC/SH4 program execution by the kernel

  # load the binfmt_misc module
  if [ ! -d /proc/sys/fs/binfmt_misc ]; then
@@ -27,6 +27,9 @@  case "$cpu" in
    armv4l)
      cpu="arm"
    ;;
+  sh4)
+    cpu="sh4"
+  ;;
  esac

  # register the interpreter for each cpu except for the native one
@@ -60,3 +63,7 @@  if [ $cpu != "mips" ] ; then
      echo   ':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mips64:' > /proc/sys/fs/binfmt_misc/register
      echo   ':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mips64el:' > /proc/sys/fs/binfmt_misc/register
  fi
+if [ $cpu != "sh4" ] ; then
+    echo ':sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-sh4:' > /proc/sys/fs/binfmt_misc/register
+    echo ':sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sh4eb:' > /proc/sys/fs/binfmt_misc/register
+fi