diff options
Diffstat (limited to 'config/arch/powerpc')
-rw-r--r-- | config/arch/powerpc/config.in | 25 | ||||
-rw-r--r-- | config/arch/powerpc/functions | 22 |
2 files changed, 47 insertions, 0 deletions
diff --git a/config/arch/powerpc/config.in b/config/arch/powerpc/config.in new file mode 100644 index 0000000..448065a --- /dev/null +++ b/config/arch/powerpc/config.in @@ -0,0 +1,25 @@ +# powerpc specific configuration file + +config ARCH_powerpc + select ARCH_SUPPORT_ABI + select ARCH_SUPPORT_CPU + select ARCH_SUPPORT_TUNE + help + The PowerPC architecture, as defined by: + http://www.ibm.com/developerworks/eserver/articles/archguide.html + +config ARCH_POWERPC_SPE + bool + prompt "Enable SPE support" + default n + help + Add support for the Signal Processing Engine. This will set up + the toolchain so that it supports the SPE ABI extensions. This + mainly targets Freescale e500 processors. + + Setting this option will append "spe" to the end of your target + tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc + configure/build system will know to include SPE ABI support. + It will also automatically add "-mabi=spe -mspe" to your + TARGET_CFLAGS, and "--enable-e500_double" to your CC_EXTRA_CONFIG, + so you do not need to explicitly add them. diff --git a/config/arch/powerpc/functions b/config/arch/powerpc/functions new file mode 100644 index 0000000..94ad11c --- /dev/null +++ b/config/arch/powerpc/functions @@ -0,0 +1,22 @@ +# Compute powerpc-specific values + +CT_DoArchValues () { + # The architecture part of the tuple: + CT_TARGET_ARCH="${CT_ARCH}" + + # The kernel ARCH: + CT_KERNEL_ARCH=powerpc + + # Add spe in the tuplet if needed + case "${CT_LIBC},${CT_ARCH_POWERPC_SPE}" in + glibc,|eglibc,) CT_TARGET_SYS=gnu;; + glibc,y|eglibc,y) CT_TARGET_SYS=gnuspe;; + esac + + # Add extra flags for SPE if needed + if [ "${CT_ARCH_POWERPC_SPE}" = "y" ]; then + CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe" + CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double" + CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double" + fi +} |