--- u-boot-2013.07/common/main.c 2013-12-13 13:49:25.700958498 -0500 +++ uboot.new/common/main.c 2013-12-13 10:09:07.240960075 -0500 @@ -40,6 +40,10 @@ DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_SIMULATE_ACPI +void SimulateACPI(void); +#endif + /* * Board-specific Platform code can reimplement show_boot_progress () if needed */ @@ -243,13 +247,19 @@ break; } udelay(10000); - } while (!abort && get_timer(ts) < 1000); + } while (!abort && get_timer(ts) < CONFIG_SYS_HZ); printf("\b\b\b%2d ", bootdelay); } putc('\n'); +#ifdef CONFIG_SIMULATE_ACPI + if (!abort) + SimulateACPI(); +#endif + + #ifdef CONFIG_SILENT_CONSOLE if (abort) gd->flags &= ~GD_FLG_SILENT; @@ -407,6 +417,12 @@ debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : ""); +#ifdef CONFIG_DRAM_ECC + printf("DRAM ECC enabled\n"); +#else + printf("DRAM ECC disabled\n"); +#endif + if (bootdelay != -1 && s && !abortboot(bootdelay)) { #ifdef CONFIG_AUTOBOOT_KEYED int prev = disable_ctrlc(1); /* disable Control C checking */ @@ -429,6 +445,65 @@ } #endif /* CONFIG_BOOTDELAY */ +#ifdef CONFIG_MEMTEST_ENABLE +int do_mtest(vu_long *start,vu_long *end,ulong pattern) +{ + vu_long *addr; + ulong incr=0; + int rcode = 0,i; + ulong val; + ulong readback; + + incr = 1; + /*Allow only 4 Iteration now*/ + for (i=0;i<4;i++) { + if (ctrlc()) { + putc ('\n'); + return 1; + } + + printf ("\rPattern %08lX Writing..." + "%12s" + "\b\b\b\b\b\b\b\b\b\b", + pattern, ""); + + for (addr=start,val=pattern; addr