From 7f36329d5bbc8929b9477b061c9d6be7a69ea628 Mon Sep 17 00:00:00 2001 From: David Cock Date: Fri, 28 Aug 2015 17:10:19 +0200 Subject: [PATCH] XScale builds Signed-off-by: David Cock --- hake/Config.hs.arm-gcc-4.9-2014q4 | 20 ++++++++++++-------- hake/Config.hs.ubuntu | 12 ++++++++++++ hake/XScale.hs | 12 ++++++------ platforms/Hakefile | 4 ++++ 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/hake/Config.hs.arm-gcc-4.9-2014q4 b/hake/Config.hs.arm-gcc-4.9-2014q4 index 17d119a..cbbc047 100644 --- a/hake/Config.hs.arm-gcc-4.9-2014q4 +++ b/hake/Config.hs.arm-gcc-4.9-2014q4 @@ -22,16 +22,20 @@ import Data.List -- -- Toolchain definitions. By default, these rely on $PATH -- -arm_gcc_path = "/home/netos/tools/gcc-arm-embedded/" ++ + +-- ARM toolchain +arm_gnu_path = "/home/netos/tools/gcc-arm-embedded/" ++ "gcc-arm-none-eabi-4_9-2014q4" ++ "/bin/" -arm_gcc_prefix = "arm-none-eabi-" -arm_cc = arm_gcc_path ++ arm_gcc_prefix ++ "gcc" -arm_objcopy = arm_gcc_path ++ arm_gcc_prefix ++ "objcopy" -arm_objdump = arm_gcc_path ++ arm_gcc_prefix ++ "objdump" -arm_ar = arm_gcc_path ++ arm_gcc_prefix ++ "ar" -arm_ranlib = arm_gcc_path ++ arm_gcc_prefix ++ "ranlib" -arm_cxx = arm_gcc_path ++ arm_gcc_prefix ++ "g++" +arm_gnu_prefix = "arm-none-eabi-" +arm_gnu_tool = findTool arm_gnu_path arm_gnu_prefix + +arm_cc = arm_gnu_tool "gcc" +arm_objcopy = arm_gnu_tool "objcopy" +arm_objdump = arm_gnu_tool "objdump" +arm_ar = arm_gnu_tool "ar" +arm_ranlib = arm_gnu_tool "ranlib" +arm_cxx = arm_gnu_tool "g++" x86_cc = "gcc" x86_cxx = "g++" diff --git a/hake/Config.hs.ubuntu b/hake/Config.hs.ubuntu index 00d57ae..ce6240a 100644 --- a/hake/Config.hs.ubuntu +++ b/hake/Config.hs.ubuntu @@ -49,6 +49,18 @@ thumb_ar = thumb_gnu_tool "ar" thumb_ranlib = thumb_gnu_tool "ranlib" thumb_cxx = thumb_gnu_tool "g++" +-- ARM big-endian (e.g. XScale) toolchain +armeb_gnu_path = "/opt/gcc-linaro-4.9-2015.02-3-x86_64_armeb-eabi/bin" +armeb_gnu_prefix = "armeb-eabi-" +armeb_gnu_tool = findTool armeb_gnu_path armeb_gnu_prefix + +armeb_cc = armeb_gnu_tool "gcc" +armeb_objcopy = armeb_gnu_tool "objcopy" +armeb_objdump = armeb_gnu_tool "objdump" +armeb_ar = armeb_gnu_tool "ar" +armeb_ranlib = armeb_gnu_tool "ranlib" +armeb_cxx = armeb_gnu_tool "g++" + -- X86 (32/64) toolchain x86_gnu_path = "" x86_gnu_prefix = "" diff --git a/hake/XScale.hs b/hake/XScale.hs index f3a1336..97f2004 100644 --- a/hake/XScale.hs +++ b/hake/XScale.hs @@ -27,12 +27,12 @@ import qualified ArchDefaults arch = "xscale" archFamily = "arm" -compiler = Config.arm_cc -objcopy = Config.arm_objcopy -objdump = Config.arm_objdump -ar = Config.arm_ar -ranlib = Config.arm_ranlib -cxxcompiler = Config.arm_cxx +compiler = Config.armeb_cc +objcopy = Config.armeb_objcopy +objdump = Config.armeb_objdump +ar = Config.armeb_ar +ranlib = Config.armeb_ranlib +cxxcompiler = Config.armeb_cxx ourCommonFlags = [ Str "-Wno-packed-bitfield-compat", Str "-Wno-format", diff --git a/platforms/Hakefile b/platforms/Hakefile index 38549d1..adfacbb 100644 --- a/platforms/Hakefile +++ b/platforms/Hakefile @@ -388,6 +388,10 @@ let bin_rcce_lu = [ "/sbin/" ++ f | f <- [ ([ ("arm11mp", "/sbin/" ++ f) | f <- [ "cpu", "cpu.bin" ]]) "Very basic ARM11MP configuration for testing", + platform "XScale" [ "xscale" ] + ([ ("xscale", "/sbin/" ++ f) | f <- [ "cpu_ixp2800", "cpu_ixp2800.bin" ]]) + "Very basic XScale configuration for testing", + -- -- Rules to build assorted boot images -- -- 1.7.2.5