[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>
This commit is contained in:
@@ -12,7 +12,8 @@ endif
|
|||||||
|
|
||||||
obj-y := semaphore.o cputable.o ptrace.o syscalls.o \
|
obj-y := semaphore.o cputable.o ptrace.o syscalls.o \
|
||||||
signal_32.o pmc.o
|
signal_32.o pmc.o
|
||||||
obj-$(CONFIG_PPC64) += binfmt_elf32.o sys_ppc32.o ptrace32.o
|
obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \
|
||||||
|
ptrace32.o
|
||||||
obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o
|
obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o
|
||||||
obj-$(CONFIG_POWER4) += idle_power4.o
|
obj-$(CONFIG_POWER4) += idle_power4.o
|
||||||
obj-$(CONFIG_PPC_OF) += of_device.o
|
obj-$(CONFIG_PPC_OF) += of_device.o
|
||||||
@@ -34,7 +35,7 @@ extra-y += vmlinux.lds
|
|||||||
obj-y += process.o init_task.o time.o \
|
obj-y += process.o init_task.o time.o \
|
||||||
prom.o systbl.o traps.o setup-common.o
|
prom.o systbl.o traps.o setup-common.o
|
||||||
obj-$(CONFIG_PPC32) += entry_32.o idle_6xx.o setup_32.o misc_32.o
|
obj-$(CONFIG_PPC32) += entry_32.o idle_6xx.o setup_32.o misc_32.o
|
||||||
obj-$(CONFIG_PPC64) += setup_64.o misc_64.o
|
obj-$(CONFIG_PPC64) += misc_64.o
|
||||||
obj-$(CONFIG_PPC_OF) += prom_init.o
|
obj-$(CONFIG_PPC_OF) += prom_init.o
|
||||||
obj-$(CONFIG_MODULES) += ppc_ksyms.o
|
obj-$(CONFIG_MODULES) += ppc_ksyms.o
|
||||||
obj-$(CONFIG_BOOTX_TEXT) += btext.o
|
obj-$(CONFIG_BOOTX_TEXT) += btext.o
|
||||||
|
@@ -702,6 +702,17 @@ static void __init emergency_stack_init(void)
|
|||||||
limit)) + PAGE_SIZE;
|
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
|
* Called from setup_arch to initialize the bitmap of available
|
||||||
* syscalls in the systemcfg page
|
* syscalls in the systemcfg page
|
||||||
@@ -709,17 +720,14 @@ static void __init emergency_stack_init(void)
|
|||||||
void __init setup_syscall_map(void)
|
void __init setup_syscall_map(void)
|
||||||
{
|
{
|
||||||
unsigned int i, count64 = 0, count32 = 0;
|
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++) {
|
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++;
|
count64++;
|
||||||
systemcfg->syscall_map_64[i >> 5] |=
|
systemcfg->syscall_map_64[i >> 5] |=
|
||||||
0x80000000UL >> (i & 0x1f);
|
0x80000000UL >> (i & 0x1f);
|
||||||
}
|
}
|
||||||
if (sys_call_table[i*2+1] != sys_ni_syscall) {
|
if (SYS_CALL_ENTRY32(i) != sys_ni_syscall) {
|
||||||
count32++;
|
count32++;
|
||||||
systemcfg->syscall_map_32[i >> 5] |=
|
systemcfg->syscall_map_32[i >> 5] |=
|
||||||
0x80000000UL >> (i & 0x1f);
|
0x80000000UL >> (i & 0x1f);
|
||||||
|
@@ -7,7 +7,7 @@ ifneq ($(CONFIG_PPC_MERGE),y)
|
|||||||
EXTRA_CFLAGS += -mno-minimal-toc
|
EXTRA_CFLAGS += -mno-minimal-toc
|
||||||
extra-y := head.o vmlinux.lds
|
extra-y := head.o vmlinux.lds
|
||||||
|
|
||||||
obj-y := setup.o entry.o misc.o prom.o
|
obj-y := entry.o misc.o prom.o
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user