summaryrefslogtreecommitdiff
path: root/kconfig/arch-variant.kconfig
blob: 3193134bfac93c762f75dc6e5021e358fae93b8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#########################################################################################
# GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
# Copyright(C) 2009 GAYE Abdoulaye Walsimou. All rights reserved.
#
# This program is free software; you can distribute it and/or modify it
# under the terms of the GNU General Public License
# (Version 2 or later) published by the Free Software Foundation.
#
# This program is distributed in the hope 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, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
#########################################################################################
#
# \file         arch-variant.kconfig
# \brief	arch-variant.kconfig of EmbToolkit, here we give users the ability to
# \brief	choose which variant of CPU to use.
# \author       GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
# \date         May 2009
#########################################################################################

################################## MIPS ARCH ############################################
choice
	prompt "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"
	config EMBTK_ARCH_MIPS_MIPS1_BIG
		bool "MIPS I big endian"
	config EMBTK_ARCH_MIPS_MIPS2_LITTLE
		bool "MIPS II little endian"
	config EMBTK_ARCH_MIPS_MIPS2_BIG
		bool "MIPS II big endian"
	config EMBTK_ARCH_MIPS_MIPS3_LITTLE
		bool "MIPS III little endian"
	config EMBTK_ARCH_MIPS_MIPS3_BIG
		bool "MIPS III big endian"
	config EMBTK_ARCH_MIPS_MIPS4_LITTLE
		bool "MIPS IV little endian"
	config EMBTK_ARCH_MIPS_MIPS4_BIG
		bool "MIPS IV big endian"
	config EMBTK_ARCH_MIPS_MIPS32_LITTLE
		bool "MIPS32 little endian"
	config EMBTK_ARCH_MIPS_MIPS32_BIG
		bool "MIPS32 big endian"
	config EMBTK_ARCH_MIPS_MIPS32R2_LITTLE
		bool "MIPS32 release 2 little endian"
	config EMBTK_ARCH_MIPS_MIPS32R2_BIG
		bool "MIPS32 release 2 big endian"

	config EMBTK_ARCH_MIPS_MIPS64_LITTLE
		bool "MIPS64 little endian"
	config EMBTK_ARCH_MIPS_MIPS64_BIG
		bool "MIPS64 big endian"
	config EMBTK_ARCH_MIPS_MIPS64R2_LITTLE
		bool "MIPS64 release 2 little endian"
	config EMBTK_ARCH_MIPS_MIPS64R2_BIG
		bool "MIPS64 release 2 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"
	config EMBTK_ARCH_MIPS_ABI_N32
		bool "n32 (BROKEN)" if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG \
		|| EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG || \
		EMBTK_ARCH_MIPS_MIPS64_LITTLE || EMBTK_ARCH_MIPS_MIPS64_BIG || \
		EMBTK_ARCH_MIPS_MIPS64R2_LITTLE || EMBTK_ARCH_MIPS_MIPS64R2_BIG

	config EMBTK_ARCH_MIPS_ABI_EABI
		bool "eabi (BROKEN)" if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG \
		|| EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG || \
		EMBTK_ARCH_MIPS_MIPS64_LITTLE || EMBTK_ARCH_MIPS_MIPS64_BIG || \
		EMBTK_ARCH_MIPS_MIPS64R2_LITTLE || EMBTK_ARCH_MIPS_MIPS64R2_BIG

	config EMBTK_ARCH_MIPS_ABI_O64
		bool "o64 (BROKEN)" if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG \
		|| EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG || \
		EMBTK_ARCH_MIPS_MIPS64_LITTLE || EMBTK_ARCH_MIPS_MIPS64_BIG || \
		EMBTK_ARCH_MIPS_MIPS64R2_LITTLE || EMBTK_ARCH_MIPS_MIPS64R2_BIG

	config EMBTK_ARCH_MIPS_ABI_N64
		bool "n64 (BROKEN)" if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG \
		|| EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG || \
		EMBTK_ARCH_MIPS_MIPS64_LITTLE || EMBTK_ARCH_MIPS_MIPS64_BIG || \
		EMBTK_ARCH_MIPS_MIPS64R2_LITTLE || EMBTK_ARCH_MIPS_MIPS64R2_BIG
endchoice

################################## End MIPS ARCH ########################################

config EMBTK_TOOLCHAIN_MULTILIB
	default n
	bool "Build multilib toolchain"
	help
		You can say yes here, to specify that multiple target libraries to support
		different target variants, calling conventions, etc. should be built.
		It is safe to say no here.

config EMBTK_SOFTFLOAT
	default y
	bool "Soft floating point"
	help
		Select if your CPU has a hardware floating point unit.
		If you say no here, your toolchain will be built without
		software floating point.