[Armadeus-commitlog] armadeus branch, master, updated. release-3.3-180-gec77fee
Brought to you by:
sszy
|
From: Fabien M <fa...@us...> - 2010-12-21 13:37:40
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via ec77fee42b05d11b6342650c8f970166bfe0fea3 (commit)
from 07ed9485bdc112a0e01b1ae8b80dbfda7bbdd4c1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ec77fee42b05d11b6342650c8f970166bfe0fea3
Author: Fabien Marteau <fab...@ar...>
Date: Tue Dec 21 14:37:13 2010 +0100
[u-boot] suppress useless mtest16 fonction
-----------------------------------------------------------------------
Summary of changes:
.../u-boot-2010.03-411-memtest_16bits_access.patch | 398 --------------------
1 files changed, 0 insertions(+), 398 deletions(-)
delete mode 100644 buildroot/target/u-boot/u-boot-2010.03-411-memtest_16bits_access.patch
diff --git a/buildroot/target/u-boot/u-boot-2010.03-411-memtest_16bits_access.patch b/buildroot/target/u-boot/u-boot-2010.03-411-memtest_16bits_access.patch
deleted file mode 100644
index 6d03409..0000000
--- a/buildroot/target/u-boot/u-boot-2010.03-411-memtest_16bits_access.patch
+++ /dev/null
@@ -1,398 +0,0 @@
-Index: u-boot-2010.03/common/cmd_mem.c
-===================================================================
---- u-boot-2010.03.orig/common/cmd_mem.c 2010-12-20 17:52:41.000000000 +0100
-+++ u-boot-2010.03/common/cmd_mem.c 2010-12-20 18:17:30.000000000 +0100
-@@ -26,7 +26,6 @@
- *
- * Copied from FADS ROM, Dan Malek (dm...@jl...)
- */
--
- #include <common.h>
- #include <command.h>
- #ifdef CONFIG_HAS_DATAFLASH
-@@ -977,6 +976,362 @@
- }
-
-
-+/*
-+ * Perform a memory test. A more complete alternative test can be
-+ * configured using CONFIG_SYS_ALT_MEMTEST. The complete test loops until
-+ * interrupted by ctrl-c or by a failure of one of the sub-tests.
-+ */
-+int do_mem_mtest16 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
-+{
-+ vu_short *addr, *start, *end;
-+ ushort val;
-+ ushort readback;
-+ ushort errs = 0;
-+ int iterations = 1;
-+ int iteration_limit;
-+
-+#if defined(CONFIG_SYS_ALT_MEMTEST)
-+ vu_short len;
-+ vu_short offset;
-+ vu_short test_offset;
-+ vu_short pattern;
-+ vu_short temp;
-+ vu_short anti_pattern;
-+ vu_short num_words;
-+#if defined(CONFIG_SYS_MEMTEST_SCRATCH)
-+ vu_short *dummy = (vu_long*)CONFIG_SYS_MEMTEST_SCRATCH;
-+#else
-+ vu_short *dummy = 0; /* yes, this is address 0x0, not NULL */
-+#endif
-+ int j;
-+
-+ static const ushort bitpattern[] = {
-+ 0x0001, /* single bit */
-+ 0x0003, /* two adjacent bits */
-+ 0x0007, /* three adjacent bits */
-+ 0x000F, /* four adjacent bits */
-+ 0x0005, /* two non-adjacent bits */
-+ 0x0015, /* three non-adjacent bits */
-+ 0x0055, /* four non-adjacent bits */
-+ 0xaaaa, /* alternating 1/0 */
-+ };
-+#else
-+ ulong incr;
-+ ushort pattern;
-+#endif
-+
-+ if (argc > 1)
-+ start = (ulong *)simple_strtoul(argv[1], NULL, 16);
-+ else
-+ start = (ulong *)CONFIG_SYS_MEMTEST_START;
-+
-+ if (argc > 2)
-+ end = (ulong *)simple_strtoul(argv[2], NULL, 16);
-+ else
-+ end = (ulong *)(CONFIG_SYS_MEMTEST_END);
-+
-+ if (argc > 3)
-+ pattern = (ulong)simple_strtoul(argv[3], NULL, 16);
-+ else
-+ pattern = 0;
-+
-+ if (argc > 4)
-+ iteration_limit = (ulong)simple_strtoul(argv[4], NULL, 16);
-+ else
-+ iteration_limit = 0;
-+
-+#if defined(CONFIG_SYS_ALT_MEMTEST)
-+ printf ("Testing %04x ... %04x:\n", (uint)start, (uint)end);
-+ PRINTF("%s:%d: start 0x%p end 0x%p\n",
-+ __FUNCTION__, __LINE__, start, end);
-+
-+ for (;;) {
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+
-+
-+ if (iteration_limit && iterations > iteration_limit) {
-+ printf("Tested %d iteration(s) with %lu errors.\n",
-+ iterations-1, errs);
-+ return errs != 0;
-+ }
-+
-+ printf("Iteration: %6d\r", iterations);
-+ PRINTF("\n");
-+ iterations++;
-+
-+ /*
-+ * Data line test: write a pattern to the first
-+ * location, write the 1's complement to a 'parking'
-+ * address (changes the state of the data bus so a
-+ * floating bus doen't give a false OK), and then
-+ * read the value back. Note that we read it back
-+ * into a variable because the next time we read it,
-+ * it might be right (been there, tough to explain to
-+ * the quality guys why it prints a failure when the
-+ * "is" and "should be" are obviously the same in the
-+ * error message).
-+ *
-+ * Rather than exhaustively testing, we test some
-+ * patterns by shifting '1' bits through a field of
-+ * '0's and '0' bits through a field of '1's (i.e.
-+ * pattern and ~pattern).
-+ */
-+ addr = start;
-+ for (j = 0; j < sizeof(bitpattern)/sizeof(bitpattern[0]); j++) {
-+ val = bitpattern[j];
-+ for(; val != 0; val <<= 1) {
-+ *addr = val;
-+ *dummy = ~val; /* clear the test data off of the bus */
-+ readback = *addr;
-+ if(readback != val) {
-+ printf ("FAILURE (data line): "
-+ "expected %04x, actual %04x\n",
-+ val, readback);
-+ errs++;
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+ }
-+ *addr = ~val;
-+ *dummy = val;
-+ readback = *addr;
-+ if(readback != ~val) {
-+ printf ("FAILURE (data line): "
-+ "Is %04x, should be %04x\n",
-+ readback, ~val);
-+ errs++;
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+ }
-+ }
-+ }
-+
-+ /*
-+ * Based on code whose Original Author and Copyright
-+ * information follows: Copyright (c) 1998 by Michael
-+ * Barr. This software is placed into the public
-+ * domain and may be used for any purpose. However,
-+ * this notice must not be changed or removed and no
-+ * warranty is either expressed or implied by its
-+ * publication or distribution.
-+ */
-+
-+ /*
-+ * Address line test
-+ *
-+ * Description: Test the address bus wiring in a
-+ * memory region by performing a walking
-+ * 1's test on the relevant bits of the
-+ * address and checking for aliasing.
-+ * This test will find single-bit
-+ * address failures such as stuck -high,
-+ * stuck-low, and shorted pins. The base
-+ * address and size of the region are
-+ * selected by the caller.
-+ *
-+ * Notes: For best results, the selected base
-+ * address should have enough LSB 0's to
-+ * guarantee single address bit changes.
-+ * For example, to test a 64-Kbyte
-+ * region, select a base address on a
-+ * 64-Kbyte boundary. Also, select the
-+ * region size as a power-of-two if at
-+ * all possible.
-+ *
-+ * Returns: 0 if the test succeeds, 1 if the test fails.
-+ */
-+ len = ((ulong)end - (ulong)start)/sizeof(vu_long);
-+ pattern = (vu_long) 0xaaaaaaaa;
-+ anti_pattern = (vu_long) 0x55555555;
-+
-+ PRINTF("%s:%d: length = 0x%.4x\n",
-+ __FUNCTION__, __LINE__,
-+ len);
-+ /*
-+ * Write the default pattern at each of the
-+ * power-of-two offsets.
-+ */
-+ for (offset = 1; offset < len; offset <<= 1) {
-+ start[offset] = pattern;
-+ }
-+
-+ /*
-+ * Check for address bits stuck high.
-+ */
-+ test_offset = 0;
-+ start[test_offset] = anti_pattern;
-+
-+ for (offset = 1; offset < len; offset <<= 1) {
-+ temp = start[offset];
-+ if (temp != pattern) {
-+ printf ("\nFAILURE: Address bit stuck high @ 0x%.4x:"
-+ " expected 0x%.4x, actual 0x%.4x\n",
-+ (ulong)&start[offset], pattern, temp);
-+ errs++;
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+ }
-+ }
-+ start[test_offset] = pattern;
-+ WATCHDOG_RESET();
-+
-+ /*
-+ * Check for addr bits stuck low or shorted.
-+ */
-+ for (test_offset = 1; test_offset < len; test_offset <<= 1) {
-+ start[test_offset] = anti_pattern;
-+
-+ for (offset = 1; offset < len; offset <<= 1) {
-+ temp = start[offset];
-+ if ((temp != pattern) && (offset != test_offset)) {
-+ printf ("\nFAILURE: Address bit stuck low or shorted @"
-+ " 0x%.4x: expected 0x%.4x, actual 0x%.4x\n",
-+ (ulong)&start[offset], pattern, temp);
-+ errs++;
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+ }
-+ }
-+ start[test_offset] = pattern;
-+ }
-+
-+ /*
-+ * Description: Test the integrity of a physical
-+ * memory device by performing an
-+ * increment/decrement test over the
-+ * entire region. In the process every
-+ * storage bit in the device is tested
-+ * as a zero and a one. The base address
-+ * and the size of the region are
-+ * selected by the caller.
-+ *
-+ * Returns: 0 if the test succeeds, 1 if the test fails.
-+ */
-+ num_words = ((ulong)end - (ulong)start)/sizeof(vu_long) + 1;
-+
-+ /*
-+ * Fill memory with a known pattern.
-+ */
-+ for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
-+ WATCHDOG_RESET();
-+ start[offset] = pattern;
-+ }
-+
-+ /*
-+ * Check each location and invert it for the second pass.
-+ */
-+ for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
-+ WATCHDOG_RESET();
-+ temp = start[offset];
-+ if (temp != pattern) {
-+ printf ("\nFAILURE (read/write) @ 0x%.4x:"
-+ " expected 0x%.4x, actual 0x%.4x)\n",
-+ (ulong)&start[offset], pattern, temp);
-+ errs++;
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+ }
-+
-+ anti_pattern = ~pattern;
-+ start[offset] = anti_pattern;
-+ }
-+
-+ /*
-+ * Check each location for the inverted pattern and zero it.
-+ */
-+ for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
-+ WATCHDOG_RESET();
-+ anti_pattern = ~pattern;
-+ temp = start[offset];
-+ if (temp != anti_pattern) {
-+ printf ("\nFAILURE (read/write): @ 0x%.4x:"
-+ " expected 0x%.4x, actual 0x%.4x)\n",
-+ (ulong)&start[offset], anti_pattern, temp);
-+ errs++;
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+ }
-+ start[offset] = 0;
-+ }
-+ }
-+
-+#else /* The original, quickie test */
-+ incr = 1;
-+ for (;;) {
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+
-+ if (iteration_limit && iterations > iteration_limit) {
-+ printf("Tested %d iteration(s) with %lu errors.\n",
-+ iterations-1, errs);
-+ return errs != 0;
-+ }
-+ ++iterations;
-+
-+ printf ("\rPattern %04X Writing..."
-+ "%12s"
-+ "\b\b\b\b\b\b\b\b\b\b",
-+ pattern, "");
-+
-+ for (addr=start,val=pattern; addr<end; addr++) {
-+ WATCHDOG_RESET();
-+ *addr = val;
-+ val += incr;
-+ }
-+
-+ puts ("Reading...");
-+
-+ for (addr=start,val=pattern; addr<end; addr++) {
-+ WATCHDOG_RESET();
-+ readback = *addr;
-+ if (readback != val) {
-+ printf ("\nMem error @ 0x%08X: "
-+ "found %04X, expected %04X\n",
-+ (uint)addr, readback, val);
-+ errs++;
-+ if (ctrlc()) {
-+ putc ('\n');
-+ return 1;
-+ }
-+ }
-+ val += incr;
-+ }
-+
-+ /*
-+ * Flip the pattern each time to make lots of zeros and
-+ * then, the next time, lots of ones. We decrement
-+ * the "negative" patterns and increment the "positive"
-+ * patterns to preserve this feature.
-+ */
-+ if(pattern & 0x80000000) {
-+ pattern = -pattern; /* complement & increment */
-+ }
-+ else {
-+ pattern = ~pattern;
-+ }
-+ incr = -incr;
-+ }
-+#endif
-+ return 0; /* not reached */
-+}
-+
-+
- /* Modify memory.
- *
- * Syntax:
-@@ -1035,7 +1390,7 @@
- * the next value. A non-converted value exits.
- */
- do {
-- printf("%08lx:", addr);
-+ printf("%04x:", addr);
- if (size == 4)
- printf(" %08x", *((uint *)addr));
- else if (size == 2)
-@@ -1333,6 +1688,13 @@
- "[start [end [pattern [iterations]]]]"
- );
-
-+U_BOOT_CMD(
-+ mtest16, 5, 1, do_mem_mtest16,
-+ "simple RAM read/write 16 bits test",
-+ "[start [end [pattern [iterations]]]]"
-+);
-+
-+
- #ifdef CONFIG_MX_CYCLIC
- U_BOOT_CMD(
- mdc, 4, 1, do_mem_mdc,
hooks/post-receive
--
armadeus
|