Chris Zankel | 8e1a6dd | 2005-06-23 22:01:10 -0700 | [diff] [blame] | 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 | |