aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/setup_64.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-10-27 22:51:45 -0400
committerStephen Rothwell <sfr@canb.auug.org.au>2005-10-27 22:51:45 -0400
commit640768eef245f1578e75e02c17d277a1496a535b (patch)
treedc36f97b830076fcdc09c1fe2ec8bf5675fc772a /arch/powerpc/kernel/setup_64.c
parent9675c7ebcf1f6308d66b0fcb42ae585e200e80a9 (diff)
ppc64: use the merged syscall table
This allows us to also use entry_64.S from the merged tree and reverts the setup_64.c part of fda262b8978d0089758ef9444508434c74113a61. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Diffstat (limited to 'arch/powerpc/kernel/setup_64.c')
-rw-r--r--arch/powerpc/kernel/setup_64.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index a8f7ff5ab1a4..950e6f0fea98 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -701,17 +701,6 @@ static void __init emergency_stack_init(void)
701 limit)) + PAGE_SIZE; 701 limit)) + PAGE_SIZE;
702} 702}
703 703
704extern unsigned long *sys_call_table;
705extern unsigned long sys_ni_syscall;
706#ifdef CONFIG_PPC_MERGE
707#define SYS_CALL_ENTRY64(i) sys_call_table[(i) * 2]
708#define SYS_CALL_ENTRY32(i) sys_call_table[(i) * 2 + 1]
709#else
710extern unsigned long *sys_call_table32;
711#define SYS_CALL_ENTRY64(i) sys_call_table[(i)]
712#define SYS_CALL_ENTRY32(i) sys_call_table32[(i)]
713#endif
714
715/* 704/*
716 * Called from setup_arch to initialize the bitmap of available 705 * Called from setup_arch to initialize the bitmap of available
717 * syscalls in the systemcfg page 706 * syscalls in the systemcfg page
@@ -719,14 +708,17 @@ extern unsigned long *sys_call_table32;
719void __init setup_syscall_map(void) 708void __init setup_syscall_map(void)
720{ 709{
721 unsigned int i, count64 = 0, count32 = 0; 710 unsigned int i, count64 = 0, count32 = 0;
711 extern unsigned long *sys_call_table;
712 extern unsigned long sys_ni_syscall;
713
722 714
723 for (i = 0; i < __NR_syscalls; i++) { 715 for (i = 0; i < __NR_syscalls; i++) {
724 if (SYS_CALL_ENTRY64(i) != sys_ni_syscall) { 716 if (sys_call_table[i*2] != sys_ni_syscall) {
725 count64++; 717 count64++;
726 systemcfg->syscall_map_64[i >> 5] |= 718 systemcfg->syscall_map_64[i >> 5] |=
727 0x80000000UL >> (i & 0x1f); 719 0x80000000UL >> (i & 0x1f);
728 } 720 }
729 if (SYS_CALL_ENTRY32(i) != sys_ni_syscall) { 721 if (sys_call_table[i*2+1] != sys_ni_syscall) {
730 count32++; 722 count32++;
731 systemcfg->syscall_map_32[i >> 5] |= 723 systemcfg->syscall_map_32[i >> 5] |=
732 0x80000000UL >> (i & 0x1f); 724 0x80000000UL >> (i & 0x1f);