diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-10-27 22:51:45 -0400 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-10-27 22:51:45 -0400 |
commit | 640768eef245f1578e75e02c17d277a1496a535b (patch) | |
tree | dc36f97b830076fcdc09c1fe2ec8bf5675fc772a /arch/powerpc | |
parent | 9675c7ebcf1f6308d66b0fcb42ae585e200e80a9 (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')
-rw-r--r-- | arch/powerpc/kernel/Makefile | 9 | ||||
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 18 |
2 files changed, 10 insertions, 17 deletions
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 68543201df3d..0118e516b01f 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile | |||
@@ -13,7 +13,7 @@ endif | |||
13 | obj-y := semaphore.o cputable.o ptrace.o syscalls.o \ | 13 | obj-y := semaphore.o cputable.o ptrace.o syscalls.o \ |
14 | signal_32.o pmc.o | 14 | signal_32.o pmc.o |
15 | obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ | 15 | obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ |
16 | ptrace32.o | 16 | ptrace32.o systbl.o |
17 | obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o | 17 | obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o |
18 | obj-$(CONFIG_POWER4) += idle_power4.o | 18 | obj-$(CONFIG_POWER4) += idle_power4.o |
19 | obj-$(CONFIG_PPC_OF) += of_device.o | 19 | obj-$(CONFIG_PPC_OF) += of_device.o |
@@ -28,12 +28,12 @@ extra-$(CONFIG_40x) := head_4xx.o | |||
28 | extra-$(CONFIG_44x) := head_44x.o | 28 | extra-$(CONFIG_44x) := head_44x.o |
29 | extra-$(CONFIG_FSL_BOOKE) := head_fsl_booke.o | 29 | extra-$(CONFIG_FSL_BOOKE) := head_fsl_booke.o |
30 | extra-$(CONFIG_8xx) := head_8xx.o | 30 | extra-$(CONFIG_8xx) := head_8xx.o |
31 | extra-$(CONFIG_PPC64) += entry_64.o | ||
32 | extra-y += vmlinux.lds | 31 | extra-y += vmlinux.lds |
33 | 32 | ||
34 | obj-y += process.o init_task.o time.o \ | 33 | obj-y += process.o init_task.o time.o \ |
35 | prom.o systbl.o traps.o setup-common.o | 34 | prom.o traps.o setup-common.o |
36 | obj-$(CONFIG_PPC32) += entry_32.o idle_6xx.o setup_32.o misc_32.o | 35 | obj-$(CONFIG_PPC32) += entry_32.o idle_6xx.o setup_32.o misc_32.o \ |
36 | systbl.o | ||
37 | obj-$(CONFIG_PPC64) += misc_64.o | 37 | obj-$(CONFIG_PPC64) += misc_64.o |
38 | obj-$(CONFIG_PPC_OF) += prom_init.o | 38 | obj-$(CONFIG_PPC_OF) += prom_init.o |
39 | obj-$(CONFIG_MODULES) += ppc_ksyms.o | 39 | obj-$(CONFIG_MODULES) += ppc_ksyms.o |
@@ -53,3 +53,4 @@ obj-$(CONFIG_PPC64) += traps.o process.o init_task.o time.o \ | |||
53 | endif | 53 | endif |
54 | 54 | ||
55 | extra-$(CONFIG_PPC_FPU) += fpu.o | 55 | extra-$(CONFIG_PPC_FPU) += fpu.o |
56 | extra-$(CONFIG_PPC64) += entry_64.o | ||
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 | ||
704 | extern unsigned long *sys_call_table; | ||
705 | extern 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 | ||
710 | extern 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; | |||
719 | void __init setup_syscall_map(void) | 708 | void __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); |