################################################################################
# Embtoolkit
# Copyright(C) 2009-2010 Abdoulaye Walsimou GAYE. All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
################################################################################
#
# \file arch-variant.kconfig
# \brief MIPS architecture kconfig options.
# \author Abdoulaye Walsimou GAYE
# \date August 2009
################################################################################
choice
prompt "MIPS architecture variant"
depends on EMBTK_ARCH_MIPS
default EMBTK_ARCH_MIPS_MIPS32_LITTLE
help
Select architecture variant.
config EMBTK_ARCH_MIPS_MIPS1_LITTLE
bool "MIPS I little endian"
select EMBTK_TARGET_ARCH_32BITS
select EMBTK_ARCH_MIPS_LITTLE_ENDIAN
config EMBTK_ARCH_MIPS_MIPS1_BIG
bool "MIPS I big endian"
select EMBTK_TARGET_ARCH_32BITS
select EMBTK_ARCH_MIPS_BIG_ENDIAN
config EMBTK_ARCH_MIPS_MIPS2_LITTLE
bool "MIPS II little endian"
select EMBTK_TARGET_ARCH_32BITS
select EMBTK_ARCH_MIPS_LITTLE_ENDIAN
config EMBTK_ARCH_MIPS_MIPS2_BIG
bool "MIPS II big endian"
select EMBTK_TARGET_ARCH_32BITS
select EMBTK_ARCH_MIPS_BIG_ENDIAN
config EMBTK_ARCH_MIPS_MIPS3_LITTLE
bool "MIPS III little endian"
select EMBTK_TARGET_ARCH_64BITS
select EMBTK_ARCH_MIPS_LITTLE_ENDIAN
config EMBTK_ARCH_MIPS_MIPS3_BIG
bool "MIPS III big endian"
select EMBTK_TARGET_ARCH_64BITS
select EMBTK_ARCH_MIPS_BIG_ENDIAN
config EMBTK_ARCH_MIPS_MIPS4_LITTLE
bool "MIPS IV little endian"
select EMBTK_TARGET_ARCH_64BITS
select EMBTK_ARCH_MIPS_LITTLE_ENDIAN
config EMBTK_ARCH_MIPS_MIPS4_BIG
bool "MIPS IV big endian"
select EMBTK_TARGET_ARCH_64BITS
select EMBTK_ARCH_MIPS_BIG_ENDIAN
config EMBTK_ARCH_MIPS_MIPS32_LITTLE
bool "MIPS32 little endian"
select EMBTK_TARGET_ARCH_32BITS
select EMBTK_ARCH_MIPS_LITTLE_ENDIAN
config EMBTK_ARCH_MIPS_MIPS32_BIG
bool "MIPS32 big endian"
select EMBTK_TARGET_ARCH_32BITS
select EMBTK_ARCH_MIPS_BIG_ENDIAN
config EMBTK_ARCH_MIPS_MIPS32R2_LITTLE
bool "MIPS32 release 2 little endian"
select EMBTK_TARGET_ARCH_32BITS
select EMBTK_ARCH_MIPS_LITTLE_ENDIAN
config EMBTK_ARCH_MIPS_MIPS32R2_BIG
bool "MIPS32 release 2 big endian"
select EMBTK_TARGET_ARCH_32BITS
select EMBTK_ARCH_MIPS_BIG_ENDIAN
config EMBTK_ARCH_MIPS_MIPS64_LITTLE
bool "MIPS64 little endian"
select EMBTK_TARGET_ARCH_64BITS
select EMBTK_ARCH_MIPS_LITTLE_ENDIAN
config EMBTK_ARCH_MIPS_MIPS64_BIG
bool "MIPS64 big endian"
select EMBTK_TARGET_ARCH_64BITS
select EMBTK_ARCH_MIPS_BIG_ENDIAN
config EMBTK_ARCH_MIPS_MIPS64R2_LITTLE
bool "MIPS64 release 2 little endian"
select EMBTK_TARGET_ARCH_64BITS
select EMBTK_ARCH_MIPS_LITTLE_ENDIAN
config EMBTK_ARCH_MIPS_MIPS64R2_BIG
bool "MIPS64 release 2 big endian"
select EMBTK_TARGET_ARCH_64BITS
select EMBTK_ARCH_MIPS_BIG_ENDIAN
endchoice
choice
prompt "ABI"
depends on EMBTK_ARCH_MIPS
default EMBTK_ARCH_MIPS_ABI_O32
help
Here you can select which abi you want to use.
config EMBTK_ARCH_MIPS_ABI_O32
bool "o32"
select EMBTK_32BITS_FS
config EMBTK_ARCH_MIPS_ABI_N32
bool "n32" if !EMBTK_TARGET_ARCH_32BITS
select EMBTK_64BITS_FS_COMPAT32
# config EMBTK_ARCH_MIPS_ABI_EABI
# bool "eabi (BROKEN)" if !EMBTK_TARGET_ARCH_32BITS
# config EMBTK_ARCH_MIPS_ABI_O64
# bool "o64 (BROKEN)" if !EMBTK_TARGET_ARCH_32BITS
config EMBTK_ARCH_MIPS_ABI_N64
bool "n64" if !EMBTK_TARGET_ARCH_32BITS
select EMBTK_64BITS_FS
endchoice
config EMBTK_ARCH_MIPS_BIG_ENDIAN
bool
select EMBTK_TARGET_ARCH_BIG_ENDIAN
config EMBTK_ARCH_MIPS_LITTLE_ENDIAN
bool
select EMBTK_TARGET_ARCH_LITTLE_ENDIAN