#include <s_record.h>
#include <net.h>
#include <ata.h>
+#include <asm/io.h>
#include <part.h>
#include <fat.h>
#include <fs.h>
U_BOOT_CMD(
fatload, 7, 0, do_fat_fsload,
"load binary file from a dos filesystem",
- "<interface> [<dev[:part]>] <addr> <filename> [bytes [pos]]\n"
+ "<interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]\n"
" - Load binary file 'filename' from 'dev' on 'interface'\n"
" to address 'addr' from dos filesystem.\n"
" 'pos' gives the file position to start loading from.\n"
disk_partition_t info;
int dev = 0;
int part = 1;
+ void *buf;
if (argc < 5)
return cmd_usage(cmdtp);
addr = simple_strtoul(argv[3], NULL, 16);
count = simple_strtoul(argv[5], NULL, 16);
- size = file_fat_write(argv[4], (void *)addr, count);
+ buf = map_sysmem(addr, count);
+ size = file_fat_write(argv[4], buf, count);
+ unmap_sysmem(buf);
if (size == -1) {
printf("\n** Unable to write \"%s\" from %s %d:%d **\n",
argv[4], argv[1], dev, part);