mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
![Linus Torvalds](/assets/img/avatar_default.png)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJS4dWNAAoJEI9vqH3mFV2sargP/RCdVvdJm3TxYcNYoKAw6kTs wn1AWQ1vnu77YIoG2YamWytakahvB5v4Elm5UbHc49eCIFb/+wJpvxLNKbAtY0EP bRllFETalWnPnZO0R0tTvEikpDfzM7/OGYCjuOmTeyata6/KOxVsusTjvar28NPA gVp9BwHKZyk5NORkvW3RBRbfga9slUXqbg4rPhD3gFxLpe8aGuO6T6HazBfRadQM pI0zq2VE59LSEyuZrreHiq5EYvmp+eBFR8bJhQp1lnpKc4lMJm5JKYPY+jlPPtu0 bPYLexjb42Gz2KbDtqLqTnd6GEPj50RS15tr9BTX9n3uCd0sIBO46K5FXVy+ALxr DXbyU6R1miZ01Il0A2IuC2j1cVdXb7nSytP35lLRQ9WCXua4HwQO0LL9KPAf9N0X WKlNPEkOr9XR9lO/1JcYVZgsygF/hHGgImf5AEfTVdtWpAj3bhMBhqFuKo0/h6vr 7PwQCTaiL2Hks+d8YS2VyrQy3DMg48MbYmfdriJQFKKzhdyHEhvlnawP5uoIVfAC s43cvj6EsbUdRULf5qKDupQFJpM15qpmYiLizHFIfUTiTQGI0WMaA76rZMqZ2AsQ z0q2edzUV8nBQFdR74eKKPF1QJyXihiaXzug+SZqPdvXKfjPrF+5eZ7/EvuaEBZy qS7PIt5nkTeZ4stP/SWV =JT1d -----END PGP SIGNATURE----- Merge tag 'xtensa-next-20140123' of git://github.com/czankel/xtensa-linux Pull Xtensa patches from Chris Zankel: "The major changes are adding support for SMP for Xtensa, fixing and cleaning up the ISS (simulator) network driver, and better support for device trees" * tag 'xtensa-next-20140123' of git://github.com/czankel/xtensa-linux: (40 commits) xtensa: implement ndelay xtensa: clean up udelay xtensa: enable HAVE_PERF_EVENTS xtensa: remap io area defined in device tree xtensa: support default device tree buses xtensa: initialize device tree clock sources xtensa: xtfpga: fix definitions of platform devices xtensa: standardize devicetree cpu compatible strings xtensa: avoid duplicate of IO range definitions xtensa: fix ATOMCTL register documentation xtensa: Enable irqs after cpu is set online xtensa: ISS: raise network polling rate to 10 times/sec xtensa: remove unused XTENSA_ISS_NETWORK Kconfig parameter xtensa: ISS: avoid simple_strtoul usage xtensa: Switch to sched_clock_register() xtensa: implement CPU hotplug xtensa: add SMP support xtensa: add MX irqchip xtensa: clear timer IRQ unconditionally in its handler xtensa: clean up do_interrupt/do_IRQ ...
356 lines
9.1 KiB
Text
356 lines
9.1 KiB
Text
config ZONE_DMA
|
|
def_bool y
|
|
|
|
config XTENSA
|
|
def_bool y
|
|
select ARCH_WANT_FRAME_POINTERS
|
|
select HAVE_IDE
|
|
select GENERIC_ATOMIC64
|
|
select GENERIC_CLOCKEVENTS
|
|
select VIRT_TO_BUS
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_SCHED_CLOCK
|
|
select MODULES_USE_ELF_RELA
|
|
select GENERIC_PCI_IOMAP
|
|
select ARCH_WANT_IPC_PARSE_VERSION
|
|
select ARCH_WANT_OPTIONAL_GPIOLIB
|
|
select CLONE_BACKWARDS
|
|
select IRQ_DOMAIN
|
|
select HAVE_OPROFILE
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_IRQ_TIME_ACCOUNTING
|
|
select HAVE_PERF_EVENTS
|
|
help
|
|
Xtensa processors are 32-bit RISC machines designed by Tensilica
|
|
primarily for embedded systems. These processors are both
|
|
configurable and extensible. The Linux port to the Xtensa
|
|
architecture supports all processor configurations and extensions,
|
|
with reasonable minimum requirements. The Xtensa Linux project has
|
|
a home page at <http://www.linux-xtensa.org/>.
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
def_bool y
|
|
|
|
config GENERIC_HWEIGHT
|
|
def_bool y
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
def_bool n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
def_bool n
|
|
|
|
config NO_IOPORT
|
|
def_bool n
|
|
|
|
config HZ
|
|
int
|
|
default 100
|
|
|
|
source "init/Kconfig"
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
config LOCKDEP_SUPPORT
|
|
def_bool y
|
|
|
|
config STACKTRACE_SUPPORT
|
|
def_bool y
|
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
def_bool y
|
|
|
|
config MMU
|
|
def_bool n
|
|
|
|
config VARIANT_IRQ_SWITCH
|
|
def_bool n
|
|
|
|
config HAVE_XTENSA_GPIO32
|
|
def_bool n
|
|
|
|
config MAY_HAVE_SMP
|
|
def_bool n
|
|
|
|
menu "Processor type and features"
|
|
|
|
choice
|
|
prompt "Xtensa Processor Configuration"
|
|
default XTENSA_VARIANT_FSF
|
|
|
|
config XTENSA_VARIANT_FSF
|
|
bool "fsf - default (not generic) configuration"
|
|
select MMU
|
|
select HAVE_XTENSA_GPIO32
|
|
|
|
config XTENSA_VARIANT_DC232B
|
|
bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
|
|
select MMU
|
|
select HAVE_XTENSA_GPIO32
|
|
help
|
|
This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
|
|
|
|
config XTENSA_VARIANT_DC233C
|
|
bool "dc233c - Diamond 233L Standard Core Rev.C (LE)"
|
|
select MMU
|
|
select HAVE_XTENSA_GPIO32
|
|
help
|
|
This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE).
|
|
|
|
config XTENSA_VARIANT_S6000
|
|
bool "s6000 - Stretch software configurable processor"
|
|
select VARIANT_IRQ_SWITCH
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select XTENSA_CALIBRATE_CCOUNT
|
|
endchoice
|
|
|
|
config XTENSA_UNALIGNED_USER
|
|
bool "Unaligned memory access in use space"
|
|
help
|
|
The Xtensa architecture currently does not handle unaligned
|
|
memory accesses in hardware but through an exception handler.
|
|
Per default, unaligned memory accesses are disabled in user space.
|
|
|
|
Say Y here to enable unaligned memory access in user space.
|
|
|
|
source "kernel/Kconfig.preempt"
|
|
|
|
config HAVE_SMP
|
|
bool "System Supports SMP (MX)"
|
|
depends on MAY_HAVE_SMP
|
|
select XTENSA_MX
|
|
help
|
|
This option is use to indicate that the system-on-a-chip (SOC)
|
|
supports Multiprocessing. Multiprocessor support implemented above
|
|
the CPU core definition and currently needs to be selected manually.
|
|
|
|
Multiprocessor support in implemented with external cache and
|
|
interrupt controlers.
|
|
|
|
The MX interrupt distributer adds Interprocessor Interrupts
|
|
and causes the IRQ numbers to be increased by 4 for devices
|
|
like the open cores ethernet driver and the serial interface.
|
|
|
|
You still have to select "Enable SMP" to enable SMP on this SOC.
|
|
|
|
config SMP
|
|
bool "Enable Symmetric multi-processing support"
|
|
depends on HAVE_SMP
|
|
select USE_GENERIC_SMP_HELPERS
|
|
select GENERIC_SMP_IDLE_THREAD
|
|
help
|
|
Enabled SMP Software; allows more than one CPU/CORE
|
|
to be activated during startup.
|
|
|
|
config NR_CPUS
|
|
depends on SMP
|
|
int "Maximum number of CPUs (2-32)"
|
|
range 2 32
|
|
default "4"
|
|
|
|
config HOTPLUG_CPU
|
|
bool "Enable CPU hotplug support"
|
|
depends on SMP
|
|
help
|
|
Say Y here to allow turning CPUs off and on. CPUs can be
|
|
controlled through /sys/devices/system/cpu.
|
|
|
|
Say N if you want to disable CPU hotplug.
|
|
|
|
config MATH_EMULATION
|
|
bool "Math emulation"
|
|
help
|
|
Can we use information of configuration file?
|
|
|
|
config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
|
|
bool "Initialize Xtensa MMU inside the Linux kernel code"
|
|
default y
|
|
help
|
|
Earlier version initialized the MMU in the exception vector
|
|
before jumping to _startup in head.S and had an advantage that
|
|
it was possible to place a software breakpoint at 'reset' and
|
|
then enter your normal kernel breakpoints once the MMU was mapped
|
|
to the kernel mappings (0XC0000000).
|
|
|
|
This unfortunately doesn't work for U-Boot and likley also wont
|
|
work for using KEXEC to have a hot kernel ready for doing a
|
|
KDUMP.
|
|
|
|
So now the MMU is initialized in head.S but it's necessary to
|
|
use hardware breakpoints (gdb 'hbreak' cmd) to break at _startup.
|
|
xt-gdb can't place a Software Breakpoint in the 0XD region prior
|
|
to mapping the MMU and after mapping even if the area of low memory
|
|
was mapped gdb wouldn't remove the breakpoint on hitting it as the
|
|
PC wouldn't match. Since Hardware Breakpoints are recommended for
|
|
Linux configurations it seems reasonable to just assume they exist
|
|
and leave this older mechanism for unfortunate souls that choose
|
|
not to follow Tensilica's recommendation.
|
|
|
|
Selecting this will cause U-Boot to set the KERNEL Load and Entry
|
|
address at 0x00003000 instead of the mapped std of 0xD0003000.
|
|
|
|
If in doubt, say Y.
|
|
|
|
endmenu
|
|
|
|
config XTENSA_CALIBRATE_CCOUNT
|
|
def_bool n
|
|
help
|
|
On some platforms (XT2000, for example), the CPU clock rate can
|
|
vary. The frequency can be determined, however, by measuring
|
|
against a well known, fixed frequency, such as an UART oscillator.
|
|
|
|
config SERIAL_CONSOLE
|
|
def_bool n
|
|
|
|
menu "Bus options"
|
|
|
|
config PCI
|
|
bool "PCI support"
|
|
default y
|
|
help
|
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
|
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
|
|
VESA. If you have PCI, say Y, otherwise N.
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Platform options"
|
|
|
|
choice
|
|
prompt "Xtensa System Type"
|
|
default XTENSA_PLATFORM_ISS
|
|
|
|
config XTENSA_PLATFORM_ISS
|
|
bool "ISS"
|
|
depends on TTY
|
|
select XTENSA_CALIBRATE_CCOUNT
|
|
select SERIAL_CONSOLE
|
|
help
|
|
ISS is an acronym for Tensilica's Instruction Set Simulator.
|
|
|
|
config XTENSA_PLATFORM_XT2000
|
|
bool "XT2000"
|
|
help
|
|
XT2000 is the name of Tensilica's feature-rich emulation platform.
|
|
This hardware is capable of running a full Linux distribution.
|
|
|
|
config XTENSA_PLATFORM_S6105
|
|
bool "S6105"
|
|
select SERIAL_CONSOLE
|
|
select NO_IOPORT
|
|
|
|
config XTENSA_PLATFORM_XTFPGA
|
|
bool "XTFPGA"
|
|
select SERIAL_CONSOLE
|
|
select ETHOC
|
|
select XTENSA_CALIBRATE_CCOUNT
|
|
help
|
|
XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605).
|
|
This hardware is capable of running a full Linux distribution.
|
|
|
|
endchoice
|
|
|
|
|
|
config XTENSA_CPU_CLOCK
|
|
int "CPU clock rate [MHz]"
|
|
depends on !XTENSA_CALIBRATE_CCOUNT
|
|
default 16
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool "Auto calibration of the BogoMIPS value"
|
|
help
|
|
The BogoMIPS value can easily be derived from the CPU frequency.
|
|
|
|
config CMDLINE_BOOL
|
|
bool "Default bootloader kernel arguments"
|
|
|
|
config CMDLINE
|
|
string "Initial kernel command string"
|
|
depends on CMDLINE_BOOL
|
|
default "console=ttyS0,38400 root=/dev/ram"
|
|
help
|
|
On some architectures (EBSA110 and CATS), there is currently no way
|
|
for the boot loader to pass arguments to the kernel. For these
|
|
architectures, you should supply some command-line options at build
|
|
time by entering them here. As a minimum, you should specify the
|
|
memory size and the root device (e.g., mem=64M root=/dev/nfs).
|
|
|
|
config USE_OF
|
|
bool "Flattened Device Tree support"
|
|
select OF
|
|
select OF_EARLY_FLATTREE
|
|
help
|
|
Include support for flattened device tree machine descriptions.
|
|
|
|
config BUILTIN_DTB
|
|
string "DTB to build into the kernel image"
|
|
depends on OF
|
|
|
|
config BLK_DEV_SIMDISK
|
|
tristate "Host file-based simulated block device support"
|
|
default n
|
|
depends on XTENSA_PLATFORM_ISS
|
|
help
|
|
Create block devices that map to files in the host file system.
|
|
Device binding to host file may be changed at runtime via proc
|
|
interface provided the device is not in use.
|
|
|
|
config BLK_DEV_SIMDISK_COUNT
|
|
int "Number of host file-based simulated block devices"
|
|
range 1 10
|
|
depends on BLK_DEV_SIMDISK
|
|
default 2
|
|
help
|
|
This is the default minimal number of created block devices.
|
|
Kernel/module parameter 'simdisk_count' may be used to change this
|
|
value at runtime. More file names (but no more than 10) may be
|
|
specified as parameters, simdisk_count grows accordingly.
|
|
|
|
config SIMDISK0_FILENAME
|
|
string "Host filename for the first simulated device"
|
|
depends on BLK_DEV_SIMDISK = y
|
|
default ""
|
|
help
|
|
Attach a first simdisk to a host file. Conventionally, this file
|
|
contains a root file system.
|
|
|
|
config SIMDISK1_FILENAME
|
|
string "Host filename for the second simulated device"
|
|
depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1
|
|
default ""
|
|
help
|
|
Another simulated disk in a host file for a buildroot-independent
|
|
storage.
|
|
|
|
source "mm/Kconfig"
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
source "drivers/pci/hotplug/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/xtensa/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|
|
|
|
|