summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/include/rtems (unfollow)
Commit message (Collapse)AuthorFilesLines
2002-07-22Remove, moved to cpukit.Ralf Corsepius34-5884/+0
2002-07-192002-07-19 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-0/+1
* include/rtems/score/apimutex.h (_API_Mutex_Lock): Added missing _ISR_Disable.
2002-07-012002-07-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill6-67/+269
* 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. * include/Makefile.am, include/rtems/score/coremsg.h, include/rtems/score/coremutex.h, include/rtems/score/coresem.h, include/rtems/score/object.h, include/rtems/score/threadq.h, inline/rtems/score/object.inl, inline/rtems/score/thread.inl, macros/rtems/score/object.inl, src/Makefile.am, src/coremsg.c, src/coremutex.c, src/coresem.c, src/mpci.c, src/objectcomparenameraw.c, src/objectextendinformation.c, src/objectinitializeinformation.c, src/objectnametoid.c, src/thread.c, src/threadclose.c, src/threadget.c, src/threadq.c, src/threadqextractwithproxy.c: Modified as part of above. * include/rtems/score/apimutex.h, src/objectgetnoprotection.c: New files.
2002-05-152002-05-15 Chris Johns <ccj@acm.org>Joel Sherrill1-0/+10
* include/rtems/score/thread.h, inline/rtems/score/thread.inl, src/threaddispatch.c, src/threadinitialize.c: Move the C library re-enterrant support directly into the thread dispatch code. RTEMS needs libc and so requiring libc to use a user extension with its overhead is not the best solution. This patch lowers the overhead to 2 pointer moves.
2002-04-262001-04-26 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-12/+13
* include/rtems/score/object.h, inline/rtems/score/object.inl, src/objectcomparenamestring.c: Address PR81 that reworked POSIX message queues to add a descriptor separate from the underlying message queue. This allows non-blocking to follow the "open" not the underlying queue. As part of debugging this it became clear that _Objects_Compare_name_string was broken and a simple version using strncmp() was substituted.
2002-04-182002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-15/+1
* include/rtems/system.h: Remove targopts.h.
2002-04-172002-04-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+1
* include/rtems/system.h: Add the sparc to the target supporting multlibs.
2002-04-122002-04-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+1
* include/rtems/system.h: Add i386 to multilib-able targets.
2002-04-082002-04-08 Chris Johns <ccj@acm.org>Joel Sherrill1-2/+22
* Per PR142, make task switch extension its own list. * include/rtems/score/userext.h: Reflect above by adding User_extensions_Switch_control and adding it to User_extenions_Control. * inline/rtems/score/userext.inl: Allocate all memory in one chunk to minimize overhead. Address processing dedicated switch chain.
2002-01-292002-01-29 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-0/+2
* include/rtems/score/watchdog.h: Added WATCHDOG_MAXIMUM_INTERVAL.
2002-01-202002-01-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+1
* include/rtems/system.h: Fix typo in yesterday's change: RTEMS_MULTILIBS.
2002-01-182001-01-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-13/+11
* include/rtems/system.h: Only include cpuopts.h when building a multilib configuration. Some ports still need targopts.h but this small modification lets those ports work non-multilib while fixing being fixed for multilib.
2002-01-042002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-4/+4
* include/rtems/seterr.h: Add do {..} while (0) in defines. Rename set_errno_and_return_minus_one into rtems_set_errno_and_return_minus_one.
2001-11-282001-11-28 Joel Sherrill <joel@OARcorp.com>,Joel Sherrill1-0/+18
This was tracked as PR91. * include/rtems/score/isr.h, inline/rtems/score/isr.inl, macros/rtems/score/isr.inl: Modified to allow any port to provide its own implementation of the macro _ISR_Is_in_progress. If the port overrides this macro, it must provide a non-inlined function implementation.
2001-11-072001-11-07 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-0/+5
Reported by Todor.Todorov@barco.com and tracked as PR36. * include/rtems/score/object.h: Added prototype for _Objects_Get_by_index(). * src/objectget.c, src/objectgetisr.c: Corrected procedure for getting index from Id so it is correct and optimal for both single and multiprocessor configurations.
2001-10-162001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2-73/+0
* include/rtems/Makefile.am: Remove. * include/rtems/Makefile.am: Remove. * include/Makefile.am: Handle subdirs, require automake-1.5. * macros/rtems/Makefile.am: Remove. * macros/rtems/score/Makefile.am: Remove. * macros/Makefile.am: Handle subdirs, require automake-1.5. * inline/rtems/Makefile.am: Remove. * inline/rtems/score/Makefile.am: Remove. * inline/Makefile.am: Handle subdirs, require automake-1.5. * Makefile.am: require automake-1.5
2001-09-282001-09-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2-2/+2
* include/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='. * include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='. * inline/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='. * macros/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
2001-08-162001-08-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+2
* include/rtems/score/coremsg.h, src/coremsgsubmit.c: Add a new return status to account for blocking sends. Otherwise, the caller will think that the returned message status will have the ultimate results of the operation. If the send times out, the final status will be in the return_code of the thread.
2001-08-092001-08-09 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* include/rtems/score/coremsg.h, inline/rtems/score/coremsg.inl, src/coremsgsubmit.c: Unblocking message queue operations should NOT use _Thread_Executing for return status since it is permissible to invoke message send operations from an ISR. This was reported by Suvrat Gupta <suvrat@utstar.com>.
2001-05-092001-05-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-0/+4
* include/rtems/score/.cvsignore: Add stamp-h, cpuopts.h, cpuopts.h.in, cpuopts-tmp.h.
2001-02-052001-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2-8/+8
* include/rtems/Makefile.am, include/rtems/score/Makefile.am, inline/rtems/score/Makefile.am, macros/rtems/score/Makefile.am Apply include_*HEADERS instead of H_FILES.
2000-12-132000-12-13 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* include/rtems/score/isr.h, src/isr.c: Allocate it from the workspace rather than explicitly declaring it. This allows the size to be a non-constant from the perspective of score/cpu.
2000-11-032000-11-02 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* include/rtems/system.h: Use proper conditional (RTEMS_POSIX_API) so prototypes for POSIX_MP_NOT_IMPLEMENTED(), POSIX_NOT_IMPLEMENTED(), POSIX_BOTTOM_REACHED() are actually included.
2000-11-022000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+11
* aclocal/canonicalize-tools.m4, aclocal/check-tool.m4, aclocal/prog-cc.m4, aclocal/prog-cxx.m4: Replace AC_CHECK_TOOL with an RTEMS specific but more restrictive autoconf macro.
2000-10-182000-10-18 Nick Simon <Nick.SIMON@syntegra.bt.co.uk>Joel Sherrill1-0/+44
* src/heapgetinfo.c, include/rtems/score/heap.h, src/Makefile.am: Added _Heap_Get_information() and information control block. * src/heapgetinfo.c: New file.
2000-09-252000-09-25 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-2/+4
* rtems/system.h: Switched a29k and hppa1.1 to using cpuopts.h not targopts.h to reduce dependency on BSP.
2000-08-302000-08-30 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2-1/+23
* Many files: Moved posix/include/rtems/posix/seterr.h to score/include/rtems/seterr.h so it would be available within all APIs.
2000-08-252000-08-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-2/+3
* include/rtems/system.h: Include cpuopts.h for __i386__.
2000-08-01Look at both hardware and software FP settings.Joel Sherrill1-2/+2
2000-08-01The fp_context field is needed if software or hardware floating pointJoel Sherrill1-1/+1
is available.
2000-07-26Port of RTEMS to the Texas Instruments C3x/C4x DSP families includingJoel Sherrill1-0/+6
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.
2000-07-25Patch rtems-rc-20000713-1-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-2/+0
that removes an unnecessary inclusion of @RTEMS_BSP@.cfg.
2000-07-11Reworked score/cpu/sparc so it can be safely compiled multilib. AllJoel Sherrill1-4/+5
routines and structures that require CPU model specific information are now in libcpu. This primarily required moving erc32 specific information from score/cpu files to libcpu/sparc and the erc32 BSP.
2000-07-11Added Hitachi H8/300 to the list of CPUs that should be OK withJoel Sherrill1-0/+1
using cpuopts.h and not targopts.h.
2000-07-11Patch rtems-rc-20000711-1-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-2/+9
that decouples exec/ for the sh, m68k and i960 from targopts.h. NOTE: The change to system.h is a hack to enable cpuopts.h for some targets, but keep using targopts.h for others - I know it does *not* work for sparc, mips, i386 and ppc. This will have to be addressed as work continues on multilibing.
2000-07-10Patch rtems-rc-20000709-1.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill3-53/+16
that addresses aspects of the targopts.h multilib related issues. Changes: * Move targopts.h to libbsp/include, because the current targopts.h actually is a per-BSP-header and therefore can not stay below exec/. * Introduce an autoheader generated header file (exec/score/include/rtems/score/cpuopts.h), which shall take per-cpu configuration options only. * Move all autoconf-detectable/configure specified per-cpu option-defines from targopts.h to cpuopts.h. * Add Makefiles to the libbsp/shared directory hierarchy. Notes: * The new per-bsp targopts.h in libbsp includes the per-cpu cpuopts.h. This way, the new targopts.h is kept backward compatible to the old targopts.h and existing BSPs which (carelessly) include targopts.h (i386, ppc) should be kept working when using the multilib-disabled configuration scheme. * cpuopts.h is not yet complete, because the per-BSP make-targopts rules from custom/<BSP>.cfg files can not be applied to files below exec/ when building multilibs. * All files below exec/ should not include targopts.h anymore, but should include cpuopts.h instead. However, eliminating inclusion of targopts.h currently triggers further structural / header file inclusion related issues, because several ports apply BSP or CPU_MODEL specific defines from targopts.h below exec/
2000-07-07Moved __RTEMS_APPLICATION__ conditional to include the use of theJoel Sherrill1-1/+1
static inline routine _CORE_mutex_Seize_interrupt_trylock since static routines are not included when in an application.
2000-07-06Patch rtems-rc-20000705-3.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+0
that is a somewhat experimental, multilib-related patch: Changes: * Use RTEMS_ENV_RTEMSCPU instead of RTEMS_ENV_RTEMSBSP in configure.ins below exec/. At the moment, RTEMS_ENV_RTEMSCPU is more or less an optical change to emphasize that these subdirectories shall not depend on RTEMS_BSP than a real behavioral change. * Add AC_DEFINE_* to several aclocal/*.m4 macros to prepare autoheader/autoconf generated targopts.h and similiar configuration headers. * c/src/configure.in: remove exec from cfg_subdirs if multilibs are enabled (c/src is build per bsp, exec shall be build per cpu in c/ or from the toplevel in future, when multilibs are enabled.) Notes: * This patch should not have any impact on the current building scheme. * --enable-multilib still does not work. * running bootstrap from the toplevel directory is required. CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: c/src/tests/libtests/termios/init.c CVS: ----------------------------------------------------------------------
2000-07-06Corrected call to _CORE_mutex_Seize_interrupt_blocking.Joel Sherrill1-2/+5
2000-07-06Reimplemented _Core_MUTEX_Seize to return with interrupts disabledJoel Sherrill1-7/+29
if the mutex is successfully obtained.
2000-07-06Added _Objects_Get_isr_disable prototype and added numerous comments.Joel Sherrill1-7/+18
2000-07-03Added blocked_count field to allow for optimizations.Joel Sherrill1-0/+1
2000-06-14Thread iterator and libgjc support submitted too early.Joel Sherrill2-51/+0
2000-06-12Patch from John Cotton <john.cotton@nrc.ca>, Charles-Antoine GauthierJoel Sherrill2-0/+51
<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
2000-06-12Merged from 4.5.0-beta3aJoel Sherrill4-18/+15
2000-04-13Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill2-0/+4
adds .cvsignore.
2000-01-21Patch from Eric Norum <eric@cls.usask.ca> to implement this:Joel Sherrill1-2/+3
I'd like to propose a change to RTEMS task variables that I think would make them more useful. I think that it is early enough in their existence to still make changes to their API. 1) Change type from `int' to `void *'. 2) Add extra argument to task_variable_add -- if non-NULL, a pointer to a `destructor' function to be called when the task exits. This function would be called with that task's value of the task variable as its argument. In many cases, the `dtor' function could be `free'. rtems_status_code rtems_task_variable_add ( rtems_id tid, void **ptr, void (*dtor)(void *)); rtems_status_code rtems_task_variable_delete (rtems_id tid, void **ptr); This would be all we'd need to cleanly and efficiently support C++ per-thread exception information without dragging in all that POSIX API stuff.
2000-01-13POSIX message queues now include complete functionality includingJoel Sherrill1-8/+36
blocking sends when the queue is full. The SuperCore was enhanced to support blocking on send. The existing POSIX API was debugged and numerous test cases were added to psxmsgq01 by Jennifer Averett. SuperCore enhancements and resulting modifications to other APIs were done by Joel. There is one significant point of interpretation for the POSIX API. What happens to threads already blocked on a message queue when the mode of that same message queue is changed from blocking to non-blocking? We decided to unblock all waiting tasks with an EAGAIN error just as if a non-blocking version of the same operation had returned unsatisfied. This case is not discussed in the POSIX standard and other implementations may have chosen differently.
2000-01-05Added support for simple binary semaphores in addition to the highJoel Sherrill2-4/+35
power binary/mutex style semaphores already supported by RTEMS. This was done at the request of Eric Norum <eric@cls.usask.ca> in support of his effort to port EPICS to RTEMS. This change consisted of changing the nesting_allowed boolean into a lock_nesting_behavior enumerated value as well as allowing the core mutex object to optionally support ensuring that the holder of a binary semaphore released it. Finally, a more subtle enhancement was to allow the non-holder to release a priority inheritance/ceiling mutex and still allow the holding task to return to its original priority.
2000-01-05+ Added return priority from message seize.Jennifer Averett1-10/+11
+ Changed priority to be based off of min and max int.