diff options
author | Helge Deller <deller@gmx.de> | 2007-01-28 16:43:32 +0100 |
---|---|---|
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) | |
download | op-kernel-dev-79793455eba539a3f0ed8d7fd9eef41da0c27e7d.zip op-kernel-dev-79793455eba539a3f0ed8d7fd9eef41da0c27e7d.tar.gz |
[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 aaaf330..0b9d5b1 100644 --- a/arch/parisc/hpux/gate.S +++ b/arch/parisc/hpux/gate.S @@ -12,27 +12,18 @@ #include <asm/asm-offsets.h> #include <asm/unistd.h> #include <asm/errno.h> +#include <linux/linkage.h> -#ifdef __LP64__ - .level 2.0w -#else - .level 1.1 -#endif + .level LEVEL .text -#ifdef __LP64__ -#define FRAME_SIZE 128 -#else -#define FRAME_SIZE 64 -#endif .import hpux_call_table .import hpux_syscall_exit,code - .export hpux_gateway_page .align 4096 -hpux_gateway_page: +ENTRY(hpux_gateway_page) nop -#ifdef __LP64__ +#ifdef CONFIG_64BIT #warning NEEDS WORK for 64-bit #endif ldw -64(%r30), %r29 ;! 8th argument @@ -101,7 +92,7 @@ hpux_gateway_page: ldo R%hpux_call_table(%r21), %r21 comiclr,>>= __NR_HPUX_syscalls, %r22, %r0 b,n syscall_nosys - ldwx,s %r22(%r21), %r21 + LDREGX %r22(%r21), %r21 ldil L%hpux_syscall_exit,%r2 be 0(%sr7,%r21) ldo R%hpux_syscall_exit(%r2),%r2 @@ -110,7 +101,7 @@ syscall_nosys: ldil L%hpux_syscall_exit,%r1 be R%hpux_syscall_exit(%sr7,%r1) ldo -ENOSYS(%r0),%r28 +ENDPROC(hpux_gateway_page) .align 4096 - .export end_hpux_gateway_page -end_hpux_gateway_page: +ENTRY(end_hpux_gateway_page) |