xtensa: use context structure for debug exceptions
authorMax Filippov <jcmvbkbc@gmail.com>
Sun, 6 Mar 2016 22:36:33 +0000 (01:36 +0300)
committerChris Zankel <chris@zankel.net>
Fri, 11 Mar 2016 08:53:32 +0000 (08:53 +0000)
commit6ec7026ac01f3db039e0428db1f37590685ad3e7
tree9a3ac45e85c4ba604ce9dde4d14c103c9d2e70ff
parent816aa58895ca4a6176caded477a655fc82aab5f5
xtensa: use context structure for debug exceptions

With implementation of data breakpoints debug exceptions raised when
PS.EXCM is set need to be handled, e.g. window overflow code can write
to watched userspace address. Currently debug exception handler uses
EXCSAVE and DEPC SRs to save temporary registers, but DEPC may not be
available when PS.EXCM is set and more space will be needed to save
additional state.
Reorganize debug context: create per-CPU structure debug_table instance
and store its address in the EXCSAVE<debug level> instead of
debug_exception function address. Expand this structure when more save
space is needed.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/include/asm/traps.h
arch/xtensa/kernel/asm-offsets.c
arch/xtensa/kernel/entry.S
arch/xtensa/kernel/head.S
arch/xtensa/kernel/traps.c
arch/xtensa/kernel/vectors.S