From 61dbbaeb86c2181c79efae2d186193e0f8008af1 Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Sun, 13 Oct 2013 21:11:30 +0200 Subject: 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 --- arch/parisc/include/asm/assembly.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'arch/parisc/include/asm/assembly.h') diff --git a/arch/parisc/include/asm/assembly.h b/arch/parisc/include/asm/assembly.h index 0da8482..b3069fd 100644 --- a/arch/parisc/include/asm/assembly.h +++ b/arch/parisc/include/asm/assembly.h @@ -515,5 +515,17 @@ nop /* 7 */ .endm + /* + * ASM_EXCEPTIONTABLE_ENTRY + * + * Creates an exception table entry. + * Do not convert to a assembler macro. This won't work. + */ +#define ASM_EXCEPTIONTABLE_ENTRY(fault_addr, except_addr) \ + .section __ex_table,"aw" ! \ + ASM_ULONG_INSN fault_addr, except_addr ! \ + .previous + + #endif /* __ASSEMBLY__ */ #endif -- cgit v1.1