aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/setup_64.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-10-27 20:20:42 +1000
committerPaul Mackerras <paulus@samba.org>2005-10-27 20:20:42 +1000
commitfda262b8978d0089758ef9444508434c74113a61 (patch)
tree86cca84a4f62d4d931d7c6e56cbb5b207281ba74 /arch/powerpc/kernel/setup_64.c
parent89edce0b4e71f6f78e27d7c18c63e957469b74d3 (diff)
[PATCH] ppc64: remove arch/ppc64/kernel/setup.c
and use setup_64.c from the merged tree instead. The only difference between them was the code to set up the syscall maps. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/setup_64.c')
-rw-r--r--arch/powerpc/kernel/setup_64.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 9cdf294e76f..721adeea601 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -702,6 +702,17 @@ static void __init emergency_stack_init(void)
limit)) + PAGE_SIZE;
}
+extern unsigned long *sys_call_table;
+extern unsigned long sys_ni_syscall;
+#ifdef CONFIG_PPC_MERGE
+#define SYS_CALL_ENTRY64(i) sys_call_table[(i) * 2]
+#define SYS_CALL_ENTRY32(i) sys_call_table[(i) * 2 + 1]
+#else
+extern unsigned long *sys_call_table32;
+#define SYS_CALL_ENTRY64(i) sys_call_table[(i)]
+#define SYS_CALL_ENTRY32(i) sys_call_table32[(i)]
+#endif
+
/*
* Called from setup_arch to initialize the bitmap of available
* syscalls in the systemcfg page
@@ -709,17 +720,14 @@ static void __init emergency_stack_init(void)
void __init setup_syscall_map(void)
{
unsigned int i, count64 = 0, count32 = 0;
- extern unsigned long *sys_call_table;
- extern unsigned long sys_ni_syscall;
-
for (i = 0; i < __NR_syscalls; i++) {
- if (sys_call_table[i*2] != sys_ni_syscall) {
+ if (SYS_CALL_ENTRY64(i) != sys_ni_syscall) {
count64++;
systemcfg->syscall_map_64[i >> 5] |=
0x80000000UL >> (i & 0x1f);
}
- if (sys_call_table[i*2+1] != sys_ni_syscall) {
+ if (SYS_CALL_ENTRY32(i) != sys_ni_syscall) {
count32++;
systemcfg->syscall_map_32[i >> 5] |=
0x80000000UL >> (i & 0x1f);