diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2017-12-15 16:08:16 -0800 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2017-12-16 22:37:09 -0800 |
commit | f21a79cab3773bc17aa845b7738c7f200778a260 (patch) | |
tree | 810c2feba63b1e3839af00ee2af39d868b0d7cd8 /arch/xtensa/kernel/asm-offsets.c | |
parent | c130d3be84afb9b5a30ce4f715f88a1c1dcc4114 (diff) | |
download | talos-obmc-linux-f21a79cab3773bc17aa845b7738c7f200778a260.tar.gz talos-obmc-linux-f21a79cab3773bc17aa845b7738c7f200778a260.zip |
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.c | 13 |
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; } |