diff options
author | Helge Deller <deller@gmx.de> | 2007-01-28 08:52:57 -0500 |
---|---|---|
committer | Kyle McMartin <kyle@athena.road.mcmartin.ca> | 2007-02-17 01:16:26 -0500 |
commit | 0b3d643f9ead9b5141dedbb2d1b06ce15469fc4a (patch) | |
tree | 3be51559fb366dea87dc0eacfea2f94c15190875 /arch/parisc/kernel/syscall.S | |
parent | 8e9e9844b44dd9f855d824d035b3097b199e44ed (diff) |
[PARISC] add ASM_EXCEPTIONTABLE_ENTRY() macro
- this macro unifies the code to add exception table entries
- additionally use ENTRY()/ENDPROC() at more places
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/kernel/syscall.S')
-rw-r--r-- | arch/parisc/kernel/syscall.S | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S index de1812de5183..10859f53e94f 100644 --- a/arch/parisc/kernel/syscall.S +++ b/arch/parisc/kernel/syscall.S | |||
@@ -23,19 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | #define KILL_INSN break 0,0 | 24 | #define KILL_INSN break 0,0 |
25 | 25 | ||
26 | #ifdef CONFIG_64BIT | 26 | .level LEVEL |
27 | .level 2.0w | ||
28 | #else | ||
29 | .level 1.1 | ||
30 | #endif | ||
31 | |||
32 | /* on 64bit pad to 64bit values */ | ||
33 | #ifdef CONFIG_64BIT | ||
34 | #define ULONG_WORD(x) .word 0, x | ||
35 | #else | ||
36 | #define ULONG_WORD(x) .word x | ||
37 | #endif | ||
38 | |||
39 | 27 | ||
40 | .text | 28 | .text |
41 | 29 | ||
@@ -603,16 +591,10 @@ cas_action: | |||
603 | the other for the store. Either return -EFAULT. | 591 | the other for the store. Either return -EFAULT. |
604 | Each of the entries must be relocated. */ | 592 | Each of the entries must be relocated. */ |
605 | .section __ex_table,"aw" | 593 | .section __ex_table,"aw" |
606 | ULONG_WORD(2b - linux_gateway_page) | 594 | ASM_ULONG_INSN (1b - linux_gateway_page), (3b - linux_gateway_page) |
607 | ULONG_WORD(3b - linux_gateway_page) | 595 | ASM_ULONG_INSN (2b - linux_gateway_page), (3b - linux_gateway_page) |
608 | .previous | ||
609 | |||
610 | .section __ex_table,"aw" | ||
611 | ULONG_WORD(1b - linux_gateway_page) | ||
612 | ULONG_WORD(3b - linux_gateway_page) | ||
613 | .previous | 596 | .previous |
614 | 597 | ||
615 | end_compare_and_swap: | ||
616 | 598 | ||
617 | /* Make sure nothing else is placed on this page */ | 599 | /* Make sure nothing else is placed on this page */ |
618 | .align ASM_PAGE_SIZE | 600 | .align ASM_PAGE_SIZE |
@@ -622,7 +604,7 @@ ENTRY(end_linux_gateway_page) | |||
622 | /* Relocate symbols assuming linux_gateway_page is mapped | 604 | /* Relocate symbols assuming linux_gateway_page is mapped |
623 | to virtual address 0x0 */ | 605 | to virtual address 0x0 */ |
624 | 606 | ||
625 | #define LWS_ENTRY(_name_) ULONG_WORD(lws_##_name_ - linux_gateway_page) | 607 | #define LWS_ENTRY(_name_) ASM_ULONG_INSN (lws_##_name_ - linux_gateway_page) |
626 | 608 | ||
627 | .section .rodata,"a" | 609 | .section .rodata,"a" |
628 | 610 | ||