blob: c87763afd8ca9e1448e00d52a9949df3e3ae606e [file] [log] [blame]
# Kconfig - XTENSA architecture configuration options
#
# Copyright (c) 2016 Cadence Design Systems, Inc.
# SPDX-License-Identifier: Apache-2.0
choice
prompt "XTENSA core Selection"
depends on XTENSA
gsource "arch/xtensa/soc/*/Kconfig.soc"
endchoice
menu "XTENSA Options"
depends on XTENSA
config ARCH
default "xtensa"
config SIMULATOR_XTENSA
bool
prompt "Simulator Configuration"
default n
help
Specify if the board configuration should be treated as a simulator.
config SYS_CLOCK_HW_CYCLES_PER_SEC
int
prompt "Hardware clock cycles per second, 2000000 for ISS"
default 2000000
range 1000000 1000000000
help
This option specifies hardware clock.
config XTENSA_NO_IPC
bool "Core has no IPC support"
select ATOMIC_OPERATIONS_C
default n
help
Uncheck this if you core does not implement "SCOMPARE1" register and "s32c1i"
instruction.
config SW_ISR_TABLE
bool
prompt "Enable software interrupt handler table"
default y
help
Enable an interrupt handler table implemented in software. This
table, unlike ISRs connected directly in the vector table, allow
a parameter to be passed to the interrupt handlers. Also, invoking
the exception/interrupt exit stub is automatically done.
config XTENSA_RESET_VECTOR
bool
prompt "Build reset vector code"
default y
help
This option controls whether the initial reset vector code is built.
This is always needed for the simulator. Real boards may already
implement this in boot ROM.
config XTENSA_USE_CORE_CRT1
bool
prompt "Use crt1.S from core"
default y
help
SoC or boards might define their own __start by setting this setting
to false.
menu "Specific core configuration"
config IRQ_OFFLOAD_INTNUM
int
prompt "IRQ offload SW interrupt index"
help
The index of the software interrupt to be used for IRQ offload.
Please note that in order for IRQ offload to work correctly the selected
interrupt shall have its priority shall not exceed XCHAL_EXCM_LEVEL.
config XTENSA_OMIT_HIGH_INTERRUPTS
bool
prompt "Skip generation of vectors for high priority interrupts"
default n
help
Setting this to y causes the interrupt vectors for "high
priority" Xtensa interrupts (those not masked by the EXCM bit
in PS) to be left ungenerated, so they can be handled by
application code instead. Note that high priority interrupts
cannot safely be handled by C code anyway (they will interrupt
register window exceptions, which cannot be made reentrant, so
the code under the handler must not emit them), though some
devices might still want to use built-in handling for things
like watchdogs which do not need to return into interrupted
code. Default is "n" for legacy compatibility. Consider
changing to "y" in the future.
config XTENSA_ASM2
bool
prompt "New-style Xtensa context switch & interrupt layer"
default n
select USE_SWITCH
help
This selects a new implementation of context switching and
interrupt handling. Advantages are a much lower interrupt
overhead and smaller code size, and this scheme is required
for SMP. Assumes/requires hardware that implements the
register window extension, however.
config TOOLCHAIN_VARIANT
string
default RG-2016.4-linux
gsource "arch/xtensa/soc/*/Kconfig"
endmenu
endmenu