- Add the new files to the linux module.

- Prepare the modules for build on amd64, but don't build them there as
  part of the kernel build yet. The code for the missing symbols on amd64
  isn't committed and it may be solved differently.

Sponsored by:	Google SoC 2006
Submitted by:	rdivacky
This commit is contained in:
netchild 2006-08-15 13:01:36 +00:00
parent 133c6ea862
commit eb91ee0f35
3 changed files with 26 additions and 13 deletions

View File

@ -7,4 +7,8 @@ SRCS= vnode_if.h \
linprocfs.c \
opt_compat.h
.if ${MACHINE_ARCH} == "amd64"
CFLAGS+=-DCOMPAT_LINUX32
.endif
.include <bsd.kmod.mk>

View File

@ -8,4 +8,8 @@ SRCS= vnode_if.h \
linsysfs.c \
opt_compat.h
.if ${MACHINE_ARCH} == "amd64"
CFLAGS+=-DCOMPAT_LINUX32
.endif
.include <bsd.kmod.mk>

View File

@ -1,17 +1,22 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_ARCH}/linux
.if ${MACHINE_ARCH} == "amd64"
SFX= 32
CFLAGS+=-DCOMPAT_IA32 -DCOMPAT_LINUX32
.endif
.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_ARCH}/linux${SFX}
KMOD= linux
SRCS= linux_dummy.c linux_file.c linux_getcwd.c linux_ioctl.c linux_ipc.c \
linux_machdep.c linux_mib.c linux_misc.c linux_signal.c linux_socket.c \
linux_stats.c linux_sysctl.c linux_sysent.c linux_sysvec.c \
linux_util.c opt_inet6.h opt_mac.h \
SRCS= linux${SFX}_dummy.c linux_emul.c linux_file.c linux_futex.c linux_getcwd.c linux_ioctl.c \
linux_ipc.c linux${SFX}_machdep.c linux_mib.c linux_misc.c linux_signal.c \
linux_socket.c linux_stats.c linux_sysctl.c linux${SFX}_sysent.c linux${SFX}_sysvec.c \
linux_uid16.c linux_util.c linux_time.c opt_inet6.h opt_mac.h opt_compat.h opt_posix.h \
vnode_if.h device_if.h bus_if.h
OBJS= linux_locore.o
OBJS= linux${SFX}_locore.o
.if ${MACHINE_ARCH} == "i386"
SRCS+= linux_ptrace.c linux_uid16.c imgact_linux.c opt_cpu.h
SRCS+= linux_ptrace.c imgact_linux.c opt_cpu.h
.endif
EXPORT_SYMS=
@ -22,19 +27,19 @@ EXPORT_SYMS+= linux_ifname
EXPORT_SYMS+= linux_ioctl_register_handler
EXPORT_SYMS+= linux_ioctl_unregister_handler
CLEANFILES= linux_assym.h linux_genassym.o
CLEANFILES= linux${SFX}_assym.h linux${SFX}_genassym.o
linux_assym.h: linux_genassym.o
linux${SFX}_assym.h: linux${SFX}_genassym.o
.if exists(@)
linux_assym.h: @/kern/genassym.sh
linux${SFX}_assym.h: @/kern/genassym.sh
.endif
sh @/kern/genassym.sh linux_genassym.o > ${.TARGET}
sh @/kern/genassym.sh linux${SFX}_genassym.o > ${.TARGET}
linux_locore.o: linux_locore.s linux_assym.h
linux${SFX}_locore.o: linux${SFX}_locore.s linux${SFX}_assym.h
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
${.IMPSRC} -o ${.TARGET}
linux_genassym.o: linux_genassym.c linux.h @ machine
linux${SFX}_genassym.o: linux${SFX}_genassym.c linux.h @ machine
${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
.if !defined(KERNBUILDDIR)