From 8d9c123812492a80a43112c8dd217fcfb3cee2c5 Mon Sep 17 00:00:00 2001 From: Eric Biederman Date: Tue, 17 Jun 2003 08:42:17 +0000 Subject: - Minor mod to reset16.inc to work with newer binutils hopefully this works with older ones... - Update apic.h to include the APIC_TASK_PRI register definition - Update mptable.c to have a reasonable board OEM and productid - Additional testfiles for romcc. - Split out auto.c and early failover.c moving their generic bits elsewere - Enable cache of the rom - Fixes to amd8111_lpc.c so that we successfully setup virtual wire mode on the ioapic git-svn-id: svn://svn.coreboot.org/coreboot/trunk@880 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/ram/ramtest.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'src/ram') diff --git a/src/ram/ramtest.c b/src/ram/ramtest.c index 55c22e7084..068d3bd705 100644 --- a/src/ram/ramtest.c +++ b/src/ram/ramtest.c @@ -1,8 +1,24 @@ +#if defined(i786) +#define HAVE_MOVNTI 1 +#endif +#if defined(k8) +#define HAVE_MOVNTI 1 +#endif + static void write_phys(unsigned long addr, unsigned long value) { +#if HAVE_MOVNTI + asm volatile( + "movnti %1, (%0)" + : /* outputs */ + : "r" (addr), "r" (value) /* inputs */ + : /* clobbers */ + ); +#else volatile unsigned long *ptr; ptr = (void *)addr; *ptr = value; +#endif } static unsigned long read_phys(unsigned long addr) @@ -12,7 +28,7 @@ static unsigned long read_phys(unsigned long addr) return *ptr; } -void ram_fill(unsigned long start, unsigned long stop) +static void ram_fill(unsigned long start, unsigned long stop) { unsigned long addr; /* @@ -25,7 +41,7 @@ void ram_fill(unsigned long start, unsigned long stop) print_debug("\r\n"); for(addr = start; addr < stop ; addr += 4) { /* Display address being filled */ - if ((addr & 0xffff) == 0) { + if (!(addr & 0xffff)) { print_debug_hex32(addr); print_debug("\r"); } @@ -36,7 +52,7 @@ void ram_fill(unsigned long start, unsigned long stop) print_debug("\r\nDRAM filled\r\n"); } -void ram_verify(unsigned long start, unsigned long stop) +static void ram_verify(unsigned long start, unsigned long stop) { unsigned long addr; /* @@ -50,7 +66,7 @@ void ram_verify(unsigned long start, unsigned long stop) for(addr = start; addr < stop ; addr += 4) { unsigned long value; /* Display address being tested */ - if ((addr & 0xffff) == 0) { + if (!(addr & 0xffff)) { print_debug_hex32(addr); print_debug("\r"); } @@ -69,7 +85,7 @@ void ram_verify(unsigned long start, unsigned long stop) } -void ramcheck(unsigned long start, unsigned long stop) +void ram_check(unsigned long start, unsigned long stop) { int result; /* -- cgit v1.2.3