[XTENSA] Add support for configurable registers and coprocessors
authorChris Zankel <chris@zankel.net>
Tue, 12 Feb 2008 21:17:07 +0000 (13:17 -0800)
committerChris Zankel <chris@zankel.net>
Thu, 14 Feb 2008 01:41:43 +0000 (17:41 -0800)
commitc658eac628aa8df040dfe614556d95e6da3a9ffb
treee2211e1d5c894c29e92d4c744f504b38410efe41
parent71d28e6c285548106f551fde13ca6d589433d843
[XTENSA] Add support for configurable registers and coprocessors

The Xtensa architecture allows to define custom instructions and
registers. Registers that are bound to a coprocessor are only
accessible if the corresponding enable bit is set, which allows
to implement a 'lazy' context switch mechanism. Other registers
needs to be saved and restore at the time of the context switch
or during interrupt handling.

This patch adds support for these additional states:

- save and restore registers that are used by the compiler upon
  interrupt entry and exit.
- context switch additional registers unbound to any coprocessor
- 'lazy' context switch of registers bound to a coprocessor
- ptrace interface to provide access to additional registers
- update configuration files in include/asm-xtensa/variant-fsf

Signed-off-by: Chris Zankel <chris@zankel.net>
17 files changed:
arch/xtensa/kernel/asm-offsets.c
arch/xtensa/kernel/coprocessor.S
arch/xtensa/kernel/entry.S
arch/xtensa/kernel/process.c
arch/xtensa/kernel/ptrace.c
arch/xtensa/kernel/signal.c
arch/xtensa/kernel/traps.c
include/asm-xtensa/coprocessor.h
include/asm-xtensa/elf.h
include/asm-xtensa/processor.h
include/asm-xtensa/ptrace.h
include/asm-xtensa/regs.h
include/asm-xtensa/sigcontext.h
include/asm-xtensa/system.h
include/asm-xtensa/thread_info.h
include/asm-xtensa/variant-fsf/tie-asm.h [new file with mode: 0644]
include/asm-xtensa/variant-fsf/tie.h