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