linux/arch/x86/lib
Nick Piggin df1bdc0667 x86: fence oostores on 64-bit
movnt* instructions are not strongly ordered with respect to other stores,
so if we are to assume stores are strongly ordered in the rest of the 64
bit code, we must fence these off (see similar examples in 32 bit code).

[ The AMD memory ordering document seems to say that nontemporal stores can
  also pass earlier regular stores, so maybe we need sfences _before_
  movnt* everywhere too? ]

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-12 18:41:21 -07:00
..
bitops_32.c i386: move lib 2007-10-11 11:16:33 +02:00
bitops_64.c x86_64: move lib 2007-10-11 11:17:08 +02:00
bitstr_64.c x86_64: move lib 2007-10-11 11:17:08 +02:00
checksum_32.S i386: move lib 2007-10-11 11:16:33 +02:00
clear_page_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
copy_page_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
copy_user_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
copy_user_nocache_64.S x86: fence oostores on 64-bit 2007-10-12 18:41:21 -07:00
csum-copy_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
csum-partial_64.c x86_64: move lib 2007-10-11 11:17:08 +02:00
csum-wrappers_64.c x86_64: move lib 2007-10-11 11:17:08 +02:00
delay_32.c i386: move lib 2007-10-11 11:16:33 +02:00
delay_64.c x86_64: move lib 2007-10-11 11:17:08 +02:00
getuser_32.S i386: move lib 2007-10-11 11:16:33 +02:00
getuser_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
io_64.c x86_64: move lib 2007-10-11 11:17:08 +02:00
iomap_copy_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
Makefile x86_64: move lib 2007-10-11 11:17:08 +02:00
Makefile_32 i386: move lib 2007-10-11 11:16:33 +02:00
Makefile_64 x86_64: move lib 2007-10-11 11:17:08 +02:00
memcpy_32.c i386: move lib 2007-10-11 11:16:33 +02:00
memcpy_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
memmove_64.c x86_64: move lib 2007-10-11 11:17:08 +02:00
memset_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
mmx_32.c i386: move lib 2007-10-11 11:16:33 +02:00
msr-on-cpu.c i386: move lib 2007-10-11 11:16:33 +02:00
putuser_32.S i386: move lib 2007-10-11 11:16:33 +02:00
putuser_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
rwlock_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
semaphore_32.S i386: move lib 2007-10-11 11:16:33 +02:00
string_32.c i386: move lib 2007-10-11 11:16:33 +02:00
strstr_32.c i386: move lib 2007-10-11 11:16:33 +02:00
thunk_64.S x86_64: move lib 2007-10-11 11:17:08 +02:00
usercopy_32.c i386: move lib 2007-10-11 11:16:33 +02:00
usercopy_64.c x86_64: move lib 2007-10-11 11:17:08 +02:00