big endian ARM support (Lennert Buytenhek)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1180 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e80cfcfc88
commit
808c4954bf
@ -1,4 +1,5 @@
|
|||||||
arm-user
|
arm-user
|
||||||
|
armeb-user
|
||||||
config-host.*
|
config-host.*
|
||||||
dyngen
|
dyngen
|
||||||
i386
|
i386
|
||||||
|
@ -7,6 +7,7 @@ version 0.6.2:
|
|||||||
- 'pidfile' option
|
- 'pidfile' option
|
||||||
- .dmg disk image format support (Johannes Schindelin)
|
- .dmg disk image format support (Johannes Schindelin)
|
||||||
- keymaps support (initial patch by Johannes Schindelin)
|
- keymaps support (initial patch by Johannes Schindelin)
|
||||||
|
- big endian ARM support (Lennert Buytenhek)
|
||||||
|
|
||||||
version 0.6.1:
|
version 0.6.1:
|
||||||
|
|
||||||
|
@ -13,7 +13,15 @@ LIBS=
|
|||||||
HELPER_CFLAGS=$(CFLAGS)
|
HELPER_CFLAGS=$(CFLAGS)
|
||||||
DYNGEN=../dyngen$(EXESUF)
|
DYNGEN=../dyngen$(EXESUF)
|
||||||
# user emulator name
|
# user emulator name
|
||||||
QEMU_USER=qemu-$(TARGET_ARCH)
|
ifeq ($(TARGET_ARCH),arm)
|
||||||
|
ifeq ($(TARGET_WORDS_BIGENDIAN),yes)
|
||||||
|
QEMU_USER=qemu-armeb
|
||||||
|
else
|
||||||
|
QEMU_USER=qemu-arm
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
QEMU_USER=qemu-$(TARGET_ARCH)
|
||||||
|
endif
|
||||||
# system emulator name
|
# system emulator name
|
||||||
ifdef CONFIG_SOFTMMU
|
ifdef CONFIG_SOFTMMU
|
||||||
ifeq ($(TARGET_ARCH), i386)
|
ifeq ($(TARGET_ARCH), i386)
|
||||||
|
15
configure
vendored
15
configure
vendored
@ -27,11 +27,14 @@ ar="ar"
|
|||||||
make="make"
|
make="make"
|
||||||
strip="strip"
|
strip="strip"
|
||||||
cpu=`uname -m`
|
cpu=`uname -m`
|
||||||
target_list="i386-user i386 i386-softmmu arm-user sparc-user ppc-user ppc-softmmu sparc-softmmu"
|
target_list="i386-user i386 i386-softmmu arm-user armeb-user sparc-user ppc-user ppc-softmmu sparc-softmmu"
|
||||||
case "$cpu" in
|
case "$cpu" in
|
||||||
i386|i486|i586|i686|i86pc|BePC)
|
i386|i486|i586|i686|i86pc|BePC)
|
||||||
cpu="i386"
|
cpu="i386"
|
||||||
;;
|
;;
|
||||||
|
armv4b)
|
||||||
|
cpu="armv4b"
|
||||||
|
;;
|
||||||
armv4l)
|
armv4l)
|
||||||
cpu="armv4l"
|
cpu="armv4l"
|
||||||
;;
|
;;
|
||||||
@ -205,7 +208,7 @@ fi
|
|||||||
else
|
else
|
||||||
|
|
||||||
# if cross compiling, cannot launch a program, so make a static guess
|
# if cross compiling, cannot launch a program, so make a static guess
|
||||||
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k"; then
|
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
|
||||||
bigendian="yes"
|
bigendian="yes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -383,6 +386,9 @@ if test "$cpu" = "i386" ; then
|
|||||||
elif test "$cpu" = "amd64" ; then
|
elif test "$cpu" = "amd64" ; then
|
||||||
echo "ARCH=amd64" >> $config_mak
|
echo "ARCH=amd64" >> $config_mak
|
||||||
echo "#define HOST_AMD64 1" >> $config_h
|
echo "#define HOST_AMD64 1" >> $config_h
|
||||||
|
elif test "$cpu" = "armv4b" ; then
|
||||||
|
echo "ARCH=arm" >> $config_mak
|
||||||
|
echo "#define HOST_ARM 1" >> $config_h
|
||||||
elif test "$cpu" = "armv4l" ; then
|
elif test "$cpu" = "armv4l" ; then
|
||||||
echo "ARCH=arm" >> $config_mak
|
echo "ARCH=arm" >> $config_mak
|
||||||
echo "#define HOST_ARM 1" >> $config_h
|
echo "#define HOST_ARM 1" >> $config_h
|
||||||
@ -482,6 +488,7 @@ config_mak=$target_dir/config.mak
|
|||||||
config_h=$target_dir/config.h
|
config_h=$target_dir/config.h
|
||||||
target_cpu=`echo $target | cut -d '-' -f 1`
|
target_cpu=`echo $target | cut -d '-' -f 1`
|
||||||
target_bigendian="no"
|
target_bigendian="no"
|
||||||
|
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
|
||||||
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
|
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
|
||||||
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
|
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
|
||||||
target_softmmu="no"
|
target_softmmu="no"
|
||||||
@ -496,7 +503,7 @@ fi
|
|||||||
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
|
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
|
||||||
|
|
||||||
mkdir -p $target_dir
|
mkdir -p $target_dir
|
||||||
if test "$target" = "arm-user" ; then
|
if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
|
||||||
mkdir -p $target_dir/nwfpe
|
mkdir -p $target_dir/nwfpe
|
||||||
fi
|
fi
|
||||||
if test "$target_user_only" = "no" ; then
|
if test "$target_user_only" = "no" ; then
|
||||||
@ -519,7 +526,7 @@ if test "$target_cpu" = "i386" ; then
|
|||||||
echo "TARGET_ARCH=i386" >> $config_mak
|
echo "TARGET_ARCH=i386" >> $config_mak
|
||||||
echo "#define TARGET_ARCH \"i386\"" >> $config_h
|
echo "#define TARGET_ARCH \"i386\"" >> $config_h
|
||||||
echo "#define TARGET_I386 1" >> $config_h
|
echo "#define TARGET_I386 1" >> $config_h
|
||||||
elif test "$target_cpu" = "arm" ; then
|
elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
|
||||||
echo "TARGET_ARCH=arm" >> $config_mak
|
echo "TARGET_ARCH=arm" >> $config_mak
|
||||||
echo "#define TARGET_ARCH \"arm\"" >> $config_h
|
echo "#define TARGET_ARCH \"arm\"" >> $config_h
|
||||||
echo "#define TARGET_ARM 1" >> $config_h
|
echo "#define TARGET_ARM 1" >> $config_h
|
||||||
|
@ -25,6 +25,7 @@ if [ $cpu != "i386" ] ; then
|
|||||||
fi
|
fi
|
||||||
if [ $cpu != "arm" ] ; then
|
if [ $cpu != "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\xff\xff\xfb\xff\xff\xff:/usr/local/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register
|
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\xff\xff\xfb\xff\xff\xff:/usr/local/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register
|
||||||
|
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\xfb\xff\xff:/usr/local/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
|
||||||
fi
|
fi
|
||||||
if [ $cpu != "sparc" ] ; then
|
if [ $cpu != "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\xfb\xff\xff\xff:/usr/local/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
|
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\xfb\xff\xff\xff:/usr/local/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
|
||||||
|
Loading…
Reference in New Issue
Block a user