![Linus Torvalds](/assets/img/avatar_default.png)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJRi1p8AAoJEI9vqH3mFV2scb0QAJbq32y6YFWz2VGfxf5RQIWC QueuQ4vyDKzuGbQQQ1EvJ6WckLnp9Yu4rlVXBiYMFymWvLEM+8BPLK5ywbsMLaLm lDpWs2cUi6hRuEa2dYwsp260mlwAz+DvvUi+TnFN4PIarIAI+CaFevhlWtbayvg/ TZh9vthBA2qdK8N97WbKgE4eBJgAOLdMybQPtibd9yNiYAD8r2xRqNRoy4dklliV Grm1G3BkDFRl+espfbNBAWd+dpxTe8Sw0N9uRf2I1G6pgx0u9i5oOEo78Ur078nc E6yauJlQJiogHrsEKCfX5WLWlLEgvsZx4Az4If2i///PSai4/wEDqTUZ2L390/r/ 0ui6YKr1JSVlZLYs4X893Mu+tJYJd8+fiCWXBJY5GqWg9FHzE6RHUBifkHD2DoUm UWjGCWtsMrcAy25rPqrVrIOlRdONVuxzp3xW7T9PkZ87r8v/RRJa4VWyWKerNPif Qbi/sUXD76mAOY4BisHWeOLpa9us2SOiJLqkDNB22/sH5Qdfh/pso9/BAQom+ESD Rfl4rgw99rzVoKiGSf3HbhRPJzghxkCwytpoh2GwvzNp+vZWqWw7AAo5uVbQP0zb Fg0ZtHSotCz76dp4vZn042yflPevvPc3N3O2ayC529ZB4eh+3kWfCpzHYWaEmD8e HV2+rc0QcUAuidJeLP7P =tGki -----END PGP SIGNATURE----- Merge tag 'xtensa-next-20130508' of git://github.com/czankel/xtensa-linux Pull xtensa updates from Chris Zankel: "Support for the latest MMU architecture that allows for a larger accessible memory region, and various bug-fixes" * tag 'xtensa-next-20130508' of git://github.com/czankel/xtensa-linux: xtensa: Switch to asm-generic/linkage.h xtensa: fix redboot load address xtensa: ISS: fix timer_lock usage in rs_open xtensa: disable IRQs while IRQ handler is running xtensa: enable lockdep support xtensa: fix arch_irqs_disabled_flags implementation xtensa: add irq flags trace support xtensa: provide custom CALLER_ADDR* implementations xtensa: add stacktrace support xtensa: clean up stpill_registers xtensa: don't use a7 in simcalls xtensa: don't attempt to use unconfigured timers xtensa: provide default platform_pcibios_init implementation xtensa: remove KCORE_ELF again xtensa: document MMUv3 setup sequence xtensa: add MMU v3 support xtensa: fix ibreakenable register update xtensa: fix oprofile building as module
307 lines
7.7 KiB
Plaintext
307 lines
7.7 KiB
Plaintext
config ZONE_DMA
|
|
def_bool y
|
|
|
|
config XTENSA
|
|
def_bool y
|
|
select ARCH_WANT_FRAME_POINTERS
|
|
select HAVE_IDE
|
|
select GENERIC_ATOMIC64
|
|
select HAVE_GENERIC_HARDIRQS
|
|
select VIRT_TO_BUS
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_CPU_DEVICES
|
|
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
|
|
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
|
|
|
|
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
|
|
|
|
config XTENSA_VARIANT_DC232B
|
|
bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
|
|
select MMU
|
|
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
|
|
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 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
|
|
|
|
config XTENSA_ISS_NETWORK
|
|
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
|
|
select XTENSA_ISS_NETWORK
|
|
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"
|
|
|
|
|