aboutsummaryrefslogtreecommitdiffstats
path: root/include/cmd_mem.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cmd_mem.h')
-rw-r--r--include/cmd_mem.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/include/cmd_mem.h b/include/cmd_mem.h
new file mode 100644
index 0000000000..aa0c540c10
--- /dev/null
+++ b/include/cmd_mem.h
@@ -0,0 +1,112 @@
+/*
+ * (C) Copyright 2000
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+/*
+ * Memory Functions
+ */
+#ifndef _CMD_MEM_H
+#define _CMD_MEM_H
+
+#if (CONFIG_COMMANDS & CFG_CMD_MEMORY)
+#define CMD_TBL_MD MK_CMD_TBL_ENTRY( \
+ "md", 2, 3, 1, do_mem_md, \
+ "md - memory display\n", \
+ "[.b, .w, .l] address [# of objects]\n - memory display\n" \
+),
+#define CMD_TBL_MM MK_CMD_TBL_ENTRY( \
+ "mm", 2, 2, 1, do_mem_mm, \
+ "mm - memory modify (auto-incrementing)\n", \
+ "[.b, .w, .l] address\n" \
+ " - memory modify, auto increment address\n" \
+),
+#define CMD_TBL_NM MK_CMD_TBL_ENTRY( \
+ "nm", 2, 2, 1, do_mem_nm, \
+ "nm - memory modify (constant address)\n", \
+ "[.b, .w, .l] address\n - memory modify, read and keep address\n" \
+),
+#define CMD_TBL_MW MK_CMD_TBL_ENTRY( \
+ "mw", 2, 4, 1, do_mem_mw, \
+ "mw - memory write (fill)\n", \
+ "[.b, .w, .l] address value [count]\n - write memory\n" \
+),
+#define CMD_TBL_CP MK_CMD_TBL_ENTRY( \
+ "cp", 2, 4, 1, do_mem_cp, \
+ "cp - memory copy\n", \
+ "[.b, .w, .l] source target count\n - copy memory\n" \
+),
+#define CMD_TBL_CMP MK_CMD_TBL_ENTRY( \
+ "cmp", 3, 4, 1, do_mem_cmp, \
+ "cmp - memory compare\n", \
+ "[.b, .w, .l] addr1 addr2 count\n - compare memory\n" \
+),
+#define CMD_TBL_CRC MK_CMD_TBL_ENTRY( \
+ "crc32", 3, 4, 1, do_mem_crc, \
+ "crc32 - checksum calculation\n", \
+ "address count [addr]\n - compute CRC32 checksum [save at addr]\n" \
+),
+#define CMD_TBL_BASE MK_CMD_TBL_ENTRY( \
+ "base", 2, 2, 1, do_mem_base, \
+ "base - print or set address offset\n", \
+ "\n - print address offset for memory commands\n" \
+ "base off\n - set address offset for memory commands to 'off'\n" \
+),
+/*
+ * Require full name for "loop" and "mtest" because these are infinite loops!
+ */
+#define CMD_TBL_LOOP MK_CMD_TBL_ENTRY( \
+ "loop", 4, 3, 1, do_mem_loop, \
+ "loop - infinite loop on address range\n", \
+ "[.b, .w, .l] address number_of_objects\n" \
+ " - loop on a set of addresses\n" \
+),
+#define CMD_TBL_MTEST MK_CMD_TBL_ENTRY( \
+ "mtest", 5, 4, 1, do_mem_mtest, \
+ "mtest - simple RAM test\n", \
+ "[start [end [pattern]]]\n" \
+ " - simple RAM read/write test\n" \
+),
+int do_mem_md (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_mm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_nm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_mw (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_cp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_cmp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_crc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_base (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_loop (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+
+#else
+#define CMD_TBL_MD
+#define CMD_TBL_MM
+#define CMD_TBL_NM
+#define CMD_TBL_MW
+#define CMD_TBL_CP
+#define CMD_TBL_CMP
+#define CMD_TBL_CRC
+#define CMD_TBL_BASE
+#define CMD_TBL_LOOP
+#define CMD_TBL_MTEST
+#endif /* CFG_CMD_MEMORY */
+
+#endif /* _CMD_MEM_H */