summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/malloc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2008-01-09 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-01-091-5/+3
| | | | | | | | | | | | * libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_deferred.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_sbrk_helpers.c, libcsupport/src/posix_memalign.c: Place all deferred free code and place it in subroutines. Add plugin for dirtying allocated memory to assist in debugging. Clean up comments and spacing as needed. * libcsupport/src/malloc_dirtier.c: New file.
* 2008-01-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-01-081-30/+2
| | | | | | | | | | | | | | | * libcsupport/Makefile.am: Add malloc_sbrk_helpers.c. * libcsupport/include/rtems/malloc.h, libcsupport/src/malloc.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_statistics_helpers.c: Make sbrk() support pluggable and optional. This eliminates the need for heap extend and sbrk in the minimum footprint which is ~2.5K on the SPARC. * sapi/include/confdefs.h: Add the following configuration points: + CONFIGURE_MALLOC_STATISTICS + CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK * libcsupport/src/malloc_sbrk_helpers.c: New file.
* 2007-12-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-191-16/+16
| | | | | | | | | | | * libcsupport/Makefile.am, libcsupport/include/rtems/malloc.h, libcsupport/src/free.c, libcsupport/src/malloc.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_report_statistics_plugin.c, libmisc/shell/shell.c, libmisc/shell/shell.h, score/src/objectinitializeinformation.c: Add posix_memalign. Split out management of deferred frees to subroutines. * libcsupport/src/malloc_deferred.c, libcsupport/src/posix_memalign.c: New files.
* 2007-12-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2007-12-181-504/+25
| | | | | | | | | | | | | | | | | | | | | | | | | * libcsupport/Makefile.am, libcsupport/preinstall.am, libcsupport/src/malloc.c, libcsupport/src/mallocinfo.c, libmisc/Makefile.am, libmisc/shell/main_mallocinfo.c, libmisc/shell/shellconfig.h: Split malloc.c into multiple files with one function per file. Also split out statistics into a separate file which can be plugged in dynamically. Right now, it is always in. I suspect that splitting the file removed more code than leaving statistics in. I tinkered with malloc information command in the shell. I resurrected the malloc arena code as malloc boundary. This code is now compiled all the time even though it does not appear to work. * libcsupport/include/rtems/malloc.h, libcsupport/src/_calloc_r.c, libcsupport/src/_free_r.c, libcsupport/src/_malloc_r.c, libcsupport/src/_realloc_r.c, libcsupport/src/calloc.c, libcsupport/src/free.c, libcsupport/src/malloc_boundary.c, libcsupport/src/malloc_get_statistics.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_p.h, libcsupport/src/malloc_report_statistics.c, libcsupport/src/malloc_report_statistics_plugin.c, libcsupport/src/malloc_statistics_helpers.c, libcsupport/src/malloc_walk.c, libcsupport/src/realloc.c, libmisc/shell/main_perioduse.c: New files.
* 2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * libcsupport/src/malloc.c, libmisc/monitor/mon-command.c, posix/preinstall.am, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/semaphore.h, posix/src/conddestroy.c, posix/src/mutexdestroy.c, posix/src/mutexinit.c, posix/src/mutexsetprioceiling.c, posix/src/mutexunlock.c, sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/include/rtems/init.h, sapi/include/rtems/sptables.h, sapi/src/exinit.c, score/include/rtems/system.h, score/include/rtems/score/mpci.h, score/src/mpci.c, score/src/thread.c, score/src/threadcreateidle.c, score/src/threadstackallocate.c, score/src/threadstackfree.c, score/src/wkspace.c: Moved most of the remaining CPU Table fields to the Configuration Table. This included pretasking_hook, predriver_hook, postdriver_hook, idle_task, do_zero_of_workspace, extra_mpci_receive_server_stack, stack_allocate_hook, and stack_free_hook. As a side-effect of this effort some multiprocessing code was made conditional and some style clean up occurred.
* 2007-11-26 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2007-11-261-3/+5
| | | | * libcsupport/src/malloc.c: Do not assert on free of bad pointer.
* 2007-09-07 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2007-09-071-2/+21
| | | | | | | * libcsupport/src/malloc.c: If RTEMS_HEAP_DEBUG is defined, add heap walk on init, malloc, and free. The ability to walk the heap appears to disappeared during the rework of the C Program heap to skip the Region.
* 2007-07-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2007-07-111-2/+5
| | | | | | | | | * libcsupport/src/malloc.c: Clean up Malloc debug code. * score/include/rtems/score/heap.h: Spacing. * score/inline/rtems/score/thread.inl: * score/src/heapfree.c. Clean up and add explicit check of the address being freed actually being in the heap. * score/src/heapwalk.c: Switch to printk and do not call abort.
* 2007-05-03 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2007-05-031-79/+38
| | | | | | | | | | | | | | | | | * ChangeLog, libcsupport/src/malloc.c, libcsupport/src/mallocfreespace.c, sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: malloc never blocks so the Region Manager is quite heavy for implementing this. This patch implements the C Program Heap directly in terms of the new Protected Heap handler. This handler is a direct use of a SuperCore Heap in conjunction with the Allocator Mutex used internally by RTEMS. This saves 3184 bytes on most SPARC test executables. * score/include/rtems/score/protectedheap.h, score/src/pheapallocate.c, score/src/pheapallocatealigned.c, score/src/pheapextend.c, score/src/pheapfree.c, score/src/pheapgetblocksize.c, score/src/pheapgetfreeinfo.c, score/src/pheapgetinfo.c, score/src/pheapinit.c, score/src/pheapresizeblock.c, score/src/pheapwalk.c: New files.
* Fix typo in yesterday's patch.Ralf Corsepius2006-11-191-1/+1
|
* Use uintmax_t instead of uint64_t for MALLOC_STATS statistics.Ralf Corsepius2006-11-181-10/+22
| | | | Use inttypes.h PRIxXXX macros for printing.
* 2006-09-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2006-09-011-9/+9
| | | | | | * libcsupport/src/malloc.c, libnetworking/rtems/rtems_glue.c, libnetworking/sys/mbuf.h: Remove warnings -- use uintptr_t or properly sized integers.
* Provide customisable mbuf allocation.Eric Norum2006-05-251-0/+123
| | | | Patch from Steven Johnson <sjohnson@sakuraindustries.com>
* 2005-05-14 Sergei Organov <osv@topconrd.ru>Joel Sherrill2005-05-201-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 746/rtems Optimize realloc(). The problem is that realloc() can neither grow nor shrink efficiently the current memory region without support from underlying heap/region modules. The patch introduces one new routine for each of heap and region modules, _Heap_Resize_block(), and rtems_region_resize_segment(), respectively, and uses the latter to optimize realloc(). The implementation of _Heap_Resize_block() lead to changing of the heap allocation strategy: now the heap manager, when splits larger free block into used and new free parts, makes the first part of the block used, not the last one as it was before. Due to this new strategy, _Heap_Resize_block() never needs to change the user pointer. Caveat: unlike previous heap implementation, first few bytes of the contents of the memory allocated from the heap are now almost never all zero. This can trigger bugs in client code that have not been visible before this patch. * libcsupport/src/malloc.c (realloc): try to resize segment in place using new rtems_region_resize_segment() routine before falling back to the malloc()/free() method. * score/src/heap.c: (_Heap_Initialize): change initial heap layout to reflect new allocation strategy of using of the lower part of a previously free block when splitting it for the purpose of allocation. (_Heap_Block_allocate): when split, make the lower part used, and leave the upper part free. Return type changed from Heap_Block* to uint32_t. * score/include/rtems/score/heap.h: (Heap_Statistics): added 'resizes' field. (Heap_Resize_status): new enum. (_Heap_Resize_block): new routine. (_Heap_Block_allocate): return type changed from Heap_Block* to uint32_t. * score/src/heapwalk.c: reflect new heap layout in checks. * score/src/heapsizeofuserarea.c: more assertions added. * score/src/heapresizeblock.c: new file. (_Heap_Resize_block): new routine. * score/src/heapfree.c: reverse the checks _Heap_Is_block_in() and _Heap_Is_prev_used() on entry to be in this order. * score/src/heapallocate.c, score/src/heapallocatealigned.c: ignore return value of _Heap_Block_allocate(). * score/Makefile.am (HEAP_C_FILES): added src/heapresizeblock.c. * rtems/include/rtems/rtems/region.h: (rtems_region_resize_segment): new interface routine. (_Region_Process_queue): new internal routine called from rtems_region_resize_segment() and rtems_region_return_segment(). * rtems/src/regionreturnsegment.c: move queue management code into the new internal routine _Region_Process_queue() and call it. * rtems/src/regionresizesegment.c: new file. (rtems_region_resize_segment): new interface routine. * rtems/src/regionprocessqueue.c: new file. (_Region_Process_queue): new internal routine containing queue management code factored out from 'regionreturnsegment.c'. * rtems/Makefile.am (REGION_C_FILES): Added src/regionresizesegment.c, and src/regionprocessqueue.c. * ada/rtems.adb, ada/rtems.ads: Added Region_Resize_Segment.
* Remove stray white spaces.Ralf Corsepius2004-04-181-14/+14
|
* 2004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>.
* 2004-03-30 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-301-2/+2
| | | | | | | | * rtems/include/rtems/rtems/region.h: Include stddef.h for size_t. (rtems_region_get_segment_size): Use size_t instead of uint32_t for "size" (3rd arg). * rtems/src/regiongetsegmentsize.c: Reflect changes above. * libcsupport/src/malloc.c: Reflect changes above.
* 2004-03-23 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-231-3/+3
| | | | * libcsupport/src/malloc.c: Remove lvalue casts.
* 2004-03-23 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-231-22/+22
| | | | | | | | | | | | | | | | | | * libcsupport/include/chain.h, libcsupport/include/clockdrv.h, libcsupport/include/ringbuf.h, libcsupport/include/spurious.h, libcsupport/include/timerdrv.h, libcsupport/include/vmeintr.h, libcsupport/include/motorola/mc68230.h, libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/libio.h, libcsupport/include/rtems/libio_.h, libcsupport/include/rtems/termiostypes.h, libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h, libcsupport/src/__gettod.c, libcsupport/src/assoc.c, libcsupport/src/assocnamebad.c, libcsupport/src/error.c, libcsupport/src/libio.c, libcsupport/src/libio_sockets.c, libcsupport/src/malloc.c, libcsupport/src/no_libc.c, libcsupport/src/termios.c, libcsupport/src/termiosreserveresources.c: Convert to using c99 fixed-size types.
* 2003-11-26 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-11-261-11/+17
| | | | | | | PR 523/filesystem * src/malloc.c: Make malloc family safer for use from ISRs and dispatching critical sections. If in a critical section while doing a free(), then the free is deferred until the next malloc() attempt.
* 2003-10-22 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-10-221-0/+48
| | | | | | PR 511/filesystem * src/malloc.c: Add deferred free and protect against C Program Heap operations while in a dispatch disable critical section or ISR.
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/chain.h, include/clockdrv.h, include/console.h, include/iosupp.h, include/rtc.h, include/spurious.h, include/timerdrv.h, include/vmeintr.h, include/motorola/mc68230.h, include/rtems/libcsupport.h, include/rtems/libio.h, include/rtems/libio_.h, include/rtems/termiostypes.h, include/sys/termios.h, include/zilog/z8036.h, include/zilog/z8530.h, include/zilog/z8536.h, src/__brk.c, src/__gettod.c, src/__sbrk.c, src/__times.c, src/access.c, src/base_fs.c, src/cfgetispeed.c, src/cfgetospeed.c, src/cfsetispeed.c, src/cfsetospeed.c, src/chdir.c, src/chmod.c, src/chown.c, src/chroot.c, src/close.c, src/ctermid.c, src/dup.c, src/dup2.c, src/eval.c, src/fchdir.c, src/fchmod.c, src/fcntl.c, src/fdatasync.c, src/fpathconf.c, src/fs_null_handlers.c, src/fstat.c, src/fsync.c, src/ftruncate.c, src/getdents.c, src/getpwent.c, src/hosterr.c, src/ioctl.c, src/isatty.c, src/libio.c, src/libio_sockets.c, src/link.c, src/lseek.c, src/lstat.c, src/malloc.c, src/mallocfreespace.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mount.c, src/newlibc.c, src/no_libc.c, src/no_posix.c, src/open.c, src/pathconf.c, src/pipe.c, src/privateenv.c, src/read.c, src/readlink.c, src/rewinddir.c, src/rmdir.c, src/seekdir.c, src/stat.c, src/symlink.c, src/sync.c, src/tcdrain.c, src/tcflow.c, src/tcflush.c, src/tcgetattr.c, src/tcgetprgrp.c, src/tcsendbreak.c, src/tcsetattr.c, src/tcsetpgrp.c, src/telldir.c, src/termios.c, src/termiosinitialize.c, src/truncate.c, src/umask.c, src/unixlibc.c, src/unlink.c, src/unmount.c, src/utime.c, src/write.c: URL for license changed.
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-041-1/+6
| | | | | | | PR 479/rtems_misc * src/malloc.c: Per multiple standards realloc does not free the original memory if the allocation of the requested larger block fails.
* 2003-09-02 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-021-1/+0
| | | | * src/malloc.c: Remove test define left in.
* 2003-09-02 Ilya Alexeev <ilya@continuum.ru>Joel Sherrill2003-09-021-0/+2
| | | | | PR 472/filesystem src/malloc.c: Need to include apimutex.h when MALLOC_STATS is defined.
* 2002-12-06 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-12-061-1/+2
| | | | | * src/malloc.c: Fixed code that incorrected did a disable dispatch instead of locking and unlocking the allocator mutex.
* 2001-01-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-01-081-0/+4
| | | | | | | * configure.in: Add libc/config.h * libc/Makefile.am: Add INCLUDES += -I. to pickup config.h * libc/.cvsignore: Add config.h and stamp-h * libc/*.c: Add config.h support.
* 2000-11-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * include/Makefile.am, include/rtems/libio_.h, libc/Makefile.am, libc/assoc.c, libc/assocnamebad.c, libc/base_fs.c, libc/cfsetispeed.c, libc/cfsetospeed.c, libc/chdir.c, libc/chmod.c, libc/chown.c, libc/close.c, libc/closedir.c, libc/dup2.c, libc/error.c, libc/eval.c, libc/fchdir.c, libc/fchmod.c, libc/fcntl.c, libc/fdatasync.c, libc/fpathconf.c, libc/fstat.c, libc/fsync.c, libc/ftruncate.c, libc/getdents.c, libc/ioctl.c, libc/libio.c, libc/libio_sockets.c, libc/link.c, libc/lseek.c, libc/malloc.c, libc/mallocfreespace.c, libc/mknod.c, libc/mount.c, libc/newlibc.c, libc/no_libc.c, libc/open.c, libc/read.c, libc/readlink.c, libc/rmdir.c, libc/stat.c, libc/symlink.c, libc/tcsetattr.c, libc/telldir.c, libc/ttyname.c, libc/ttyname_r.c, libc/umask.c, libc/unlink.c, libc/unmount.c, libc/utime.c, libc/write.c: assoc.h, error.h, libio_.h, libio.h, and libcsupport.h moved from libc to lib/include/rtems and now must be referenced as <rtems/XXX.h>. * include/rtems/Makefile.am, include/rtems/.cvsignore: New file. * include/rtems/assoc.h, include/rtems/error.h, include/rtems/libcsupport.h, include/rtems/libio.h, include/rtems/libio_.h: New/moved files.
* Port of RTEMS to the Texas Instruments C3x/C4x DSP families includingJoel Sherrill2000-07-261-2/+2
| | | | | | | | | | | a BSP (c4xsim) supporting the simulator included with gdb. This port was done by Joel Sherrill and Jennifer Averett of OAR Corporation. Also included with this port is a space/time optimization to eliminate FP context switch management on CPUs without hardware or software FP. An issue with this port was that sizeof(unsigned32) = sizeof(unsigned8) on this CPU. This required addressing alignment checks and assumptions as well as fixing code that assumed sizeof(unsigned32) == 4.
* Moved i386 and m68k cache management code to libcpu. EverythingJoel Sherrill2000-06-131-22/+0
| | | | | | now is an implementation of the prototypes in rtems/rtems/cache.h. The libcpu/i386/wrapup directory is no longer needed. The PowerPC needs this done to it.
* Patch from John Cotton <john.cotton@nrc.ca>, Charles-Antoine GauthierJoel Sherrill2000-06-121-0/+22
| | | | | | | | | | | | | | | <charles.gauthier@iit.nrc.ca>, and Darlene A. Stewart <Darlene.Stewart@nrc.ca> to add support for a number of very significant things: + BSPs for many variations on the Motorola MBX8xx board series + Cache Manager including initial support for m68040 and PowerPC + Rework of mpc8xx libcpu code so all mpc8xx CPUs now use same code base. + Rework of eth_comm BSP to utiltize above. John reports this works on the 821 and 860
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-121-1/+1
|
* Updated copyright notice.Joel Sherrill1999-11-171-2/+1
|
* This is another pass at making sure that nothing outside the BSPJoel Sherrill1999-11-051-2/+1
| | | | | | | | | | | | unnecessarily uses any variables defined by the BSP. On this sweep, use of BSP_Configuration and Cpu_table was eliminated. A significant part of this modification was the addition of macros to access fields in the RTEMS configuration structures. This is necessary to strengthen the division between the BSP independent parts of RTEMS and the BSPs themselves. This started after comments and analysis by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-08-181-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is another fix, which addresses a few more or less severe bugs in configuration and unix/posix: * Configuration fix: c/src/lib/configure.in didn't handle RDBG correctly * Configuration fix: make depend was non-functional in c/src/lib/libc/Makefile.in * Configuration fix: stray comment removed from aclocal/target.m4 * RTEMS fix: termios support for unix/posix now uses the host's headers only (was completely broken). - Don't install RTEMS's newlib sys/termios.h for unix (sys/termios.h apparently is a newlib specific header) - To be able to compile RTEMS's termios.c with glibc2.1, glibc-2.1 needs __USE_MISC, which is a private define from gcc's features.h, being defined only when _BSD_SOURCE of _SVID_SOURCE is defined. RTEMS's termios apparently implements BSD, thus -D_BSD_SOURCE was added to Linux-posix.cfg. - Conflicting definitions for __USE_MISC and _BSD_SOURCE inside of RTEMS codes removed due to definition of _BSD_SOURCE on the toplevel. This fix has been tested with linux/posix (primary glibc2.1 native), linux/posix (secondary libc5 native), sh/gensh1, i386/pc386 and a couple of other bsp's/CPU. To apply: cd <srcdir> patch -p1 < rtems-rc-19990709-9.diff and aclocal -I aclocal && automake && autoconf cd c/src/lib; autoconf or ./autogen
* Added base version of file system infrastructure. This includes a majorJoel Sherrill1998-11-231-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | overhaul of the RTEMS system call interface. This base file system is the "In-Memory File System" aka IMFS. The design and implementation was done by the following people: + Joel Sherrill (joel@OARcorp.com) + Jennifer Averett (jennifer@OARcorp.com) + Steve "Mr Mount" Salitasc (salitasc@OARcorp.com) + Kerwin Wade (wade@OARcorp.com) PROBLEMS ======== + It is VERY likely that merging this will break the UNIX port. This can/will be fixed. + There is likely some reentrancy/mutual exclusion needed. + Eventually, there should be a "mini-IMFS" description table to eliminate links, symlinks, etc to save memory. All you need to have "classic RTEMS" functionality is technically directories and device IO. All the rest could be left out to save memory.
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1998-10-011-5/+8
| | | | | | | | The reentrant versions of the malloc functions in c/src/lib/libc/malloc.c do not match the definitions in newlib. These will be used if you use newlib routines such as fdopen. I believe this patch to malloc.c is needed to provide the correct versions.
* Modifed to zero out the C heap if the CPU Table indicates that theJoel Sherrill1998-09-231-0/+15
| | | | RTEMS workspace is to be zeroed out.
* updated copyright to 1998Joel Sherrill1998-02-171-1/+1
|
* Corrected Linux port for glibc2Joel Sherrill1998-01-301-1/+1
|
* Removed warning under linux port.Joel Sherrill1997-11-181-0/+5
|
* Added casts and fixed line break.Joel Sherrill1997-10-211-2/+3
|
* Fixed typo in the pointer to the license terms.Joel Sherrill1997-10-081-2/+2
|
* headers updated to reflect new style copyright notice as partJoel Sherrill1997-04-221-5/+5
| | | | of switching to the modified GNU GPL.
* Merged newlib's libgloss support for rtems into this directory. ThisJoel Sherrill1997-01-291-18/+18
| | | | should simplify the build process.
* added malloc_walkJoel Sherrill1996-09-181-4/+35
| | | | miscellaneous corrections in casting.
* updates from Tony BennettJoel Sherrill1996-05-231-0/+3
|
* Updates from Tony Bennett.Joel Sherrill1996-04-221-1/+9
|
* bug fix in statistics from Tony Bennett (tbennett@divnc.com)Joel Sherrill1995-12-051-1/+3
|
* all targets compile .. tony's patches in placeJoel Sherrill1995-09-291-31/+99
|