aboutsummaryrefslogtreecommitdiff
path: root/common/cmd_jffs2.c
AgeCommit message (Collapse)Author
2011-01-19cmd_jffs2: Fix get_part_sector_size_nor() overflow bugPeter Tyser
When a flash partition was positioned at the very top of a 32-bit memory map (eg located at 0xf8000000 with a size of 0x8000000) get_part_sector_size_nor() would incorrectly calculate the partition's ending address to 0x0 due to overflow. When the overflow occurred get_part_sector_size_nor() would falsely return a sector size of 0. A sector size of 0 results in subsequent jffs2 operations failing. To workaround the overflow subtract 1 from calculated address of the partition endpoint. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2010-07-04Make sure that argv[] argument pointers are not modified.Wolfgang Denk
The hush shell dynamically allocates (and re-allocates) memory for the argument strings in the "char *argv[]" argument vector passed to commands. Any code that modifies these pointers will cause serious corruption of the malloc data structures and crash U-Boot, so make sure the compiler can check that no such modifications are being done by changing the code into "char * const argv[]". This modification is the result of debugging a strange crash caused after adding a new command, which used the following argument processing code which has been working perfectly fine in all Unix systems since version 6 - but not so in U-Boot: int main (int argc, char **argv) { while (--argc > 0 && **++argv == '-') { /* ====> */ while (*++*argv) { switch (**argv) { case 'd': debug++; break; ... default: usage (); } } } ... } The line marked "====>" will corrupt the malloc data structures and usually cause U-Boot to crash when the next command gets executed by the shell. With the modification, the compiler will prevent this with an error: increment of read-only location '*argv' N.B.: The code above can be trivially rewritten like this: while (--argc > 0 && **++argv == '-') { char *arg = *argv; while (*++arg) { switch (*arg) { ... Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
2010-01-26jffs2: fix hangs/crashs when not using CONFIG_JFFS2_PART_SIZEMike Frysinger
Commit b5b004ad8a0ac6f98bd5708ec8b22fbddd1c1042 caused the sector_size to be calculated incorrectly when the part size was not hardcoded. This is because the new code relied on part->size but tried to do the calculation before it was initialized properly, and it did not take into consideration the magic SIZE_REMAINING define. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-16Remove legacy NAND and disk on chip code.Scott Wood
Legacy NAND had been scheduled for removal. Any boards that use this were already not building in the previous release due to an #error. The disk on chip code in common/cmd_doc.c relies on legacy NAND, and it has also been removed. There is newer disk on chip code in drivers/mtd/nand; someone with access to hardware and sufficient time and motivation can try to get that working, but for now disk on chip is not supported. Signed-off-by: Scott Wood <scottwood@freescale.com>
2009-06-12General help message cleanupWolfgang Denk
Many of the help messages were not really helpful; for example, many commands that take no arguments would not print a correct synopsis line, but "No additional help available." which is not exactly wrong, but not helpful either. Commit ``Make "usage" messages more helpful.'' changed this partially. But it also became clear that lots of "Usage" and "Help" messages (fields "usage" and "help" in struct cmd_tbl_s respective) were actually redundant. This patch cleans this up - for example: Before: => help dtt dtt - Digital Thermometer and Thermostat Usage: dtt - Read temperature from digital thermometer and thermostat. After: => help dtt dtt - Read temperature from Digital Thermometer and Thermostat Usage: dtt Signed-off-by: Wolfgang Denk <wd@denx.de>
2009-05-28jffs2/mtdparts: Fix problem with usage from JFFS2 and MTDPARTS togetherStefan Roese
Currently using JFFS2 with MTDPARTS enabled doesn't work. This is because mtdparts_init() is available in both files, cmd_mtdparts.c and cmd_jffs2.c. Please note that in the original cmd_jffs2.c file (before the jffs2/mtdparts command/file split those 2 different versions already existed. So this is nothing new. The main problem is that the variables "current_dev" and "current_partnum" are declared in both files now. This doesn't work. This patch now changes the names of those variable to more specific names: "current_mtd_dev" and "current_mtd_partnum". This is because this patch also changes the declaration from static to global, so that they can be used from both files. Please note that my first tests were not successful. The MTD devices selected via mtdparts are now accessed but I'm failing to see the directory listed via the "ls" command. Nothing is displayed. Perhaps I didn't generate the JFFS2 image correctly (I never used JFFS2 in U-Boot before). Not sure. Perhaps somebody else could take a look at this as well. I'll continue looking into this on Monday. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Wolfgang Denk <wd@denx.de> Cc: Detlev Zundel <dzu@denx.de> Cc: Ilya Yanok <yanok@emcraft.com> Cc: Renaud barbier <renaud.barbier@ge.com>
2009-03-20Separate mtdparts command from jffs2Stefan Roese
Currently the mtdparts commands are included in the jffs2 command support. This doesn't make sense anymore since other commands (e.g. UBI) use this infrastructure as well now. This patch separates the mtdparts commands from the jffs2 commands making it possible to only select mtdparts when no JFFS2 support is needed. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
2009-01-28Command usage cleanupPeter Tyser
Remove command name from all command "usage" fields and update common/command.c to display "name - usage" instead of just "usage". Also remove newlines from command usage fields. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-01-28Standardize command usage messages with cmd_usage()Peter Tyser
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-01-27jffs2: Fix zero sector_size when not using CONFIG_JFFS2_CMDLINETomasz Figa
This patch fixes a bug (?) introduced after inclusion of the new JFFS2 code. When not using CONFIG_JFFS2_CMDLINE, the code in cmd_jffs2.c doesn't fill in part->sector_size (keeping it as 0), but a correct value is needed by the code in jffs2_1pass.c. This causes all JFFS2 accesses to be in the same place of the memory, what obviously means impossibility to use the JFFS2 partition. This problem is fixed in this patch by including sector size calculation in non-CONFIG_JFFS2_CMDLINE mtdparts_init variant. Signed-off-by: Tomasz Figa <tomasz.figa_at_gmail.com>
2008-12-09jffs2: add sector_size field to part_info structureIlya Yanok
This patch adds sector_size field to part_info structure (used by new JFFS2 code). Signed-off-by: Ilya Yanok <yanok@emcraft.com>
2008-12-08jffs2: rename devices_init () in common/jffs2.cHeiko Schocher
rename devices_init () in common/jffs2.c to jffs2_devices_init (), because there is also a devices_init () in common/devices.c. Signed-off-by: Heiko Schocher <hs@denx.de>
2008-10-18rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-09-06Add JFFS2 command support on OneNANDKyungmin Park
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
2008-08-13drivers/mtd/nand: Move conditional compilation to MakefileJean-Christophe PLAGNIOL-VILLARD
rename CFG_NAND_LEGACY to CONFIG_NAND_LEGACY Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-07-10silence misc printf formatting compiler warningsKim Phillips
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2008-01-09Fix building with CRAMFS but not JFFS2 supportHarald Welte
Signed-off-by: Harald Welte <laforge@openmoko.org>
2007-11-20[BUILD] conditionally compile common/cmd_*.c in common/MakefileGrant Likely
Modify common/Makefile to conditionally compile the cmd_*.c files based on the board config. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2007-09-15Synchronize with U-BOOT mainlineMichal Simek
2007-08-07Merge git://www.denx.de/git/u-bootMichal Simek
2007-08-06[FIX] Coding style cleanup - Wolfgang's suggestionsMichal Simek
2007-07-14[FS] Added support for ROMFSMichal Simek
2007-07-10common/: Remove lingering references to CFG_CMD_* symbols.Jon Loeliger
Fixed some broken instances of "#ifdef CMD_CFG_IDE" too. Those always evaluated TRUE, and thus were always compiled even when IDE really wasn't defined/wanted. Signed-off-by: Jon Loeliger <jdl@freescale.com>
2007-07-08common/cmd_[i-n]*: Remove obsolete references to CONFIG_COMMANDS.Jon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2007-07-04common/cmd_[i-z]* : Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).Jon Loeliger
This is a compatibility step that allows both the older form and the new form to co-exist for a while until the older can be removed entirely. All transformations are of the form: Before: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) After: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT) Signed-off-by: Jon Loeliger <jdl@freescale.com>
2006-10-28[PATCH] NAND: Partition name support added to NAND subsystemStefan Roese
chpart, nboot and NAND subsystem related commands now accept also partition name to specify offset. Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Stefan Roese <sr@denx.de>
2006-09-13Fix alignment problem in "mtdparts" commandWolfgang Denk
2006-03-05Re-factoring the legacy NAND code (legacy NAND now only in board-specificBartlomiej Sieka
code and in SoC code). Boards using the old way have CFG_NAND_LEGACY and BOARDLIBS = drivers/nand_legacy/libnand_legacy.a added. Build breakage for NETTA.ERR and NETTA_ISDN - will go away when the new NAND support is implemented for these boards.
2006-02-24Merge with /home/wd/git/u-boot/testing-NAND/ to add new NAND handling.Bartlomiej Sieka
2005-10-11Added support for TQM834x boards.Marian Balakowicz
2005-09-14Update of new NAND codeWolfgang Denk
Patch by Ladislav Michl, 13 Sep 2005
2005-09-11Added support for mtddevnum and mtddevname variables (mtdparts command)Marian Balakowicz
2005-08-16Fix return values of the jffs2 commands ls/fsload/fsinfo,Wolfgang Denk
so we can use them to, e.g., check the existence of a file with "if ls foo; then this; else that; fi" in the hush shell Patch by Andreas Engel, 16 August 2005
2005-08-10Add configuration for IFM AEV FIFO board.Wolfgang Denk
Minor coding style cleanup.
2005-08-09Make new "mtdparts" code build with older compilersWolfgang Denk
Patch by Andrea Scian, 09 Aug 2005
2005-08-08Add common (with Linux) MTD partition scheme and "mtdparts" commandWolfgang Denk
Old, obsolete and duplicated code was cleaned up and replace by the new partitioning method. There are two possible approaches now: * define a single, static partition * use mtdparts command line option and dynamic partitioning Default is static partitioning.
2005-06-10* Add support for HMI1001 boardwdenk
* Disable "date" and "sntp" commands on TQM866M which has no RTC
2004-09-08* Patch by Detlev Zundel, 08 Sep 2004:wdenk
Update etags build target * Improve NetConsole support: add support for broadcast destination address and buffered input. * Cleanup compiler warnings for GCC 3.3.x and later * Fix problem in cmd_jffs2.c introduced by CFG_JFFS_SINGLE_PART patch
2004-08-02* Patch by Andreas Engel, 12 Jul 2004:wdenk
Replaced hardcoded PL011 clock frequency with config variable. Fixed wrong CONFIG_CMD_DFL doc. * Patch by Thomas Viehweger, 09 Jun 2004: make it possible to remove chpart when there is only one partition
2004-07-01* Code cleanup (ARM mostly)wdenk
* Patch by Curt Brune, 17 May 2004: - Add support for Samsung S3C4510B CPU (ARM7tdmi based SoC) - Add support for ESPD-Inc. EVB4510 Board
2004-06-10* Patch by Robert Schwebel, 10 Jun 2004:wdenk
Add support for Intel K3 strata flash. * Some cleanup * Patch by Thomas Brand, 10 Jun 2004: Fix "loads" command on DK1S10 board
2004-06-09* Patch by Paul Ruhland, 17 May 2004:wdenk
- Add support for the Logic Zoom LH7A40x based SDK board(s), specifically the LPD7A400. * Patches by Robert Schwebel, 15 May 2004: - call MAC address reading code also for SMSC91C111; - make SMSC91C111 timeout configurable, remove duplicate code - fix get_timer() for PXA - update doc/README.JFFS2 - use "bootfile" env variable also for jffs2
2004-06-09Patch by Thomas Viehweger, 14 May 2004:wdenk
- flash.h: more flash types added - immap_8260.h: some bits added (useful for RMII) - cmd_coninfo.c: typo corrected, printf -> puts - reduced size by replacing spaces with tab
2004-04-25* Back out Patch by Christian Hohnstaedt, 23 Apr 2004:wdenk
(JFFS2 speed enhancements) because of using non-public data (PHYS_FLASH_SECT_SIZE) * Patch by Travis Sawyer, 23 Apr 2004: Fix VSC/CIS 8201 phy descrambler interoperability timing due to errata from Vitesse Semiconductor.
2004-04-25* Patch by Christian Hohnstaedt, 23 Apr 2004:wdenk
JFFS2 speed enhancements: - repair header CRC calculation in jffs2_1pass.c - add eraseblock size to the partition information to skip empty eraseblocks if we find more then 4k of free space. - The JFFS2 scanner is now fast enough to remove the spinning wheel so #ifdef-ed out. - add watchdog calls in long running loops * Patch by Philippe Robin, 22 Apr 2004: Fix ethernet configuration for "versatile" board * Patch by Kshitij Gupta, 21 Apr 2004: Remove busy loop and use MPU timer fr usleep() on OMAP1510/1610 boards * Patch by Steven Scholz, 24 Feb 2004: Fix a bug in AT91RM9200 ethernet driver: The MII interface is now initialized before accessing the PHY. * Cleanup PCI ID's
2004-04-18* Configure PPChameleon board to use redundand environment in flashwdenk
* Configure PPChameleon board to use JFFS2 NAND support. * Added support for JFFS2 filesystem (read-only) on top of NAND flash
2004-03-23* Patches by Thomas Viehweger, 16 Mar 2004:wdenk
- show PCI clock frequency on MPC8260 systems - add FCC_PSMR_RMII flag for HiP7 processors - in do_jffs2_fsload(), take load address from load_addr if not set explicit, update load_addr otherwise - replaced printf by putc/puts when no formatting is needed (smaller code size, faster execution)
2004-01-04* Fix problems caused by Robert Schwebel's cramfs patchwdenk
* Patch by Scott McNutt, 02 Jan 2004: Add support for the Nios Active Serial Memory Interface (ASMI) on Cyclone devices * Patch by Andrea Marson, 16 Dec 2003: Add support for the PPChameleon ME and HI modules * Patch by Yuli Barcohen, 22 Dec 2003: Add support for Motorola DUET ADS board (MPC87x/88x)
2004-01-03* Patch by Robert Schwebel, 15 Dec 2003:wdenk
add support for cramfs (uses JFFS2 command interface)
2003-09-10* Patches by Denis Peter, 9 Sep 2003:wdenk
add FAT support for IDE, SCSI and USB * Patches by Gleb Natapov, 2 Sep 2003: - cleanup of POST code for unsupported architectures - MPC824x locks way0 of data cache for use as initial RAM; this patch unlocks it after relocation to RAM and invalidates the locked entries. * Patch by Gleb Natapov, 30 Aug 2003: new I2C driver for mpc107 bridge. Now works from flash. * Patch by Dave Ellis, 11 Aug 2003: - JFFS2: fix typo in common/cmd_jffs2.c - JFFS2: fix CFG_JFFS2_SORT_FRAGMENTS option - JFFS2: remove node version 0 warning - JFFS2: accept JFFS2 PADDING nodes - SXNI855T: add AM29LV800 support - SXNI855T: move environment from EEPROM to flash - SXNI855T: boot from JFFS2 in NOR or NAND flash * Patch by Bill Hargen, 11 Aug 2003: fixes for I2C on MPC8240 - fix i2c_write routine - fix iprobe command - eliminates use of global variables, plus dead code, cleanup.