git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
arch
/
parisc
/
kernel
/
syscall.S
diff --git
a/arch/parisc/kernel/syscall.S
b/arch/parisc/kernel/syscall.S
index
a058004
..
af88afe
100644
(file)
--- a/
arch/parisc/kernel/syscall.S
+++ b/
arch/parisc/kernel/syscall.S
@@
-6,6
+6,7
@@
* thanks to Philipp Rumpf, Mike Shaver and various others
* sorry about the wall, puffin..
*/
* thanks to Philipp Rumpf, Mike Shaver and various others
* sorry about the wall, puffin..
*/
+#include <linux/config.h> /* for CONFIG_SMP */
#include <asm/asm-offsets.h>
#include <asm/unistd.h>
#include <asm/asm-offsets.h>
#include <asm/unistd.h>
@@
-28,6
+29,18
@@
.level 1.1
#endif
.level 1.1
#endif
+#ifndef CONFIG_64BIT
+ .macro fixup_branch,lbl
+ b \lbl
+ .endm
+#else
+ .macro fixup_branch,lbl
+ ldil L%\lbl, %r1
+ ldo R%\lbl(%r1), %r1
+ bv,n %r0(%r1)
+ .endm
+#endif
+
.text
.import syscall_exit,code
.text
.import syscall_exit,code
@@
-42,7
+55,7
@@
* pointers.
*/
* pointers.
*/
- .align
ASM_PAGE_SIZE
+ .align
4096
linux_gateway_page:
/* ADDRESS 0x00 to 0xb0 = 176 bytes / 4 bytes per insn = 44 insns */
linux_gateway_page:
/* ADDRESS 0x00 to 0xb0 = 176 bytes / 4 bytes per insn = 44 insns */
@@
-528,7
+541,7
@@
cas_nocontend:
# endif
/* ENABLE_LWS_DEBUG */
# endif
/* ENABLE_LWS_DEBUG */
-
LDCW
0(%sr2,%r20), %r28 /* Try to acquire the lock */
+
ldcw
0(%sr2,%r20), %r28 /* Try to acquire the lock */
cmpb,<>,n %r0, %r28, cas_action /* Did we get it? */
cas_wouldblock:
ldo 2(%r0), %r28 /* 2nd case */
cmpb,<>,n %r0, %r28, cas_action /* Did we get it? */
cas_wouldblock:
ldo 2(%r0), %r28 /* 2nd case */
@@
-619,7
+632,7
@@
cas_action:
end_compare_and_swap:
/* Make sure nothing else is placed on this page */
end_compare_and_swap:
/* Make sure nothing else is placed on this page */
- .align
ASM_PAGE_SIZE
+ .align
4096
.export end_linux_gateway_page
end_linux_gateway_page:
.export end_linux_gateway_page
end_linux_gateway_page:
@@
-639,7
+652,7
@@
end_linux_gateway_page:
.section .rodata,"a"
.section .rodata,"a"
- .align
ASM_PAGE_SIZE
+ .align
4096
/* Light-weight-syscall table */
/* Start of lws table. */
.export lws_table
/* Light-weight-syscall table */
/* Start of lws table. */
.export lws_table
@@
-649,14
+662,14
@@
lws_table:
LWS_ENTRY(compare_and_swap64) /* 1 - ELF64 Atomic compare and swap */
/* End of lws table */
LWS_ENTRY(compare_and_swap64) /* 1 - ELF64 Atomic compare and swap */
/* End of lws table */
- .align
ASM_PAGE_SIZE
+ .align
4096
.export sys_call_table
.Lsys_call_table:
sys_call_table:
#include "syscall_table.S"
#ifdef CONFIG_64BIT
.export sys_call_table
.Lsys_call_table:
sys_call_table:
#include "syscall_table.S"
#ifdef CONFIG_64BIT
- .align
ASM_PAGE_SIZE
+ .align
4096
.export sys_call_table64
.Lsys_call_table64:
sys_call_table64:
.export sys_call_table64
.Lsys_call_table64:
sys_call_table64: