diff options
author | Chris Zankel <czankel@tensilica.com> | 2005-06-24 01:01:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-24 03:05:21 -0400 |
commit | 8e1a6dd2fddcc73c9e933758361e3d9c076c688a (patch) | |
tree | 30d6c0cdc7f21d1357917517351a1c259f3eba4b /arch/xtensa/Kconfig | |
parent | 48b415ca13bac91f83db3b9d362fd5ae0ce275cb (diff) |
[PATCH] xtensa: Architecture support for Tensilica Xtensa Part 1
The attached patches provides part 1 of an architecture implementation for the
Tensilica Xtensa CPU series.
Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/xtensa/Kconfig')
-rw-r--r-- | arch/xtensa/Kconfig | 258 |
1 files changed, 258 insertions, 0 deletions
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig new file mode 100644 index 000000000000..3e89767cea72 --- /dev/null +++ b/arch/xtensa/Kconfig | |||
@@ -0,0 +1,258 @@ | |||
1 | # For a description of the syntax of this configuration file, | ||
2 | # see Documentation/kbuild/config-language.txt. | ||
3 | |||
4 | mainmenu "Linux/Xtensa Kernel Configuration" | ||
5 | |||
6 | config FRAME_POINTER | ||
7 | bool | ||
8 | default n | ||
9 | |||
10 | config XTENSA | ||
11 | bool | ||
12 | default y | ||
13 | help | ||
14 | Xtensa processors are 32-bit RISC machines designed by Tensilica | ||
15 | primarily for embedded systems. These processors are both | ||
16 | configurable and extensible. The Linux port to the Xtensa | ||
17 | architecture supports all processor configurations and extensions, | ||
18 | with reasonable minimum requirements. The Xtensa Linux project has | ||
19 | a home page at <http://xtensa.sourceforge.net/>. | ||
20 | |||
21 | config UID16 | ||
22 | bool | ||
23 | default n | ||
24 | |||
25 | config RWSEM_XCHGADD_ALGORITHM | ||
26 | bool | ||
27 | default y | ||
28 | |||
29 | config HAVE_DEC_LOCK | ||
30 | bool | ||
31 | default y | ||
32 | |||
33 | config GENERIC_HARDIRQS | ||
34 | bool | ||
35 | default y | ||
36 | |||
37 | source "init/Kconfig" | ||
38 | |||
39 | menu "Processor type and features" | ||
40 | |||
41 | choice | ||
42 | prompt "Xtensa Processor Configuration" | ||
43 | default XTENSA_CPU_LINUX_BE | ||
44 | |||
45 | config XTENSA_CPU_LINUX_BE | ||
46 | bool "linux_be" | ||
47 | ---help--- | ||
48 | The linux_be processor configuration is the baseline Xtensa | ||
49 | configurations included in this kernel and also used by | ||
50 | binutils, gcc, and gdb. It contains no TIE, no coprocessors, | ||
51 | and the following configuration options: | ||
52 | |||
53 | Code Density Option 2 Misc Special Registers | ||
54 | NSA/NSAU Instructions 128-bit Data Bus Width | ||
55 | Processor ID 8K, 2-way I and D Caches | ||
56 | Zero-Overhead Loops 2 Inst Address Break Registers | ||
57 | Big Endian 2 Data Address Break Registers | ||
58 | 64 General-Purpose Registers JTAG Interface and Trace Port | ||
59 | 17 Interrupts MMU w/ TLBs and Autorefill | ||
60 | 3 Interrupt Levels 8 Autorefill Ways (I/D TLBs) | ||
61 | 3 Timers Unaligned Exceptions | ||
62 | endchoice | ||
63 | |||
64 | config MMU | ||
65 | bool | ||
66 | default y | ||
67 | |||
68 | config XTENSA_UNALIGNED_USER | ||
69 | bool "Unaligned memory access in use space" | ||
70 | ---help--- | ||
71 | The Xtensa architecture currently does not handle unaligned | ||
72 | memory accesses in hardware but through an exception handler. | ||
73 | Per default, unaligned memory accesses are disabled in user space. | ||
74 | |||
75 | Say Y here to enable unaligned memory access in user space. | ||
76 | |||
77 | config PREEMPT | ||
78 | bool "Preemptible Kernel" | ||
79 | ---help--- | ||
80 | This option reduces the latency of the kernel when reacting to | ||
81 | real-time or interactive events by allowing a low priority process to | ||
82 | be preempted even if it is in kernel mode executing a system call. | ||
83 | Unfortunately the kernel code has some race conditions if both | ||
84 | CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is | ||
85 | currently disabled if you are building an SMP kernel. | ||
86 | |||
87 | Say Y here if you are building a kernel for a desktop, embedded | ||
88 | or real-time system. Say N if you are unsure. | ||
89 | |||
90 | config MATH_EMULATION | ||
91 | bool "Math emulation" | ||
92 | help | ||
93 | Can we use information of configuration file? | ||
94 | |||
95 | config HIGHMEM | ||
96 | bool "High memory support" | ||
97 | |||
98 | endmenu | ||
99 | |||
100 | menu "Platform options" | ||
101 | |||
102 | choice | ||
103 | prompt "Xtensa System Type" | ||
104 | default XTENSA_PLATFORM_ISS | ||
105 | |||
106 | config XTENSA_PLATFORM_ISS | ||
107 | bool "ISS" | ||
108 | help | ||
109 | ISS is an acronym for Tensilica's Instruction Set Simulator. | ||
110 | |||
111 | config XTENSA_PLATFORM_XT2000 | ||
112 | bool "XT2000" | ||
113 | help | ||
114 | XT2000 is the name of Tensilica's feature-rich emulation platform. | ||
115 | This hardware is capable of running a full Linux distribution. | ||
116 | |||
117 | endchoice | ||
118 | |||
119 | |||
120 | config XTENSA_CALIBRATE_CCOUNT | ||
121 | bool "Auto calibration of the CPU clock rate" | ||
122 | ---help--- | ||
123 | On some platforms (XT2000, for example), the CPU clock rate can | ||
124 | vary. The frequency can be determined, however, by measuring | ||
125 | against a well known, fixed frequency, such as an UART oscillator. | ||
126 | |||
127 | config XTENSA_CPU_CLOCK | ||
128 | int "CPU clock rate [MHz]" | ||
129 | depends on !XTENSA_CALIBRATE_CCOUNT | ||
130 | default "16" | ||
131 | |||
132 | config GENERIC_CALIBRATE_DELAY | ||
133 | bool "Auto calibration of the BogoMIPS value" | ||
134 | ---help--- | ||
135 | The BogoMIPS value can easily derived from the CPU frequency. | ||
136 | |||
137 | config CMDLINE_BOOL | ||
138 | bool "Default bootloader kernel arguments" | ||
139 | |||
140 | config CMDLINE | ||
141 | string "Initial kernel command string" | ||
142 | depends on CMDLINE_BOOL | ||
143 | default "console=ttyS0,38400 root=/dev/ram" | ||
144 | help | ||
145 | On some architectures (EBSA110 and CATS), there is currently no way | ||
146 | for the boot loader to pass arguments to the kernel. For these | ||
147 | architectures, you should supply some command-line options at build | ||
148 | time by entering them here. As a minimum, you should specify the | ||
149 | memory size and the root device (e.g., mem=64M root=/dev/nfs). | ||
150 | |||
151 | config SERIAL_CONSOLE | ||
152 | bool | ||
153 | depends on XTENSA_PLATFORM_ISS | ||
154 | default y | ||
155 | |||
156 | config XTENSA_ISS_NETWORK | ||
157 | bool | ||
158 | depends on XTENSA_PLATFORM_ISS | ||
159 | default y | ||
160 | |||
161 | endmenu | ||
162 | |||
163 | menu "Bus options" | ||
164 | |||
165 | config PCI | ||
166 | bool "PCI support" if !XTENSA_PLATFORM_ISS | ||
167 | depends on !XTENSA_PLATFORM_ISS | ||
168 | default y | ||
169 | help | ||
170 | Find out whether you have a PCI motherboard. PCI is the name of a | ||
171 | bus system, i.e. the way the CPU talks to the other stuff inside | ||
172 | your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | ||
173 | VESA. If you have PCI, say Y, otherwise N. | ||
174 | |||
175 | The PCI-HOWTO, available from | ||
176 | <http://www.linuxdoc.org/docs.html#howto>, contains valuable | ||
177 | information about which PCI hardware does work under Linux and which | ||
178 | doesn't | ||
179 | |||
180 | source "drivers/pci/Kconfig" | ||
181 | |||
182 | config HOTPLUG | ||
183 | |||
184 | bool "Support for hot-pluggable devices" | ||
185 | ---help--- | ||
186 | Say Y here if you want to plug devices into your computer while | ||
187 | the system is running, and be able to use them quickly. In many | ||
188 | cases, the devices can likewise be unplugged at any time too. | ||
189 | |||
190 | One well known example of this is PCMCIA- or PC-cards, credit-card | ||
191 | size devices such as network cards, modems or hard drives which are | ||
192 | plugged into slots found on all modern laptop computers. Another | ||
193 | example, used on modern desktops as well as laptops, is USB. | ||
194 | |||
195 | Enable HOTPLUG and KMOD, and build a modular kernel. Get agent | ||
196 | software (at <http://linux-hotplug.sourceforge.net/>) and install it. | ||
197 | Then your kernel will automatically call out to a user mode "policy | ||
198 | agent" (/sbin/hotplug) to load modules and set up software needed | ||
199 | to use devices as you hotplug them. | ||
200 | |||
201 | source "drivers/pcmcia/Kconfig" | ||
202 | |||
203 | source "drivers/pci/hotplug/Kconfig" | ||
204 | |||
205 | endmenu | ||
206 | |||
207 | menu "Exectuable file formats" | ||
208 | |||
209 | # only elf supported | ||
210 | config KCORE_ELF | ||
211 | bool | ||
212 | depends on PROC_FS | ||
213 | default y | ||
214 | help | ||
215 | If you enabled support for /proc file system then the file | ||
216 | /proc/kcore will contain the kernel core image in ELF format. This | ||
217 | can be used in gdb: | ||
218 | |||
219 | $ cd /usr/src/linux ; gdb vmlinux /proc/kcore | ||
220 | |||
221 | This is especially useful if you have compiled the kernel with the | ||
222 | "-g" option to preserve debugging information. It is mainly used | ||
223 | for examining kernel data structures on the live kernel. | ||
224 | |||
225 | source "fs/Kconfig.binfmt" | ||
226 | |||
227 | endmenu | ||
228 | |||
229 | source "drivers/Kconfig" | ||
230 | |||
231 | source "fs/Kconfig" | ||
232 | |||
233 | menu "Xtensa initrd options" | ||
234 | depends on BLK_DEV_INITRD | ||
235 | |||
236 | config EMBEDDED_RAMDISK | ||
237 | bool "Embed root filesystem ramdisk into the kernel" | ||
238 | |||
239 | config EMBEDDED_RAMDISK_IMAGE | ||
240 | string "Filename of gziped ramdisk image" | ||
241 | depends on EMBEDDED_RAMDISK | ||
242 | default "ramdisk.gz" | ||
243 | help | ||
244 | This is the filename of the ramdisk image to be built into the | ||
245 | kernel. Relative pathnames are relative to arch/xtensa/boot/ramdisk/. | ||
246 | The ramdisk image is not part of the kernel distribution; you must | ||
247 | provide one yourself. | ||
248 | endmenu | ||
249 | |||
250 | source "arch/xtensa/Kconfig.debug" | ||
251 | |||
252 | source "security/Kconfig" | ||
253 | |||
254 | source "crypto/Kconfig" | ||
255 | |||
256 | source "lib/Kconfig" | ||
257 | |||
258 | |||