diff options
author | kib <kib@FreeBSD.org> | 2007-05-23 08:33:06 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2007-05-23 08:33:06 +0000 |
commit | cdee790df9aefa589048c813a730fb95c714bd3a (patch) | |
tree | 9e0211f55a99ffc4fef4f84e9c3b74e63cc9cbc6 /sys/modules | |
parent | 253a9fb8b6b9af702912dffa3b9addcd79d4618b (diff) | |
download | FreeBSD-src-cdee790df9aefa589048c813a730fb95c714bd3a.zip FreeBSD-src-cdee790df9aefa589048c813a730fb95c714bd3a.tar.gz |
Move futex support code from <arch>/support.s into linux compat directory.
Implement all futex atomic operations in assembler to not depend on the
fuword() that does not allow to distinguish between -1 and failure return.
Correctly return 0 from atomic operations on success.
In collaboration with: rdivacky
Tested by: Scot Hetzel <swhetzel gmail com>, Milos Vyletel <mvyletel mzm cz>
Sponsored by: Google SoC 2007
Diffstat (limited to 'sys/modules')
-rw-r--r-- | sys/modules/linux/Makefile | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile index 1230470..5d956d9 100644 --- a/sys/modules/linux/Makefile +++ b/sys/modules/linux/Makefile @@ -14,8 +14,12 @@ SRCS= linux${SFX}_dummy.c linux_emul.c linux_file.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${SFX}_locore.o + device_if.h bus_if.h assym.s + +# XXX: for assym.s +SRCS+= opt_kstack_pages.h opt_nfs.h opt_apic.h opt_compat.h + +OBJS= linux${SFX}_locore.o linux${SFX}_support.o .if ${MACHINE_ARCH} == "i386" SRCS+= linux_ptrace.c imgact_linux.c opt_cpu.h @@ -41,6 +45,10 @@ linux${SFX}_locore.o: linux${SFX}_locore.s linux${SFX}_assym.h ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ ${.IMPSRC} -o ${.TARGET} +linux${SFX}_support.o: linux${SFX}_support.s assym.s + ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ + ${.IMPSRC} -o ${.TARGET} + linux${SFX}_genassym.o: linux${SFX}_genassym.c linux.h @ machine ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC} |