+static int memory_post_test_lines(unsigned long start, unsigned long size)
+{
+ int ret = 0;
+
+ ret = memory_post_dataline((unsigned long long *)start);
+ WATCHDOG_RESET();
+ if (!ret)
+ ret = memory_post_addrline((ulong *)start, (ulong *)start,
+ size);
+ WATCHDOG_RESET();
+ if (!ret)
+ ret = memory_post_addrline((ulong *)(start+size-8),
+ (ulong *)start, size);
+ WATCHDOG_RESET();
+
+ return ret;
+}
+
+static int memory_post_test_patterns(unsigned long start, unsigned long size)
+{
+ int ret = 0;
+
+ ret = memory_post_test1(start, size, 0x00000000);
+ WATCHDOG_RESET();
+ if (!ret)
+ ret = memory_post_test1(start, size, 0xffffffff);
+ WATCHDOG_RESET();
+ if (!ret)
+ ret = memory_post_test1(start, size, 0x55555555);
+ WATCHDOG_RESET();
+ if (!ret)
+ ret = memory_post_test1(start, size, 0xaaaaaaaa);
+ WATCHDOG_RESET();
+ if (!ret)
+ ret = memory_post_test2(start, size);
+ WATCHDOG_RESET();
+ if (!ret)
+ ret = memory_post_test3(start, size);
+ WATCHDOG_RESET();
+ if (!ret)
+ ret = memory_post_test4(start, size);
+ WATCHDOG_RESET();
+
+ return ret;
+}
+
+static int memory_post_test_regions(unsigned long start, unsigned long size)