xtensa: Add Kconfig for asm2 layer
The asm2 layer will build alongside the traditional assembly, but the reverse is not true. Add a CONFIG_XTENSA_ASM2 to force its use at runtime and disable the older code. Note that the older assembly had an initialization function that is properly part of the timer driver. Move a C equivalent into the timer driver itself for now to prevent a build breakage. Long term we need to clean that driver up in a bunch of other ways. Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This commit is contained in:
parent
6f3036091a
commit
c761ae9695
2 changed files with 23 additions and 8 deletions
|
@ -93,6 +93,18 @@ config XTENSA_OMIT_HIGH_INTERRUPTS
|
|||
code. Default is "n" for legacy compatibility. Consider
|
||||
changing to "y" in the future.
|
||||
|
||||
config XTENSA_ASM2
|
||||
bool
|
||||
prompt "New-sytle 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 xtension, however.
|
||||
|
||||
config TOOLCHAIN_VARIANT
|
||||
string
|
||||
default RG-2016.4-linux
|
||||
|
|
|
@ -2,19 +2,22 @@ zephyr_cc_option(-mlongcalls)
|
|||
zephyr_sources(
|
||||
cpu_idle.c
|
||||
fatal.c
|
||||
irq_manage.c
|
||||
swap.S
|
||||
thread.c
|
||||
xtensa_context.S
|
||||
xtensa_intr_asm.S
|
||||
xtensa_intr.c
|
||||
xtensa_vectors.S
|
||||
xt_zephyr.S
|
||||
window_vectors.S
|
||||
xtensa-asm2-util.S
|
||||
xtensa-asm2.c
|
||||
)
|
||||
|
||||
zephyr_sources_ifndef(CONFIG_XTENSA_ASM2
|
||||
xtensa_intr.c
|
||||
irq_manage.c
|
||||
swap.S
|
||||
thread.c
|
||||
xtensa_context.S
|
||||
xtensa_intr_asm.S
|
||||
xtensa_vectors.S
|
||||
xt_zephyr.S
|
||||
)
|
||||
|
||||
zephyr_sources_ifndef(CONFIG_ATOMIC_OPERATIONS_C atomic.S)
|
||||
zephyr_sources_ifdef(CONFIG_XTENSA_USE_CORE_CRT1
|
||||
crt1.S
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue