Commit 77f543cb authored by Paul Mackerras's avatar Paul Mackerras
Browse files

powerpc: Fix various compile errors with ARCH=ppc, ppc64 and powerpc



This makes ppc use the syscalls.c from arch/powerpc/kernel, exports
copy_and_flush from head_32.S for use by prom_init.c (ARCH=powerpc),
and consolidates the sys_fadvise64_64 implementations for 32-bit.

Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 81e7009e
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -121,7 +121,6 @@ head-$(CONFIG_4xx) := arch/powerpc/kernel/head_4xx.o
head-$(CONFIG_44x)		:= arch/powerpc/kernel/head_44x.o
head-$(CONFIG_FSL_BOOKE)	:= arch/powerpc/kernel/head_fsl_booke.o

head-$(CONFIG_6xx)		+= arch/powerpc/kernel/idle_6xx.o
head-$(CONFIG_PPC64)		+= arch/powerpc/kernel/entry_64.o
head-$(CONFIG_PPC_FPU)		+= arch/powerpc/kernel/fpu.o

+5 −5
Original line number Diff line number Diff line
@@ -10,7 +10,8 @@ CFLAGS_prom_init.o += -fPIC
CFLAGS_btext.o		+= -fPIC
endif

obj-y				:= semaphore.o cputable.o ptrace.o signal_32.o
obj-y				:= semaphore.o cputable.o ptrace.o syscalls.o \
				   signal_32.o
obj-$(CONFIG_PPC64)		+= binfmt_elf32.o sys_ppc32.o
obj-$(CONFIG_ALTIVEC)		+= vecemu.o vector.o
obj-$(CONFIG_POWER4)		+= idle_power4.o
@@ -24,14 +25,13 @@ extra-$(CONFIG_40x) := head_4xx.o
extra-$(CONFIG_44x)		:= head_44x.o
extra-$(CONFIG_FSL_BOOKE)	:= head_fsl_booke.o
extra-$(CONFIG_8xx)		:= head_8xx.o
extra-$(CONFIG_6xx)		+= idle_6xx.o
extra-$(CONFIG_PPC64)		+= entry_64.o
extra-$(CONFIG_PPC_FPU)		+= fpu.o
extra-y				+= vmlinux.lds

obj-y				+= process.o init_task.o \
				   prom.o systbl.o traps.o syscalls.o
obj-$(CONFIG_PPC32)		+= entry_32.o setup_32.o misc_32.o
				   prom.o systbl.o traps.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_PPC_OF)		+= prom_init.o
obj-$(CONFIG_MODULES)		+= ppc_ksyms.o
@@ -44,7 +44,7 @@ endif

else
# stuff used from here for ARCH=ppc or ARCH=ppc64
obj-$(CONFIG_PPC64)		+= traps.o process.o init_task.o syscalls.o
obj-$(CONFIG_PPC64)		+= traps.o process.o init_task.o

fpux-$(CONFIG_PPC32)		+= fpu.o
extra-$(CONFIG_PPC_FPU)		+= $(fpux-y)
+1 −1
Original line number Diff line number Diff line
@@ -831,7 +831,7 @@ relocate_kernel:
 * r3 = dest addr, r4 = source addr, r5 = copy limit, r6 = start offset
 * on exit, r3, r4, r5 are unchanged, r6 is updated to be >= r5.
 */
copy_and_flush:
_GLOBAL(copy_and_flush)
	addi	r5,r5,-4
	addi	r6,r6,-4
4:	li	r0,L1_CACHE_BYTES/4
+0 −7
Original line number Diff line number Diff line
@@ -1069,13 +1069,6 @@ long ppc32_fadvise64(int fd, u32 unused, u32 offset_high, u32 offset_low,
			     advice);
}

long ppc32_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low,
			u32 len_high, u32 len_low)
{
	return sys_fadvise64(fd, (u64)offset_high << 32 | offset_low,
			     (u64)len_high << 32 | len_low, advice);
}

long ppc32_timer_create(clockid_t clock,
			struct compat_sigevent __user *ev32,
			timer_t __user *timer_id)
+7 −0
Original line number Diff line number Diff line
@@ -336,6 +336,13 @@ time_t sys64_time(time_t __user * tloc)
}
#endif

long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low,
		      u32 len_high, u32 len_low)
{
	return sys_fadvise64(fd, (u64)offset_high << 32 | offset_low,
			     (u64)len_high << 32 | len_low, advice);
}

void do_show_syscall(unsigned long r3, unsigned long r4, unsigned long r5,
		     unsigned long r6, unsigned long r7, unsigned long r8,
		     struct pt_regs *regs)
Loading