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