* libblock/include/rtems/flashdisk.h,
libblock/include/rtems/nvdisk.h, libblock/src/flashdisk.c,
libblock/src/nvdisk.c: Change names to match the RAM disk change.
* libcsupport/src/eval.c: Remove some warnings.
* sapi/include/confdefs.h, libblock/include/rtems/bdbuf.h: Changed
type of rtems_bdbuf_pool_configuration_size to size_t.
* libblock/include/rtems/bdbuf.h, libblock/include/rtems/blkdev.h,
libblock/include/rtems/diskdevs.h, libblock/src/bdbuf.c,
libblock/src/blkdev.c, libblock/src/diskdevs.c: Buffer pool
allocation is now cache aligned. The cache functions are
currently not available on all platforms so the cache line size is
fixed to 32 bytes for now. Changed various integer types which
refer to block sizes, numbers and indexes. Fixed logical block
indexes in buffer get and read function. It is now possible to
delete logical disks. Modified documentation
* libcsupport/include/rtems/libio.h: Add rtems_off64_t for
internal use. Update the internal off_t to the 64bit offset.
* libnetworking/lib/ftpfs.c, libnetworking/lib/tftpDriver.c,
libfs/src/nfsclient/src/nfs.c, libfs/src/imfs/imfs_fifo.c,
libfs/src/imfs/memfile.c, libfs/src/imfs/imfs_directory.c,
libfs/src/imfs/imfs.h, libfs/src/imfs/deviceio.c: Change off_t to
rtems_off64_t.
* libmisc/shell/main_msdosfmt.c: Add an info level so the format
code can tell the user what is happening. Add more options to
control the format configuration.
* libfs/src/dosfs/msdos_format.c: Add a print function to display
the format progress and print statements. Select a better default
cluster size depending on the size of the disk. This lowers the
size of the FAT on large disks. Read and maintain the MRB
partition information.
* libfs/src/dosfs/dosfs.h, libfs/src/dosfs/fat.h,
libfs/src/dosfs/fat_file.c, libfs/src/dosfs/fat_file.h,
libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_conv.c,
libfs/src/dosfs/msdos_create.c, libfs/src/dosfs/msdos_file.c,
libfs/src/dosfs/msdos_handlers_dir.c,
libfs/src/dosfs/msdos_handlers_file.c,
libfs/src/dosfs/msdos_init.c, libfs/src/dosfs/msdos_initsupp.c,
libfs/src/dosfs/msdos_misc.c, libfs/src/dosfs/msdos_mknod.c: Add
long file name support. Change off_t to rtems_off64_t.
* libblock/include/rtems/ide_part_table.h: Add MRB partition table
size.
* libblock/include/rtems/blkdev.h: Remove count and start from
rtems_blkdev_request. Add RTEMS_BLKDEV_START_BLOCK macro.
* libblock/src/bdbuf.c: Add read ahead blocks always consecutive
comment. Change count to bufnum and remove start references. Sort
the transfer list so blocks are consecutive where possible.
* libblock/src/blkdev.c, libblock/src/nvdisk.c,
libblock/src/ramdisk.c: Change count to bufnum and remove start
references.
* libblock/Makefile.am: Removed src/show_bdbuf.c.
* libblock/src/show_bdbuf.c: Removed.
* libblock/include/rtems/bdbuf.h, cpukit/libblock/src/bdbuf.c:
Rewritten the bdbuf code. Remove pre-emption disable, score
access, fixed many bugs and increased performance.
* libblock/include/rtems/blkdev.h: Added
RTEMS_BLKDEV_CAPABILITIES block device request. Cleaned up
comments. Added block and user fields to the sg buffer
request. Move to rtems_* namespace.
* libblock/include/rtems/diskdevs.h,
cpukit/libblock/src/diskdevs.c: Move to rtems_* namespace. Add a
capabilities field for drivers. Change rtems_disk_lookup to
rtems_disk_obtain to match the release call. You do not lookup and
release a disk, you obtain and release a disk.
* libblock/include/rtems/ide_part_table.h,
libblock/include/rtems/ramdisk.h, libblock/src/ide_part_table.c:
Move to rtems_* namespace.
* libblock/include/rtems/nvdisk.h: Formatting change.
* libblock/src/blkdev.c: Move to rtems_* namespace. Change
rtems_disk_lookup to rtems_disk_obtain
* libblock/src/flashdisk.c: Move to rtems_* namespace. Use the new
support for the block number in the scatter/grather request
struct. This allows non-continuous buffer requests for those
drivers that can support increasing performance.
* libblock/src/nvdisk.c: Move to rtems_* namespace. Removed
warnings. Added better error checking. Fixed some comments.
* libblock/src/ramdisk.c: Move to rtems_* namespace. Added some
trace functions to help debugging upper layers. Use the new
support for the block number in the scatter/grather request
struct. This allows non-continuous buffer requests for those
drivers that can support increasing performance.
* libfs/src/dosfs/fat.c, libfs/src/dosfs/fat.h: Use new chains
API. Removed temporary hack and changed
set_errno_and_return_minus_one to
rtems_set_errno_and_return_minus_one. Move fat_buf_access from
header and stopped it being inlined. Updated to libblock changes.
* libfs/src/dosfs/fat_fat_operations.c,
libfs/src/dosfs/fat_file.c, libfs/src/dosfs/msdos_create.c,
libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_eval.c,
libfs/src/dosfs/msdos_file.c, libfs/src/dosfs/msdos_format.c,
libfs/src/dosfs/msdos_free.c, libfs/src/dosfs/msdos_initsupp.c,
libfs/src/dosfs/msdos_misc.c, libfs/src/dosfs/msdos_mknod.c: Use
new chains API. Removed temporary hack and changed
set_errno_and_return_minus_one to
rtems_set_errno_and_return_minus_one. Updated to libblock changes.
* libmisc/Makefile.am: Add new ls and rm command files.
* libmisc/shell/cmp-ls.c, libmisc/shell/extern-ls.h,
libmisc/shell/filemode.c, libmisc/shell/print-ls.c,
libmisc/shell/pwcache.c, libmisc/shell/utils-ls.c,
libmisc/shell/vis.c, shell/vis.h: New.
* libmisc/shell/extern-cp.h, libmisc/shell/main_cp.c,
libmisc/shell/utils-cp.c: Fixed the usage call bug.
* libmisc/shell/main_blksync.c: Updated to the new block IO ioctl
command.
* libmisc/shell/main_ls.c, libmisc/shell/main_rm.c: Updated to BSD
commands with more features.
* score/src/coremutex.c: Fix the strick order mutex code.
* libmisc/shell/shell.c: Change shell tasks mode to be timeslice
and no ASR.
* sapi/include/confdefs.h: Change ata_driver_task_priority to
rtems_ata_driver_task_priority. Add the new BD buf cache
parameters with defaults.
* score/src/interr.c: Do not return if the CPU halt call returns.
reduce size of data area.
IMFS: Fixed creation of symbolic links to avoid a compiler warning.
DOSFS: Use LibBlock instead of read() to read the boot record.
* libblock/include/rtems/nvdisk-sram.h,
libblock/include/rtems/nvdisk.h,
libblock/src/nvdisk-sram.c,
libblock/src/nvdisk.c: New. A Non-volatile memory disk drive.
* Makefile.am, preinstall.am, libblock/Makefile.am: Updated for
the NV disk driver.
* configure.ac: Fix typo in the strict order mutex CPU OPTs test.
* libmisc/shell/shell.c: Handle '#' comment characters correctly.
* libblock/include/rtems/flashdisk.h: Add docmentation about the
control fields. Add more control fields to handle the flash when
full.
* libblock/src/flashdisk.c: Fix the descriptor erase test so it
detects a descriptor is erased. Add support for unavailable blocks
the user can configure. Print the used list as a diag. Fix the bug
when a page is detected as failed and present on more than one
queue. Add a count to the queues so queue length can be used to
manage compaction.
* Makefile.am, preinstall.am: Added
libblock/include/rtems/flashdisk.h to the installed header list.
* libblock/Makefile.am: Add flashdisk.c to the files to build.
* libblock/include/rtems/flashdisk.h, libblock/src/flashdisk.c:
New.
* libblock/include/rtems/bdbuf.h: Include <rtems/chain.h> instead of <chain.h>.
* libblock/include/rtems/ide_part_table.h: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/malloc.c: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/mount.c: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/unmount.c: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs.h: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs_directory.c: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs_load_tar.c: Include <rtems/chain.h> instead of <chain.h>.
* sapi/include/confdefs.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
* sapi/include/confdefs.h: Include <rtems/console.h> instead of <console.h>.
* libfs/src/imfs/imfs_load_tar.c: Include <rtems/imfs.h> instead of <imfs.h>.
* libmisc/shell/cmds.c: Include <rtems/imfs.h> instead of <imfs.h>.
* libmisc/fsmount/fsmount.c: Include <rtems/imfs.h> instead of <imfs.h>.
* sapi/include/confdefs.h: Include <rtems/imfs.h> instead of <imfs.h>.
* itron/src/can_wup.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/chg_pri.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/dis_dsp.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ena_dsp.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/eventflags.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/exd_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ext_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/fmempool.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/frsm_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/get_tid.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itronintr.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itronsem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itrontime.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/mbox.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/mboxtranslatereturncode.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/msgbuffer.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/msgbuffertranslatereturncode.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/network.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/port.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/prcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/prcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/preq_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/psnd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rel_wai.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rot_rdq.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rsm_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sig_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/slp_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/snd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/snd_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sta_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sus_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sysmgmt.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/task.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ter_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/trcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/trcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/tslp_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/tsnd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/twai_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/vmempool.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/wai_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/wup_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/rtems/config.h: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/confdefs.h: Include <rtems/itron.h> instead of <itron.h>.
* sapi/src/itronapi.c: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/confdefs.h: Include <rtems/rtc.h> instead of <rtc.h>.
* sapi/include/confdefs.h: Include <rtems/timerdrv.h> instead of <timerdrv.h>.
* ChangeLog, Makefile.am: ATA code depends upon libchip/ide which is
not allowed in the cpukit source code since it must be buildable
independent of any BSP. These files were moved to libchip/ide.
* include/rtems/ata.h, include/rtems/ata_internal.h: Removed.
PR 367/filesystem
* Makefile.am, include/rtems/ide_part_table.h, src/ata.c,
src/ide_part_table.c: Some bugs were still present in the DOSFS
implementation:
- FAT12 did not work properly on Big-Endian machines
- Some synchronization and error handling problems were present
- Some legal codings for EOC were not recognized
* src/bdbuf.c (avl_insert, avl_remove): Reimplemented from scratch
to avoid using GPLed sources in RTEMS core.
* src/bdbuf.c, include/rtems/bdbuf.h: Remove "binary tree"
implementation which was used for debugging only.
* Submitted by Victor V. Vengerov <vvv@oktet.ru> and merged
into the RTEMS source.
* ChangeLog, Makefile.am, README, configure.ac, include/Makefile.am,
include/rtems/bdbuf.h, include/rtems/blkdev.h, include/rtems/diskdevs.h,
include/rtems/ramdisk.h, include/rtems/.cvsignore, include/.cvsignore,
src/Makefile.am, src/bdbuf.c, src/blkdev.c, src/diskdevs.c,
src/ramdisk.c, src/.cvsignore, .cvsignore: New files.