summaryrefslogtreecommitdiff
path: root/src/ram/ramtest.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2009-09-23 18:51:03 +0000
committerStefan Reinauer <stepan@openbios.org>2009-09-23 18:51:03 +0000
commitc13093b1484565382bd5e00722149442e46635ee (patch)
treea819bd3d19560221155eeb5a8cb58149737131be /src/ram/ramtest.c
parenta946214ea09d4ca89a575525d0ae0469526e7dcc (diff)
simplify source tree hierarchy: move files from sdram/ and ram/ to lib/
It's only three files. Also fix up all the paths (Gotta love included C files) Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4661 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/ram/ramtest.c')
-rw-r--r--src/ram/ramtest.c161
1 files changed, 0 insertions, 161 deletions
diff --git a/src/ram/ramtest.c b/src/ram/ramtest.c
deleted file mode 100644
index 9f329ef51b..0000000000
--- a/src/ram/ramtest.c
+++ /dev/null
@@ -1,161 +0,0 @@
-static void write_phys(unsigned long addr, unsigned long value)
-{
-#if CONFIG_HAVE_MOVNTI
- asm volatile(
- "movnti %1, (%0)"
- : /* outputs */
- : "r" (addr), "r" (value) /* inputs */
-#ifndef __GNUC__
- : /* clobbers */
-#endif
- );
-#else
- volatile unsigned long *ptr;
- ptr = (void *)addr;
- *ptr = value;
-#endif
-}
-
-static unsigned long read_phys(unsigned long addr)
-{
- volatile unsigned long *ptr;
- ptr = (void *)addr;
- return *ptr;
-}
-
-static void ram_fill(unsigned long start, unsigned long stop)
-{
- unsigned long addr;
- /*
- * Fill.
- */
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("DRAM fill: 0x%08x-0x%08x\r\n", start, stop);
-#else
- print_debug("DRAM fill: ");
- print_debug_hex32(start);
- print_debug("-");
- print_debug_hex32(stop);
- print_debug("\r\n");
-#endif
- for(addr = start; addr < stop ; addr += 4) {
- /* Display address being filled */
- if (!(addr & 0xfffff)) {
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("%08x \r", addr);
-#else
- print_debug_hex32(addr);
- print_debug(" \r");
-#endif
- }
- write_phys(addr, addr);
- };
- /* Display final address */
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("%08x\r\nDRAM filled\r\n", addr);
-#else
- print_debug_hex32(addr);
- print_debug("\r\nDRAM filled\r\n");
-#endif
-}
-
-static void ram_verify(unsigned long start, unsigned long stop)
-{
- unsigned long addr;
- int i = 0;
- /*
- * Verify.
- */
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("DRAM verify: 0x%08x-0x%08x\r\n", start, stop);
-#else
- print_debug("DRAM verify: ");
- print_debug_hex32(start);
- print_debug_char('-');
- print_debug_hex32(stop);
- print_debug("\r\n");
-#endif
- for(addr = start; addr < stop ; addr += 4) {
- unsigned long value;
- /* Display address being tested */
- if (!(addr & 0xfffff)) {
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("%08x \r", addr);
-#else
- print_debug_hex32(addr);
- print_debug(" \r");
-#endif
- }
- value = read_phys(addr);
- if (value != addr) {
- /* Display address with error */
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_err("Fail: @0x%08x Read value=0x%08x\r\n", addr, value);
-#else
- print_err("Fail: @0x");
- print_err_hex32(addr);
- print_err(" Read value=0x");
- print_err_hex32(value);
- print_err("\r\n");
-#endif
- i++;
- if(i>256) {
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("Aborting.\n\r");
-#else
- print_debug("Aborting.\n\r");
-#endif
- break;
- }
- }
- }
- /* Display final address */
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("%08x", addr);
-#else
- print_debug_hex32(addr);
-#endif
-
- if (i) {
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("\r\nDRAM did _NOT_ verify!\r\n");
-#else
- print_debug("\r\nDRAM did _NOT_ verify!\r\n");
-#endif
- die("DRAM ERROR");
- }
- else {
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("\r\nDRAM range verified.\r\n");
-#else
- print_debug("\r\nDRAM range verified.\r\n");
-#endif
- }
-}
-
-
-void ram_check(unsigned long start, unsigned long stop)
-{
- /*
- * This is much more of a "Is my DRAM properly configured?"
- * test than a "Is my DRAM faulty?" test. Not all bits
- * are tested. -Tyson
- */
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("Testing DRAM : %08x - %08x\r\n", start, stop);
-#else
- print_debug("Testing DRAM : ");
- print_debug_hex32(start);
- print_debug("-");
- print_debug_hex32(stop);
- print_debug("\r\n");
-#endif
- ram_fill(start, stop);
- ram_verify(start, stop);
-#if CONFIG_USE_PRINTK_IN_CAR
- printk_debug("Done.\r\n");
-#else
- print_debug("Done.\r\n");
-#endif
-}
-