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:
@@ -142,6 +142,12 @@ int fixup_exception(struct pt_regs *regs)
|
||||
{
|
||||
const struct exception_table_entry *fix;
|
||||
|
||||
/* If we only stored 32bit addresses in the exception table we can drop
|
||||
* out if we faulted on a 64bit address. */
|
||||
if ((sizeof(regs->iaoq[0]) > sizeof(fix->insn))
|
||||
&& (regs->iaoq[0] >> 32))
|
||||
return 0;
|
||||
|
||||
fix = search_exception_tables(regs->iaoq[0]);
|
||||
if (fix) {
|
||||
struct exception_data *d;
|
||||
|
Reference in New Issue
Block a user