#!/sbin/runscript
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/files/qemu-binfmt.initd-r1,v 1.5 2014/08/04 06:47:22 vapier Exp $

# enable automatic i386/ARM/M68K/MIPS/SPARC/PPC/s390 program execution by the kernel

# Defaulting to OC should be safe because it comes down to:
#  - do we trust the interp itself to not be malicious?  yes; we built it.
#  - do we trust the programs we're running?  ish; same permission as native
#    binaries apply.  so if user can do bad stuff natively, cross isn't worse.
: ${QEMU_BINFMT_FLAGS:=OC}

depend() {
    after procfs
}

start() {
   ebegin "Registering qemu-user binaries (flags: ${QEMU_BINFMT_FLAGS})"

   if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
      modprobe -q binfmt_misc
   fi

   if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
       eend $? "You need support for 'misc binaries' in your kernel!" || return
   fi

   if [ ! -f /proc/sys/fs/binfmt_misc/register ] ; then
      mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc >/dev/null 2>&1
      eend $? || return
   fi

   # probe cpu type
   cpu=`uname -m`
   case "$cpu" in
      i386|i486|i586|i686|i86pc|BePC|x86_64)
         cpu="i386"
         ;;
      m68k)
         cpu="m68k"
         ;;
      mips*)
         cpu="mips"
      ;;
      "Power Macintosh"|ppc|ppc64)
         cpu="ppc"
      ;;
      armv[4-9]*)
         cpu="arm"
      ;;
      sparc*)
         cpu="sparc"
      ;;
   esac

   # register the interpreter for each cpu except for the native one
   if [ $cpu != "i386" -a -x "/usr/bin/qemu-i386" ] ; then
      echo ':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
      echo ':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "alpha" -a -x "/usr/bin/qemu-alpha" ] ; then
      echo ':alpha:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-alpha:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "arm" -a -x "/usr/bin/qemu-arm" ] ; then
      echo   ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\x00\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "arm" -a -x "/usr/bin/qemu-armeb" ] ; then
      echo   ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "aarch64" -a -x "/usr/bin/qemu-aarch64" ] ; then
      echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "sparc" -a -x "/usr/bin/qemu-sparc" ] ; then
      echo   ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "ppc" -a -x "/usr/bin/qemu-ppc" ] ; then
      echo   ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-ppc:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "m68k" -a -x "/usr/bin/qemu-m68k" ] ; then
      #echo   'Please check cpu value and header information for m68k!'
      echo   ':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-m68k:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips" ] ; then
      # FIXME: We could use the other endianness on a MIPS host.
      echo   ':mips:M::\x7fELF\x01\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/bin/qemu-mips:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsel" ] ; then
      echo   ':mipsel:M::\x7fELF\x01\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/bin/qemu-mipsel:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsn32" ] ; then
      echo   ':mipsn32:M::\x7fELF\x01\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/bin/qemu-mipsn32:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "mips" -a -x "/usr/bin/qemu-mipsn32el" ] ; then
      echo   ':mipsn32el:M::\x7fELF\x01\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/bin/qemu-mipsn32el:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips64" ] ; 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/bin/qemu-mips64:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "mips" -a -x "/usr/bin/qemu-mips64el" ] ; then
      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/bin/qemu-mips64el:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "sh" -a -x "/usr/bin/qemu-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/bin/qemu-sh4:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "sh" -a -x "/usr/bin/qemu-sh4eb" ] ; then
      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/bin/qemu-sh4eb:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   if [ $cpu != "s390x" -a -x "/usr/bin/qemu-s390x" ] ; then
      echo   ':s390x:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-s390x:'"${QEMU_BINFMT_FLAGS}" > /proc/sys/fs/binfmt_misc/register
   fi
   eend $?
}

stop() {
   ebegin "Unregistering qemu-user binaries"
   local arches

   arches="${arches} i386 i486"
   arches="${arches} alpha"
   arches="${arches} arm armeb"
   arches="${arches} aarch64"
   arches="${arches} sparc"
   arches="${arches} ppc"
   arches="${arches} m68k"
   arches="${arches} mips mipsel mipsn32 mipsn32el mips64 mips64el"
   arches="${arches} sh4 sh4eb"
   arches="${arches} s390x"

   for a in ${arches}; do
      if [ -f /proc/sys/fs/binfmt_misc/$a ] ; then
         echo '-1' > /proc/sys/fs/binfmt_misc/$a
      fi
   done

   eend $?
}

# vim: ts=4 :
