diff options
author | Helge Deller <deller@gmx.de> | 2007-01-28 10:43:32 -0500 |
---|---|---|
committer | Kyle McMartin <kyle@athena.road.mcmartin.ca> | 2007-02-17 01:17:42 -0500 |
commit | 79793455eba539a3f0ed8d7fd9eef41da0c27e7d (patch) | |
tree | 44adfdb68c3f41c31fed95b4b060b3f33244f99e /arch/parisc/hpux/gate.S | |
parent | 513e7ecd695a4c0f95b9aa86c03ec9b7d2d09e03 (diff) |
[PARISC] add ENTRY()/ENDPROC() and simplify assembly of HP/UX emulation code
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/hpux/gate.S')
-rw-r--r-- | arch/parisc/hpux/gate.S | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/arch/parisc/hpux/gate.S b/arch/parisc/hpux/gate.S index aaaf3306c05a..0b9d5b1e4b37 100644 --- a/arch/parisc/hpux/gate.S +++ b/arch/parisc/hpux/gate.S | |||
@@ -12,27 +12,18 @@ | |||
12 | #include <asm/asm-offsets.h> | 12 | #include <asm/asm-offsets.h> |
13 | #include <asm/unistd.h> | 13 | #include <asm/unistd.h> |
14 | #include <asm/errno.h> | 14 | #include <asm/errno.h> |
15 | #include <linux/linkage.h> | ||
15 | 16 | ||
16 | #ifdef __LP64__ | 17 | .level LEVEL |
17 | .level 2.0w | ||
18 | #else | ||
19 | .level 1.1 | ||
20 | #endif | ||
21 | .text | 18 | .text |
22 | 19 | ||
23 | #ifdef __LP64__ | ||
24 | #define FRAME_SIZE 128 | ||
25 | #else | ||
26 | #define FRAME_SIZE 64 | ||
27 | #endif | ||
28 | .import hpux_call_table | 20 | .import hpux_call_table |
29 | .import hpux_syscall_exit,code | 21 | .import hpux_syscall_exit,code |
30 | .export hpux_gateway_page | ||
31 | 22 | ||
32 | .align 4096 | 23 | .align 4096 |
33 | hpux_gateway_page: | 24 | ENTRY(hpux_gateway_page) |
34 | nop | 25 | nop |
35 | #ifdef __LP64__ | 26 | #ifdef CONFIG_64BIT |
36 | #warning NEEDS WORK for 64-bit | 27 | #warning NEEDS WORK for 64-bit |
37 | #endif | 28 | #endif |
38 | ldw -64(%r30), %r29 ;! 8th argument | 29 | ldw -64(%r30), %r29 ;! 8th argument |
@@ -101,7 +92,7 @@ hpux_gateway_page: | |||
101 | ldo R%hpux_call_table(%r21), %r21 | 92 | ldo R%hpux_call_table(%r21), %r21 |
102 | comiclr,>>= __NR_HPUX_syscalls, %r22, %r0 | 93 | comiclr,>>= __NR_HPUX_syscalls, %r22, %r0 |
103 | b,n syscall_nosys | 94 | b,n syscall_nosys |
104 | ldwx,s %r22(%r21), %r21 | 95 | LDREGX %r22(%r21), %r21 |
105 | ldil L%hpux_syscall_exit,%r2 | 96 | ldil L%hpux_syscall_exit,%r2 |
106 | be 0(%sr7,%r21) | 97 | be 0(%sr7,%r21) |
107 | ldo R%hpux_syscall_exit(%r2),%r2 | 98 | ldo R%hpux_syscall_exit(%r2),%r2 |
@@ -110,7 +101,7 @@ syscall_nosys: | |||
110 | ldil L%hpux_syscall_exit,%r1 | 101 | ldil L%hpux_syscall_exit,%r1 |
111 | be R%hpux_syscall_exit(%sr7,%r1) | 102 | be R%hpux_syscall_exit(%sr7,%r1) |
112 | ldo -ENOSYS(%r0),%r28 | 103 | ldo -ENOSYS(%r0),%r28 |
104 | ENDPROC(hpux_gateway_page) | ||
113 | 105 | ||
114 | .align 4096 | 106 | .align 4096 |
115 | .export end_hpux_gateway_page | 107 | ENTRY(end_hpux_gateway_page) |
116 | end_hpux_gateway_page: | ||