diff src/cs/drivers/drv_app/ffs/board/HISTORY @ 0:4e78acac3d88

src/{condat,cs,gpf,nucleus}: import from Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:23:26 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cs/drivers/drv_app/ffs/board/HISTORY	Fri Oct 16 06:23:26 2020 +0000
@@ -0,0 +1,212 @@
+Brief Revision History of FFS
+============================================================
+Revision 5.27:
+
+- API change: 
+	Made change request from TIF.
+	
+	Renamed functions:
+    ffs_init() to ffs_initialize()
+    ffs_env_init/start/stop/kill() to ffs_init/start/stop/kill() (in ffs_env.[ch])
+
+	NOTE: Because of this API change are we not backward compatible with earlier FFS 	versions!
+
+
+Revision 5.18:
+
+- Implemented new ffs protocol. Improvements:
+ 
+	* More intelligible.
+	* No static testmode buffer (Before 8kB!)
+	* Stream interface (Only flash size limit for file transfer)
+	* Use blocking functions in target (waits for data to be written etc)
+
+	The new protocol require etm v0.127 or above in target.
+
+	Note the "old" protocol is still supported.
+
+Revision 5.14:
+
+- BUGFIX: http://bugs.tidk.ti.com/bugs/show_bug.cgi?id=313.
+	A sudden power off can in a rare case trikker FFS to use the last free
+    block. Because of the missing free block is it not possible to make a
+    garbage collection/reclaim data! (no further write will be possible!).
+ 	 
+Revision 5.6:
+
+- Implemented a request id. On success, all non-blocking functions return a unique request identifier (request_id). This same id is returned in the associated request confirm message. This feature can be used to pair requests with confirmations when using the non-blocking function interface.
+
+Revision 4.6:
+
+- Made support for random access to a file (open in RDWR mode).
+
+- Removed API functions ffs_xstat() and ffs_xfstat() because its function is covered by ffs_xlstat().
+
+- Renamed ffs_linkstat() to ffs_lstat() (POSIX alike).
+
+- Made a non blocking version of ffs_seek() because it can now block the caller in several second because it sometimes need to flush the stream buffer.
+
+- Made new API function ffs_fdatasync() which makes it possible to
+flush the stream buffer ad any time.
+
+Revision 3.4:
+
+- Changed function ffs_file_write() so it automatil split one huge write up 
+  in  several small chunks instead of one big chunk. This makes support of 
+  files that is bigger than one flash block.
+
+Revision 3.2:
+
+- Implemented ffs_truncate() and ffs_ftruncate(). These functions make it 
+  possible to truncate a file by the file name or the file descriptor.
+
+Revision 3.1:
+
+- Changed ffs_stat() function. Implemented ffs_xlstat() and ffs_fstat().
+
+Revision 2.15:
+
+- Implemented ffs_rename(). This function makes it possible to move and rename 
+  files, dirs and symlinks. 
+
+Revision 2.10:
+
+- Implemented stream functions: ffs_open, ffs_close, ffs_read, ffs_write and 
+  ffs_seek.  
+
+Revision 1.29:
+
+- The copying of the single bank driver code to RAM is now handled
+  internally by ffsdrv_init(). This means linker dependency is gone and the
+  linker file does not need to have any special sections for the FFS
+  single-bank driver code. Actually, it must NOT have the special sections!
+
+
+Revision 1.28:
+
+- Updated code for Calypso chipset and RiViera Frame.
+
+
+Revision 1.27:
+
+- Intel single-bank driver bugfixed, tested and working.
+
+
+Revision 1.24:
+
+- Implemented Intel dual/multi-bank and single-bank flash support. Untested!
+- Changed ffs_fread() and ffs_readlink() semantics and prototype. They now
+  return an integer denoting the number of bytes actually read.
+- Changed ffs_opendir() semantics and prototype. It now returns an integer
+  denoting the number of entries in the directory.
+- Replaced 'filesize_t' by 'int' in FFS API functions.
+- Increased FFS_INODES_MAX_DEFAULT from 512 to 1024. This means that FFS can
+  contain up 1024/2 = 512 objects.
+
+
+Revision 1.23:
+
+- Implemented ffs_query(Q_DEV_DRIVER) returning the flash device driver
+  identifier.
+
+
+Revision 1.22:
+
+- Implemented AMD single-bank flash support.
+
+
+Revision 1.21:
+
+- Changed ffs_fcontrol() prototype such that <param> argument is 'int'
+  instead of 'uint16'.
+
+
+Revision 1.20:
+
+- Only one (auto-generated) target file exists now, namely target.c which
+  replaces previous targetffs.c and taskffs.c.
+- Implemented ffs_query(Q_DEV_BASE) returning the start address of FFS in the
+  flash device.
+- Removed PCM functionality from testmode ffs protocol (tmffs.c).
+
+
+Revision 1.19:
+
+- Corrected bug in ffs_query(Q_BYTES_FREE); it did not subtract number of
+  bytes lost.
+
+
+Revision 1.18:
+
+- Implemented call-back functionality. All modify functions have a sibling
+  function with same name but suffix '_nb' for 'non-blocking'. This sibling
+  function has an additional argument specifying how the caller want the
+  result of the operation communicated back; either by mail or call-back
+  function. This way, *all* error codes can be returned and caller knows when
+  data has actually been written/committed to the actual device memory.
+
+
+Revision 1.12:
+
+- Replaced old crash recovery code with true journalling system. The old
+  crash recovery code had in a few rare scenarios the risk of rendering FFS
+  useless upon a power-fail.
+
+
+Revision 1.9:
+
+- ffs_preformat() now calls the user defined function ffs_is_modifiable()
+  with empty string (not a NULL string). This means that permission to
+  re-formatting ffs can be controlled.
+
+
+Revision 1.3:
+
+- Implemented device wear-levelling.
+
+
+Revision 0.517:
+
+- Added HISTORY file.
+- Flash driver updated to take flash base address into account when doing
+  writes and erasures (not when auto-detecting device).
+- Moved task.[hc] from ffs.mak to ffsdrv.mak. These files are now included
+  in object releases.
+
+
+Revision 0.516:
+
+- Renamed ffs_config.mak to ffsdrv.mak.
+- Splitted pcm.c into pcmcode.c and pcmdata.c. pcmcode.c contains only pcm
+  function code. pcmdata.c contains only pcm data tables.
+- Corrected bug in pcm_WriteRecord().
+
+
+Revision 0.515:
+
+- Corrected possible bug in erase suspend; it did not check for
+  completion. Bug has never been observed in practice.
+
+
+Revision 0.514:
+
+- Added support of flash devices: AMD Am29DL161T and Fujitsu MBM29DL16xT. 
+
+
+Revision 0.512:
+
+- Added flash device auto-detection. This *only* works for flash devices
+  mapped to address zero! Remember that both ffs_flash_manufact and
+  ffs_flash_device (in cfgffs.c) must be zero in order for auto-detection to
+  be enabled.
+
+
+Revision 0.510:
+
+- Added low-level driver for SST flash devices.
+- Added support of flash device: SST SST36VF1601.
+- Added ffs_query(Q_FFS_FORMAT_WRITE) and renamed Q_FFS_FORMAT to
+  Q_FFS_FORMAT_READ. With this, we can both query the ffs format read from
+  ffs as well as the format version written on a fresh format. This can be
+  used to determine compatibilty between ffs formats.
+- Corrected non-critical bug in ffs_remove().