Use mipsel- rather than mips- in directories involving mipsel ports to
allow both endiannesses coexist. * configure.ac: proparate target_cpu=mipsel rather than resetting to mips. All conditions adjusted. * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu variable. * util/grub-install.in: Adjust conditions to take renaming into account. * util/grub-mkimage.c (image_targets): Likewise. New target mips-qemu_mips-elf for bigendian mips.
This commit is contained in:
parent
35341bbc96
commit
4959e11109
5 changed files with 68 additions and 23 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
||||||
|
2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Use mipsel- rather than mips- in directories involving mipsel ports to
|
||||||
|
allow both endiannesses coexist.
|
||||||
|
|
||||||
|
* configure.ac: proparate target_cpu=mipsel rather than resetting to
|
||||||
|
mips. All conditions adjusted.
|
||||||
|
* tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
|
||||||
|
variable.
|
||||||
|
* util/grub-install.in: Adjust conditions to take renaming into account.
|
||||||
|
* util/grub-mkimage.c (image_targets): Likewise. New target
|
||||||
|
mips-qemu_mips-elf for bigendian mips.
|
||||||
|
|
||||||
2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
|
2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
Avoid unnecessary copying on MIPS.
|
Avoid unnecessary copying on MIPS.
|
||||||
|
|
39
configure.ac
39
configure.ac
|
@ -72,7 +72,7 @@ case "$target_cpu" in
|
||||||
amd64) target_cpu=x86_64 ;;
|
amd64) target_cpu=x86_64 ;;
|
||||||
sparc) target_cpu=sparc64 ;;
|
sparc) target_cpu=sparc64 ;;
|
||||||
mipsel|mips64el)
|
mipsel|mips64el)
|
||||||
target_cpu=mips;
|
target_cpu=mipsel;
|
||||||
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_CPU_MIPSEL=1";
|
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_CPU_MIPSEL=1";
|
||||||
;;
|
;;
|
||||||
mips|mips64)
|
mips|mips64)
|
||||||
|
@ -96,7 +96,8 @@ if test "x$with_platform" = x; then
|
||||||
powerpc-*) platform=ieee1275 ;;
|
powerpc-*) platform=ieee1275 ;;
|
||||||
powerpc64-*) platform=ieee1275 ;;
|
powerpc64-*) platform=ieee1275 ;;
|
||||||
sparc64-*) platform=ieee1275 ;;
|
sparc64-*) platform=ieee1275 ;;
|
||||||
mips-*) platform=loongson ;;
|
mipsel-*) platform=loongson ;;
|
||||||
|
mips-*) platform=arc ;;
|
||||||
ia64-*) platform=efi ;;
|
ia64-*) platform=efi ;;
|
||||||
*) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;;
|
*) AC_MSG_ERROR([unsupported CPU: "$target_cpu"]) ;;
|
||||||
esac
|
esac
|
||||||
|
@ -126,10 +127,12 @@ case "$target_cpu"-"$platform" in
|
||||||
ia64-efi) ;;
|
ia64-efi) ;;
|
||||||
mips-qemu_mips) ;;
|
mips-qemu_mips) ;;
|
||||||
mips-qemu-mips) platform=qemu_mips;;
|
mips-qemu-mips) platform=qemu_mips;;
|
||||||
mips-yeeloong) platform=loongson ;;
|
|
||||||
mips-fuloong) platform=loongson ;;
|
|
||||||
mips-loongson) ;;
|
|
||||||
mips-arc) ;;
|
mips-arc) ;;
|
||||||
|
mipsel-qemu_mips) ;;
|
||||||
|
mipsel-qemu-mips) platform=qemu_mips;;
|
||||||
|
mipsel-yeeloong) platform=loongson ;;
|
||||||
|
mipsel-fuloong) platform=loongson ;;
|
||||||
|
mipsel-loongson) ;;
|
||||||
*-emu) ;;
|
*-emu) ;;
|
||||||
*) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;;
|
*) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;;
|
||||||
esac
|
esac
|
||||||
|
@ -167,10 +170,14 @@ case "$platform" in
|
||||||
arc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_ARC=1" ;;
|
arc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_ARC=1" ;;
|
||||||
esac
|
esac
|
||||||
case "$target_cpu" in
|
case "$target_cpu" in
|
||||||
mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;;
|
mips |mipsel) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;;
|
||||||
sparc64) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_SPARC64=1" ;;
|
sparc64) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_SPARC64=1" ;;
|
||||||
esac
|
esac
|
||||||
|
if test x${target_cpu} = xmipsel ; then
|
||||||
|
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE=`echo mips_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
|
||||||
|
else
|
||||||
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
|
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
|
||||||
|
fi
|
||||||
|
|
||||||
HOST_CPPFLAGS="$HOST_CPPFLAGS $machine_CPPFLAGS"
|
HOST_CPPFLAGS="$HOST_CPPFLAGS $machine_CPPFLAGS"
|
||||||
TARGET_CPPFLAGS="$TARGET_CPPFLAGS $machine_CPPFLAGS"
|
TARGET_CPPFLAGS="$TARGET_CPPFLAGS $machine_CPPFLAGS"
|
||||||
|
@ -405,7 +412,7 @@ if test "x$grub_cv_cc_fno_dwarf2_cfi_asm" = xyes; then
|
||||||
TARGET_CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
|
TARGET_CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "${target_cpu}-${platform}" = mips-loongson; then
|
if test "${target_cpu}-${platform}" = mipsel-loongson; then
|
||||||
AC_CACHE_CHECK([whether -march=loongson2f works], [grub_cv_cc_march_loongson2f], [
|
AC_CACHE_CHECK([whether -march=loongson2f works], [grub_cv_cc_march_loongson2f], [
|
||||||
SAVE_CFLAGS="$CFLAGS"
|
SAVE_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -march=loongson2f"
|
CFLAGS="$CFLAGS -march=loongson2f"
|
||||||
|
@ -958,12 +965,12 @@ AM_CONDITIONAL([COND_i386_ieee1275], [test x$target_cpu = xi386 -a x$platform =
|
||||||
AM_CONDITIONAL([COND_i386_coreboot], [test x$target_cpu = xi386 -a x$platform = xcoreboot])
|
AM_CONDITIONAL([COND_i386_coreboot], [test x$target_cpu = xi386 -a x$platform = xcoreboot])
|
||||||
AM_CONDITIONAL([COND_i386_multiboot], [test x$target_cpu = xi386 -a x$platform = xmultiboot])
|
AM_CONDITIONAL([COND_i386_multiboot], [test x$target_cpu = xi386 -a x$platform = xmultiboot])
|
||||||
AM_CONDITIONAL([COND_x86_64_efi], [test x$target_cpu = xx86_64 -a x$platform = xefi])
|
AM_CONDITIONAL([COND_x86_64_efi], [test x$target_cpu = xx86_64 -a x$platform = xefi])
|
||||||
AM_CONDITIONAL([COND_mips_loongson], [test x$target_cpu = xmips -a x$platform = xloongson])
|
AM_CONDITIONAL([COND_mips_loongson], [test x$target_cpu = xmipsel -a x$platform = xloongson])
|
||||||
AM_CONDITIONAL([COND_mips_qemu_mips], [test x$target_cpu = xmips -a x$platform = xqemu_mips])
|
AM_CONDITIONAL([COND_mips_qemu_mips], [test "(" x$target_cpu = xmips -o x$target_cpu = xmipsel ")" -a x$platform = xqemu_mips])
|
||||||
AM_CONDITIONAL([COND_mips_arc], [test x$target_cpu = xmips -a x$platform = xarc])
|
AM_CONDITIONAL([COND_mips_arc], [test x$target_cpu = xmips -a x$platform = xarc])
|
||||||
AM_CONDITIONAL([COND_sparc64_ieee1275], [test x$target_cpu = xsparc64 -a x$platform = xieee1275])
|
AM_CONDITIONAL([COND_sparc64_ieee1275], [test x$target_cpu = xsparc64 -a x$platform = xieee1275])
|
||||||
AM_CONDITIONAL([COND_powerpc_ieee1275], [test x$target_cpu = xpowerpc -a x$platform = xieee1275])
|
AM_CONDITIONAL([COND_powerpc_ieee1275], [test x$target_cpu = xpowerpc -a x$platform = xieee1275])
|
||||||
AM_CONDITIONAL([COND_mips], [test x$target_cpu = xmips])
|
AM_CONDITIONAL([COND_mips], [test x$target_cpu = xmips -o x$target_cpu = xmipsel])
|
||||||
|
|
||||||
AM_CONDITIONAL([COND_HOST_HURD], [test x$host_kernel = xhurd])
|
AM_CONDITIONAL([COND_HOST_HURD], [test x$host_kernel = xhurd])
|
||||||
AM_CONDITIONAL([COND_HOST_LINUX], [test x$host_kernel = xlinux])
|
AM_CONDITIONAL([COND_HOST_LINUX], [test x$host_kernel = xlinux])
|
||||||
|
@ -985,19 +992,23 @@ AM_CONDITIONAL([COND_HAVE_ASM_USCORE], [test x$HAVE_ASM_USCORE = x1])
|
||||||
AM_CONDITIONAL([COND_CYGWIN], [test x$host_os = xcygwin])
|
AM_CONDITIONAL([COND_CYGWIN], [test x$host_os = xcygwin])
|
||||||
|
|
||||||
# Output files.
|
# Output files.
|
||||||
|
cpudir="${target_cpu}"
|
||||||
|
if test x${cpudir} = xmipsel; then
|
||||||
|
cpudir=mips;
|
||||||
|
fi
|
||||||
grub_CHECK_LINK_DIR
|
grub_CHECK_LINK_DIR
|
||||||
if test x"$link_dir" = xyes ; then
|
if test x"$link_dir" = xyes ; then
|
||||||
AC_CONFIG_LINKS([include/grub/cpu:include/grub/$target_cpu])
|
AC_CONFIG_LINKS([include/grub/cpu:include/grub/$cpudir])
|
||||||
if test "$platform" != emu ; then
|
if test "$platform" != emu ; then
|
||||||
AC_CONFIG_LINKS([include/grub/machine:include/grub/$target_cpu/$platform])
|
AC_CONFIG_LINKS([include/grub/machine:include/grub/$cpudir/$platform])
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
mkdir -p include/grub 2>/dev/null
|
mkdir -p include/grub 2>/dev/null
|
||||||
rm -rf include/grub/cpu
|
rm -rf include/grub/cpu
|
||||||
cp -rp $srcdir/include/grub/$target_cpu include/grub/cpu 2>/dev/null
|
cp -rp $srcdir/include/grub/$cpudir include/grub/cpu 2>/dev/null
|
||||||
if test "$platform" != emu ; then
|
if test "$platform" != emu ; then
|
||||||
rm -rf include/grub/machine
|
rm -rf include/grub/machine
|
||||||
cp -rp $srcdir/include/grub/$target_cpu/$platform include/grub/machine 2>/dev/null
|
cp -rp $srcdir/include/grub/$cpudir/$platform include/grub/machine 2>/dev/null
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ builddir=@builddir@
|
||||||
PACKAGE_NAME=@PACKAGE_NAME@
|
PACKAGE_NAME=@PACKAGE_NAME@
|
||||||
PACKAGE_TARNAME=@PACKAGE_TARNAME@
|
PACKAGE_TARNAME=@PACKAGE_TARNAME@
|
||||||
PACKAGE_VERSION=@PACKAGE_VERSION@
|
PACKAGE_VERSION=@PACKAGE_VERSION@
|
||||||
target_cpu=@target_cpu@
|
|
||||||
|
|
||||||
# Force build directory components
|
# Force build directory components
|
||||||
PATH=${builddir}:$PATH
|
PATH=${builddir}:$PATH
|
||||||
|
|
|
@ -554,13 +554,13 @@ fi
|
||||||
|
|
||||||
case "${target_cpu}-${platform}" in
|
case "${target_cpu}-${platform}" in
|
||||||
sparc64-ieee1275) mkimage_target=sparc64-ieee1275-raw ;;
|
sparc64-ieee1275) mkimage_target=sparc64-ieee1275-raw ;;
|
||||||
mips-loongson) mkimage_target=mipsel-loongson-elf ;;
|
mipsel-loongson) mkimage_target=mipsel-loongson-elf ;;
|
||||||
*) mkimage_target="${target_cpu}-${platform}" ;;
|
*) mkimage_target="${target_cpu}-${platform}" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case "${target_cpu}-${platform}" in
|
case "${target_cpu}-${platform}" in
|
||||||
i386-efi | x86_64-efi) imgext=efi ;;
|
i386-efi | x86_64-efi) imgext=efi ;;
|
||||||
mips-loongson | i386-coreboot | i386-multiboot | i386-ieee1275 \
|
mipsel-loongson | i386-coreboot | i386-multiboot | i386-ieee1275 \
|
||||||
| powerpc-ieee1275) imgext=elf ;;
|
| powerpc-ieee1275) imgext=elf ;;
|
||||||
*) imgext=img ;;
|
*) imgext=img ;;
|
||||||
esac
|
esac
|
||||||
|
@ -569,7 +569,7 @@ esac
|
||||||
"$grub_mkimage" ${config_opt} -d "${pkglibdir}" -O ${mkimage_target} --output="${grubdir}/core.${imgext}" --prefix="${prefix_drive}${relative_grubdir}" $modules || exit 1
|
"$grub_mkimage" ${config_opt} -d "${pkglibdir}" -O ${mkimage_target} --output="${grubdir}/core.${imgext}" --prefix="${prefix_drive}${relative_grubdir}" $modules || exit 1
|
||||||
|
|
||||||
# Backward-compatibility kludges
|
# Backward-compatibility kludges
|
||||||
if [ "${target_cpu}-${platform}" = "mips-loongson" ]; then
|
if [ "${target_cpu}-${platform}" = "mipsel-loongson" ]; then
|
||||||
cp "${grubdir}/core.${imgext}" "${bootdir}"/grub.elf
|
cp "${grubdir}/core.${imgext}" "${bootdir}"/grub.elf
|
||||||
elif [ "${target_cpu}-${platform}" = "i386-ieee1275" ] || [ "${target_cpu}-${platform}" = "powerpc-ieee1275" ]; then
|
elif [ "${target_cpu}-${platform}" = "i386-ieee1275" ] || [ "${target_cpu}-${platform}" = "powerpc-ieee1275" ]; then
|
||||||
cp "${grubdir}/core.${imgext}" "${grubdir}/grub"
|
cp "${grubdir}/core.${imgext}" "${grubdir}/grub"
|
||||||
|
|
|
@ -274,7 +274,7 @@ struct image_target_desc image_targets[] =
|
||||||
.elf_target = EM_X86_64,
|
.elf_target = EM_X86_64,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.dirname = "mips-loongson",
|
.dirname = "mipsel-loongson",
|
||||||
.names = { "mipsel-yeeloong-flash", NULL },
|
.names = { "mipsel-yeeloong-flash", NULL },
|
||||||
.voidp_sizeof = 4,
|
.voidp_sizeof = 4,
|
||||||
.bigendian = 0,
|
.bigendian = 0,
|
||||||
|
@ -296,7 +296,7 @@ struct image_target_desc image_targets[] =
|
||||||
.default_compression = COMPRESSION_NONE
|
.default_compression = COMPRESSION_NONE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.dirname = "mips-loongson",
|
.dirname = "mipsel-loongson",
|
||||||
.names = { "mipsel-fuloong-flash", NULL },
|
.names = { "mipsel-fuloong-flash", NULL },
|
||||||
.voidp_sizeof = 4,
|
.voidp_sizeof = 4,
|
||||||
.bigendian = 0,
|
.bigendian = 0,
|
||||||
|
@ -318,7 +318,7 @@ struct image_target_desc image_targets[] =
|
||||||
.default_compression = COMPRESSION_NONE
|
.default_compression = COMPRESSION_NONE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.dirname = "mips-loongson",
|
.dirname = "mipsel-loongson",
|
||||||
.names = { "mipsel-loongson-elf", "mipsel-yeeloong-elf",
|
.names = { "mipsel-loongson-elf", "mipsel-yeeloong-elf",
|
||||||
"mipsel-fuloong-elf", NULL },
|
"mipsel-fuloong-elf", NULL },
|
||||||
.voidp_sizeof = 4,
|
.voidp_sizeof = 4,
|
||||||
|
@ -445,7 +445,7 @@ struct image_target_desc image_targets[] =
|
||||||
.default_compression = COMPRESSION_NONE
|
.default_compression = COMPRESSION_NONE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.dirname = "mips-qemu_mips",
|
.dirname = "mipsel-qemu_mips",
|
||||||
.names = { "mipsel-qemu_mips-elf", NULL },
|
.names = { "mipsel-qemu_mips-elf", NULL },
|
||||||
.voidp_sizeof = 4,
|
.voidp_sizeof = 4,
|
||||||
.bigendian = 0,
|
.bigendian = 0,
|
||||||
|
@ -466,6 +466,28 @@ struct image_target_desc image_targets[] =
|
||||||
.link_align = GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN,
|
.link_align = GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN,
|
||||||
.default_compression = COMPRESSION_NONE
|
.default_compression = COMPRESSION_NONE
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.dirname = "mips-qemu_mips",
|
||||||
|
.names = { "mips-qemu_mips-elf", NULL },
|
||||||
|
.voidp_sizeof = 4,
|
||||||
|
.bigendian = 1,
|
||||||
|
.id = IMAGE_LOONGSON_ELF,
|
||||||
|
.flags = PLATFORM_FLAGS_DECOMPRESSORS,
|
||||||
|
.prefix = GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX,
|
||||||
|
.prefix_end = GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END,
|
||||||
|
.raw_size = 0,
|
||||||
|
.total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
|
||||||
|
.compressed_size = TARGET_NO_FIELD,
|
||||||
|
.kernel_image_size = TARGET_NO_FIELD,
|
||||||
|
.section_align = 1,
|
||||||
|
.vaddr_offset = 0,
|
||||||
|
.install_dos_part = TARGET_NO_FIELD,
|
||||||
|
.install_bsd_part = TARGET_NO_FIELD,
|
||||||
|
.link_addr = GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR,
|
||||||
|
.elf_target = EM_MIPS,
|
||||||
|
.link_align = GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN,
|
||||||
|
.default_compression = COMPRESSION_NONE
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
#define grub_target_to_host32(x) (grub_target_to_host32_real (image_target, (x)))
|
#define grub_target_to_host32(x) (grub_target_to_host32_real (image_target, (x)))
|
||||||
|
|
Loading…
Reference in a new issue