Hello Wolfgang, Wolfgang Denk wrote: > In message <4b613d24.7060...@denx.de> you wrote: [...] >>> What about systems that have both NOR _and_ NAND? >> Are there such systems, with cramfs support? Actual cramfs support >> in mainline is only for NOR devices ... > > Yes, but I understand that you want to also support cramfs when not > stored in NOR. > > With your code I can read files from a cramfs image stored in RAM > (when there is nor NOR flash), _or_ I can read it from NOR flash. > Right?
No. This should work also! Accessing a cramfs through a nor, the "cramfs_load()" is used, as in ./common/cmd_jffs2.c, and if reading a file which resists in RAM "cramfsload" command is used for reading the file. > But what about reading from files a cramfs image stored in RAM on a > system that _has_ NOR flash? And being able to read files a cramfs > image stored in NOR as well? It seems your code cannot do this. in fs/cramfs/cramfs.c #define PART_OFFSET(x) (x->offset + flash_info[x->dev->id->num].start[0]) and in common/cmd_cramfs.c part.offset = addr - flash_info[id.num].start[0]; so, flash_info[id.num].start[0] is not really used, if using cramfsload, so it should be possible to load a file out of a cramfs, wherever the cramfs resides ... Nevertheless, flash_info_t is defined or not, also, using "cramfs_load()" on a NOR flash works, because there is no change. My Patch is only necessary, because, if a board have no NOR flash, flash_info_t is not defined. > I understand that the suggested patch is an improvement over the > existing state (it adds the capability to read cramfs in RAM on > NOR-les systems), but I think this restriction ("on NOR-less > systems") should be lifted as well. > > In other words: I think, the decision whether to use > > part.offset = addr - flash_info[id.num].start[0]; > or > part.offset = addr; > > should be made at run time (based on the location of the image - in but on a board without NOR flash, you have no flash_info_t defined, which results in a compilerror. bye Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot