PR 385/filesystem
* src/ramdisk.c: The "from" and "to" locations are calculated as
the start of the block within the ram that data is to be transferred
from/to for reads and writes respectively. However, within
the loops, the "from" and "to" locations are never updated. The loop
should have been updated as:
from += rd->block_size;
and
to += rd->block_size;
within the for loops in the ramdisk_read and ramdisk_write routines,
respectively.
* 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: Per PR282, correct problem in function
rtems_bdbuf_read() where device ioctl() is called with the
logical device number used instead of corresponding physical
device number.
* Mega patch merge to change the format of the object IDs to
loosen the dependency between the SCORE and the various APIs.
There was considerable work to simplify the object name management
and it appears that the name_table field is no longer needed.
This patch also includes the addition of the internal mutex
which is currently only used to protect some types of allocation
and deallocation. This significantly can reduce context
switch latency under certain circumstances. In particular,
some heap/region operations were O(n) and had dispatching
disabled. This should help enormously. With this merge,
the patch is not as clean as it should be. In particular,
the documentation has not been modified to reflect the new object
ID layout, the IDs in the test screens are not updated, and
_Objects_Get_information needs to be a real routine not inlined.
As part of this patch a lot of MP code for thread/proxy blocking
was made conditional and cleaned up.
* src/bdbuf.c: Modified as part of above.
* include/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* Makefile.am: Include $(top_srcdir)/../automake/*.am.
Use ../aclocal.
* src/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* 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.