From a7acc515bd10f24d400b3aa3a3c807076cac4f95 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Thu, 25 Feb 2010 13:40:49 +0000 Subject: HAVE_MOVNTI really means SSE2. Also add sfence in the MOVNTI case. Signed-off-by: Stefan Reinauer Acked-by: Patrick Georgi git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5159 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/lib/ramtest.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/ramtest.c b/src/lib/ramtest.c index 4f00030b89..6268aaa6cd 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 @@ static void ram_fill(unsigned long start, unsigned long stop) } 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); -- cgit v1.2.3