aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/syscall.S
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2007-01-28 08:52:57 -0500
committerKyle McMartin <kyle@athena.road.mcmartin.ca>2007-02-17 01:16:26 -0500
commit0b3d643f9ead9b5141dedbb2d1b06ce15469fc4a (patch)
tree3be51559fb366dea87dc0eacfea2f94c15190875 /arch/parisc/kernel/syscall.S
parent8e9e9844b44dd9f855d824d035b3097b199e44ed (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.S26
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
615end_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