arch/microblaze: add new architecture
authorDavid Holsgrove <david.holsgrove@xilinx.com>
Thu Sep 20 14:01:38 2012 +1000 (2012-09-20)
changeset 30537e41a188bd7c
parent 3052 06b663f297ad
child 3054 e978441f521c
arch/microblaze: add new architecture

Add Microblaze architecture support.

This depends on EXPERIMENTAL, as upstream projects do not yet
include full support to build a modern microblaze compiler.
This is in the process of being updated, but is not currently
publicly accessible.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
Message-Id: <9c93e18b3d68b19303f3.1348113870@localhost.localdomain>
PatchWork-ID: 185305
config/arch/microblaze.in
scripts/build/arch/microblaze.sh
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/config/arch/microblaze.in	Thu Sep 20 14:01:38 2012 +1000
     1.3 @@ -0,0 +1,22 @@
     1.4 +# MicroBlaze specific config options
     1.5 +
     1.6 +## depends on EXPERIMENTAL
     1.7 +##
     1.8 +## select ARCH_SUPPORT_ARCH
     1.9 +## select ARCH_FLOAT_SW
    1.10 +## select ARCH_SUPPORTS_BOTH_ENDIAN
    1.11 +## select ARCH_DEFAULT_BE
    1.12 +## select ARCH_SUPPORTS_BOTH_MMU
    1.13 +## select ARCH_DEFAULT_HAS_MMU
    1.14 +##
    1.15 +## help The MicroBlaze architecture, as defined by:
    1.16 +## help 	http://www.xilinx.com/
    1.17 +## help 
    1.18 +## help Upstream projects do not currently provide
    1.19 +## help full support for the microblaze architecture
    1.20 +## help and as such, this is marked as EXPERIMENTAL
    1.21 +## help for CT-NG.
    1.22 +## help 
    1.23 +## help Support is being added for a modern gcc,
    1.24 +## help binutils and gdb along with nptl threading
    1.25 +## help in eglibc for microblaze.
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/scripts/build/arch/microblaze.sh	Thu Sep 20 14:01:38 2012 +1000
     2.3 @@ -0,0 +1,21 @@
     2.4 +# Compute microblaze specific values
     2.5 +
     2.6 +CT_DoArchTupleValues () {
     2.7 +    # The architecture part of the tuple:
     2.8 +    CT_TARGET_ARCH="${CT_ARCH}${target_endian_el}"
     2.9 +
    2.10 +    # gcc ./configure flags
    2.11 +    CT_ARCH_WITH_ARCH=
    2.12 +    CT_ARCH_WITH_ABI=
    2.13 +    CT_ARCH_WITH_CPU=
    2.14 +    CT_ARCH_WITH_TUNE=
    2.15 +    CT_ARCH_WITH_FPU=
    2.16 +    CT_ARCH_WITH_FLOAT=
    2.17 +
    2.18 +    # CFLAGS
    2.19 +    case "${CT_ARCH_FLOAT_HW},${CT_ARCH_FLOAT_SW}" in
    2.20 +        y,) CT_ARCH_FLOAT_CFLAG="-mhard-float" ;;
    2.21 +        ,y) CT_ARCH_FLOAT_CFLAG="-msoft-float" ;;
    2.22 +    esac
    2.23 +
    2.24 +}