LoongArch: extable: Add `type` and `data` fields
authorYouling Tang <tangyouling@loongson.cn>
Sat, 10 Dec 2022 14:39:59 +0000 (22:39 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Wed, 14 Dec 2022 00:36:11 +0000 (08:36 +0800)
commit26bc82441250f2e01621f5b26606a4f6926ee3ad
tree22cebfb8711706c1ccd2123c9356f05b55f529cf
parent3d36f4298ba91fbdec6bc56aa7bb0663cba6ab0c
LoongArch: extable: Add `type` and `data` fields

This is a LoongArch port of commit d6e2cc564775 ("arm64: extable: add
`type` and `data` fields").

Subsequent patches will add specialized handlers for fixups, in addition
to the simple PC fixup we have today. In preparation, this patch adds a
new `type` field to struct exception_table_entry, and uses this to
distinguish the fixup and other cases. A `data` field is also added so
that subsequent patches can associate data specific to each exception
site (e.g. register numbers).

Handlers are named ex_handler_*() for consistency, following the example
of x86. At the same time, get_ex_fixup() is split out into a helper so
that it can be used by other ex_handler_*() functions in the subsequent
patches.

Signed-off-by: Youling Tang <tangyouling@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/include/asm/asm-extable.h
arch/loongarch/include/asm/extable.h
arch/loongarch/kernel/vmlinux.lds.S
arch/loongarch/mm/extable.c
scripts/sorttable.c