parisc: provide macro to create exception table entries

Provide a macro ASM_EXCEPTIONTABLE_ENTRY() to create exception table
entries and convert all open-coded places to use that macro.

This patch is a first step toward creating a exception table which only
holds 32bit pointers even on a 64bit kernel. That way in my own kernel
I was able to reduce the in-kernel exception table from 44kB to 22kB.

Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
Helge Deller
2013-10-13 21:11:30 +02:00
parent 5e01dc7b26
commit 61dbbaeb86
5 changed files with 27 additions and 14 deletions

View File

@@ -649,10 +649,8 @@ cas_action:
/* Two exception table entries, one for the load,
the other for the store. Either return -EFAULT.
Each of the entries must be relocated. */
.section __ex_table,"aw"
ASM_ULONG_INSN (1b - linux_gateway_page), (3b - linux_gateway_page)
ASM_ULONG_INSN (2b - linux_gateway_page), (3b - linux_gateway_page)
.previous
ASM_EXCEPTIONTABLE_ENTRY(1b-linux_gateway_page, 3b-linux_gateway_page)
ASM_EXCEPTIONTABLE_ENTRY(2b-linux_gateway_page, 3b-linux_gateway_page)
/* Make sure nothing else is placed on this page */