aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-10-27 23:50:39 -0400
committerPaul Mackerras <paulus@samba.org>2005-10-27 23:50:39 -0400
commit22b280324acbfd1a1f2374055d9bb39e7069e2bf (patch)
tree135f45548120ffc198ba0b2105b83f7f805d123a /arch/powerpc
parent4542437679de448de0f75bc901dab380d6a5bc5b (diff)
parent299f6ce491aa28515d86f29af2779cbfdc7a4790 (diff)
Merge git://oak/home/sfr/kernels/iseries/work/
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kernel/Makefile8
-rw-r--r--arch/powerpc/kernel/setup_64.c18
-rw-r--r--arch/powerpc/lib/Makefile12
3 files changed, 17 insertions, 21 deletions
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index 8421f1975dad..572d4f5eaacb 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -13,7 +13,7 @@ endif
13obj-y := semaphore.o cputable.o ptrace.o syscalls.o \ 13obj-y := semaphore.o cputable.o ptrace.o syscalls.o \
14 signal_32.o pmc.o 14 signal_32.o pmc.o
15obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ 15obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \
16 ptrace32.o 16 ptrace32.o systbl.o
17obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o 17obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o
18obj-$(CONFIG_POWER4) += idle_power4.o 18obj-$(CONFIG_POWER4) += idle_power4.o
19obj-$(CONFIG_PPC_OF) += of_device.o 19obj-$(CONFIG_PPC_OF) += of_device.o
@@ -28,12 +28,11 @@ extra-$(CONFIG_40x) := head_4xx.o
28extra-$(CONFIG_44x) := head_44x.o 28extra-$(CONFIG_44x) := head_44x.o
29extra-$(CONFIG_FSL_BOOKE) := head_fsl_booke.o 29extra-$(CONFIG_FSL_BOOKE) := head_fsl_booke.o
30extra-$(CONFIG_8xx) := head_8xx.o 30extra-$(CONFIG_8xx) := head_8xx.o
31extra-$(CONFIG_PPC64) += entry_64.o
32extra-y += vmlinux.lds 31extra-y += vmlinux.lds
33 32
34obj-y += process.o init_task.o time.o \ 33obj-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
36obj-$(CONFIG_PPC32) += entry_32.o setup_32.o misc_32.o 35obj-$(CONFIG_PPC32) += entry_32.o setup_32.o misc_32.o systbl.o
37obj-$(CONFIG_PPC64) += misc_64.o 36obj-$(CONFIG_PPC64) += misc_64.o
38obj-$(CONFIG_PPC_OF) += prom_init.o 37obj-$(CONFIG_PPC_OF) += prom_init.o
39obj-$(CONFIG_MODULES) += ppc_ksyms.o 38obj-$(CONFIG_MODULES) += ppc_ksyms.o
@@ -54,3 +53,4 @@ obj-$(CONFIG_PPC64) += traps.o process.o init_task.o time.o \
54endif 53endif
55 54
56extra-$(CONFIG_PPC_FPU) += fpu.o 55extra-$(CONFIG_PPC_FPU) += fpu.o
56extra-$(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
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);
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index 30367a0237dd..0115bf96751c 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -2,12 +2,16 @@
2# Makefile for ppc-specific library files.. 2# Makefile for ppc-specific library files..
3# 3#
4 4
5obj-y := strcase.o string.o 5ifeq ($(CONFIG_PPC_MERGE),y)
6obj-y := string.o
7endif
8
9obj-y += strcase.o
6obj-$(CONFIG_PPC32) += div64.o copy_32.o checksum_32.o 10obj-$(CONFIG_PPC32) += div64.o copy_32.o checksum_32.o
7obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o memcpy_64.o \ 11obj-$(CONFIG_PPC64) += checksum_64.o copypage_64.o copyuser_64.o \
8 usercopy_64.o sstep.o checksum_64.o mem_64.o 12 memcpy_64.o usercopy_64.o mem_64.o
9obj-$(CONFIG_PPC_ISERIES) += e2a.o 13obj-$(CONFIG_PPC_ISERIES) += e2a.o
10ifeq ($(CONFIG_PPC64),y) 14ifeq ($(CONFIG_PPC64),y)
11obj-$(CONFIG_SMP) += locks.o 15obj-$(CONFIG_SMP) += locks.o
16obj-$(CONFIG_DEBUG_KERNEL) += sstep.o
12endif 17endif
13