diff options
| author | Richard Henderson <rth@are.twiddle.net> | 2003-01-05 18:11:43 -0800 |
|---|---|---|
| committer | Richard Henderson <rth@are.twiddle.net> | 2003-01-05 18:11:43 -0800 |
| commit | ec146bb1417870970defd3493b00a153ba2ef326 (patch) | |
| tree | 3288a659844891046a729fae335798301fc613ea /include | |
| parent | 487cffcd6dbb0dabc333525c1fcb4d452b162ce9 (diff) | |
[ALPHA] Update for generic exception table cleanup.
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-alpha/uaccess.h | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/include/asm-alpha/uaccess.h b/include/asm-alpha/uaccess.h index 5a3b8681f6af..a5985281aa7f 100644 --- a/include/asm-alpha/uaccess.h +++ b/include/asm-alpha/uaccess.h @@ -501,19 +501,14 @@ struct exception_table_entry } fixup; }; -/* Returns 0 if exception not found and fixup.unit otherwise. */ -extern unsigned search_exception_table(unsigned long); - /* Returns the new pc */ -#define fixup_exception(map_reg, fixup_unit, pc) \ +#define fixup_exception(map_reg, fixup, pc) \ ({ \ - union exception_fixup __fie_fixup; \ - __fie_fixup.unit = fixup_unit; \ - if (__fie_fixup.bits.valreg != 31) \ - map_reg(__fie_fixup.bits.valreg) = 0; \ - if (__fie_fixup.bits.errreg != 31) \ - map_reg(__fie_fixup.bits.errreg) = -EFAULT; \ - (pc) + __fie_fixup.bits.nextinsn; \ + if ((fixup)->fixup.bits.valreg != 31) \ + map_reg((fixup)->fixup.bits.valreg) = 0; \ + if ((fixup)->fixup.bits.errreg != 31) \ + map_reg((fixup)->fixup.bits.errreg) = -EFAULT; \ + (pc) + (fixup)->fixup.bits.nextinsn; \ }) |
