summaryrefslogtreecommitdiff
path: root/arch/xtensa/kernel/asm-offsets.c
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2017-12-16 03:08:16 +0300
committerMax Filippov <jcmvbkbc@gmail.com>2017-12-17 09:37:09 +0300
commitf21a79cab3773bc17aa845b7738c7f200778a260 (patch)
tree810c2feba63b1e3839af00ee2af39d868b0d7cd8 /arch/xtensa/kernel/asm-offsets.c
parentc130d3be84afb9b5a30ce4f715f88a1c1dcc4114 (diff)
downloadlinux-f21a79cab3773bc17aa845b7738c7f200778a260.tar.xz
xtensa: clean up exception handling structure
Instead of using flat array of longs use normal C structure and generate EXC_TABLE_* constants in the asm-offsets.c Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/kernel/asm-offsets.c')
-rw-r--r--arch/xtensa/kernel/asm-offsets.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/xtensa/kernel/asm-offsets.c b/arch/xtensa/kernel/asm-offsets.c
index 3b119b372efd..022cf918ec20 100644
--- a/arch/xtensa/kernel/asm-offsets.c
+++ b/arch/xtensa/kernel/asm-offsets.c
@@ -132,5 +132,18 @@ int main(void)
offsetof(struct debug_table, icount_level_save));
#endif
+ /* struct exc_table */
+ DEFINE(EXC_TABLE_KSTK, offsetof(struct exc_table, kstk));
+ DEFINE(EXC_TABLE_DOUBLE_SAVE, offsetof(struct exc_table, double_save));
+ DEFINE(EXC_TABLE_FIXUP, offsetof(struct exc_table, fixup));
+ DEFINE(EXC_TABLE_PARAM, offsetof(struct exc_table, fixup_param));
+ DEFINE(EXC_TABLE_SYSCALL_SAVE,
+ offsetof(struct exc_table, syscall_save));
+ DEFINE(EXC_TABLE_FAST_USER,
+ offsetof(struct exc_table, fast_user_handler));
+ DEFINE(EXC_TABLE_FAST_KERNEL,
+ offsetof(struct exc_table, fast_kernel_handler));
+ DEFINE(EXC_TABLE_DEFAULT, offsetof(struct exc_table, default_handler));
+
return 0;
}