HAVE_MOVNTI really means SSE2. Also add sfence in the MOVNTI case.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5159 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/lib/ramtest.c b/src/lib/ramtest.c
index 4f00030..6268aaa 100644
--- a/src/lib/ramtest.c
+++ b/src/lib/ramtest.c
@@ -1,6 +1,8 @@
 static void write_phys(unsigned long addr, unsigned long value)
 {
-#if CONFIG_HAVE_MOVNTI
+	// Assembler in lib/ is very ugly. But we properly guarded
+	// it so let's obey this one for now
+#if CONFIG_SSE2
 	asm volatile(
 		"movnti %1, (%0)"
 		: /* outputs */
@@ -50,6 +52,10 @@
 		}
 		write_phys(addr, addr);
 	};
+#if CONFIG_SSE2
+	// Needed for movnti
+	asm volatile ("sfence" ::: "memory");
+#endif
 	/* Display final address */
 #if CONFIG_USE_PRINTK_IN_CAR
 	printk_debug("%08lx\r\nDRAM filled\r\n", addr);