Archived
14
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/arch/arm26/mm/extable.c
Jörn Engel 6ab3d5624e Remove obsolete #include <linux/config.h>
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-06-30 19:25:36 +02:00

25 lines
548 B
C

/*
* linux/arch/arm26/mm/extable.c
*/
#include <linux/module.h>
#include <asm/uaccess.h>
int fixup_exception(struct pt_regs *regs)
{
const struct exception_table_entry *fixup;
fixup = search_exception_tables(instruction_pointer(regs));
/*
* The kernel runs in SVC mode - make sure we keep running in SVC mode
* by frobbing the PSR appropriately (PSR and PC are in the same reg.
* on ARM26)
*/
if (fixup)
regs->ARM_pc = fixup->fixup | PSR_I_BIT | MODE_SVC26;
return fixup != NULL;
}