summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patches rtems-rc-20000118-3.diff and rtems-rc-20000118-4.diff fromJoel Sherrill2000-01-311-1/+0
| | | | | | | | | | Ralf Corsepius <corsepiu@faw.uni-ulm.de> that contain: * Modifications, (minor) corrections, cleanups to most existing Makefile.ams * Adds automake support to all remaining BSPs which have not yet been converted to automake. * Makefile.am for all remaining wrapup/Makefile.ams
* POSIX message queues now include complete functionality includingJoel Sherrill2000-01-132-69/+96
| | | | | | | | | | | | | | | | 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.
* + Added commentsJennifer Averett2000-01-133-8/+46
|
* + Added and yellow line tested _CORE_message_queue_Flush_waiting_threadsJennifer Averett2000-01-133-1/+174
| | | | | and _CORE_message_queue_Insert_message for posix message queues. + Yellow line tested new source
* Added comment.Jennifer Averett2000-01-131-0/+1
|
* + Added code for waiting sendJennifer Averett2000-01-121-4/+39
| | | | + Yellow lined tested routine with Posix message queue test (01)
* Corrected spacing.Joel Sherrill2000-01-061-3/+2
|
* Added support for simple binary semaphores in addition to the highJoel Sherrill2000-01-053-32/+42
| | | | | | | | | | | | 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.
* Fixed recursive release for mutexes with nesting allowed.Joel Sherrill2000-01-051-1/+4
|
* Added the recording of the submit type.Jennifer Averett2000-01-051-0/+1
|
* + Added return of the message priority.Jennifer Averett2000-01-051-6/+8
|
* First attempt at adding simple binary semaphore in addition to the currentJoel Sherrill1999-12-132-12/+20
| | | | | "mutex" and counting semaphore. This is at the request of Eric Norum and his EPICS porting effort.
* Patch rtems-rc-19991117-11.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1999-11-231-0/+81
| | | | | to convert the libc directory to automake and "dozens of small fixes for Makefile.ins/configure.ins below c/src/lib."
* Comment added.Jennifer Averett1999-11-171-1/+2
|
* Updated copyright notice.Joel Sherrill1999-11-17101-202/+101
|
* Added comments.Joel Sherrill1999-11-163-3/+10
|
* Now use _Thread_Reset().Joel Sherrill1999-11-161-19/+4
|
* New file.Joel Sherrill1999-11-161-0/+66
|
* Corrected so now actually indexes into the allocation block.Joel Sherrill1999-11-121-10/+6
|
* Corrected to account for the way memory is divided up inJoel Sherrill1999-11-101-7/+9
| | | | | _Object_Extend_information. This change is a side-effect of the change made to that file to fix an alignment problem.
* Committed modifications from ITRON Task and Task Dependendent SynchronizationJoel Sherrill1999-11-105-1/+274
| | | | Working Group. Included are tests.
* Split core mutex and semaphore handlers into separate files.Joel Sherrill1999-11-026-0/+561
|
* Split core message queue and watchdog handler objects into separate files.Joel Sherrill1999-11-0214-991/+861
|
* Split Heap and Time of Day Handlers.Joel Sherrill1999-11-0212-1535/+800
|
* Split threadq.c into multiple files.Joel Sherrill1999-11-0216-0/+1272
|
* Split object.c into multiple files.Joel Sherrill1999-11-0216-982/+1368
|
* Fixed bug which resulted in misaligned object control structuresJoel Sherrill1999-11-021-3/+5
| | | | | being allocated. This bug manifested itself on the SPARC since it uses ldd/std in its context save/restore routines.
* Added a comment to indicate that if a task blocked on a priorityJoel Sherrill1999-11-021-0/+5
| | | | | based thread queue were to be reinserted based on its new priority, this is where the logic would go.
* Added code to allocate by index. This is the object ID style usedJoel Sherrill1999-11-021-27/+134
| | | | | | by ITRON. Corrected spacing.
* Added maximum count detection logic.Joel Sherrill1999-11-021-3/+13
|
* Added support for message priority as required by POSIX.Joel Sherrill1999-11-021-1/+33
|
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca> to addJoel Sherrill1999-08-301-13/+24
| | | | | support for return codes from POSIX threads that do an implicit exit by returning from the bottom of the main function.
* Fix after this report from Peter Pointner <pr@schenk.isar.de>:Joel Sherrill1999-07-281-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: a posix thread which is created by pthread_attr_init(&tattr); pthread_attr_setinheritsched(&tattr, PTHREAD_EXPLICIT_SCHED); pthread_attr_setschedpolicy(&tattr, SCHED_RR); pthread_create(&th, &tattr, func, arg); has a first timeslice of 2^32 ticks (changing a running thread to SCHED_RR id ok). I use RTEMS-4.0.0. I am not sure if the problem exists in the current CVS head revision. If it's not fixed, the patch at the end should do it. Peter --- pthreadcreate.c.orig Wed Jul 28 14:45:58 1999 +++ pthreadcreate.c Wed Jul 28 15:06:09 1999 @@ -199,6 +199,10 @@ api->schedpolicy = schedpolicy; api->schedparam = schedparam; + if ( schedpolicy == SCHED_RR ) { + the_thread->cpu_time_budget = _Thread_Ticks_per_timeslice; + } + /* * This insures we evaluate the process-wide signals pending when we * first run.
* Thread Handler split into multiple files. Eventually, as RTEMS isJoel Sherrill1999-05-1725-1304/+1978
| | | | split into one function per file, this will decrease the size of executables.
* Unlimited objects patch design document. Submitted by Chris JohnsJoel Sherrill1999-04-191-0/+387
| | | | <ccj@acm.org> of Objective Design Systems.
* Patch from Chris Johns <ccj@acm.org>:Joel Sherrill1999-03-311-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | joel@OARcorp.com wrote: > > Chris, > > sp09 fails on the rtems_port_delete(0) call. This is supposed to give an > invalid id error. I can't find any changes other than the unlimited > objects patch which would have tripped this so would appreciate it if you > could look into it. I suspect that this is a side-effect of the unlimited > objects patch. > It is me. > > Basically, there are 0 ports configured in sp09. The test ends up > dereferecing NULL in local_table[0] and comes up with a non-NULL invalid > pointer. > The issue is not actually allocating a local_table for an object type which has a maximum value of 0. I cannot remember the exact workings of the id values and the local_table. I might have changed the nature from the pre-unlimited change. As you know the id's are an interesting game where performance is most important. > > I know the problem could be solved by adding a check for index == 0. But > I hate to slow this path down. I think you may have changed the way the > object information structure gets initialized. > ---- CVS log ---- This change lets the unlimited and sp09 tests run on the posix Linux BSP. A static local variable `null_local_table' has been added. This variable is always set to NULL. The `**local_table' element of the information structure is set to point to this variable earily in the initialisation. If the object type has more than 0 elements the `local_table' element is updated. All object types which have 0 elements reference `null_local_table'. This change fixes the problem sp09 found yet does not add any extra processing to the critical `_Objects_Get_local_object' function. ---- CVS log ----
* Unlimited objects patch from Chris Johns <ccj@acm.org>. Email follows:Joel Sherrill1999-03-171-81/+483
| | | | | | | | | | | | | | | | | | | | | | | | | First, the unlimited patch. I have compiled the unlmited patch for the Linux posix BSP only and it seems to work cleanly. I would like a really major application run on this change before commiting as the changes are very core and significant. I am currently building all the tests to run. I have no targets suitable to test on at the moment. I have tested the patch for inline functions and macros. Turning macros on has found some core bugs. I have fixed these but have not run all the tests. Please review the patch for these changes. They are: 1) The conditional compilation for MP support broke the core messages code. You cannot embed a conditional macro in another macro. The Send and Urgent Send calls are macros. 2) User extensions handler initialisation now has two parameters. I have updated the macros to support the extra parameter. The patch also contains the gcc-target-default.cfg fix required to build the kernel. More of a by product than a fix for you.
* Corrected spacing.Joel Sherrill1998-12-031-1/+1
|
* Added --disable-multiprocessing flag and modified a lot of files to makeJoel Sherrill1998-11-237-4/+47
| | | | it work.
* Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-11-191-0/+8
| | | | | | | | | | | | | | | 1) Socket timeout field changed from `short' to `long'. This makes longer timeouts possible. With a 1 kHz system clock the old system allowed timeouts only up to a little over 30 seconds! This change is a slightly cleaned-up version of the patch proposed by Ian Lance Taylor. 2) Major changes to BOOTP/DHCP reply handling. Now supports much of RFC2132. These changes were done at the request of, and with the assistance of, Erik Ivanenko. If you're making changes, you might want to change the network supplement Essentially just do a global search and replace of BOOTP with BOOTP/DHCP.
* IDLE task stack size now specified as a field in the CPU Table for allJoel Sherrill1998-09-231-2/+7
| | | | ports.
* Modified to make it possible for an ISR to return a mutex which didJoel Sherrill1998-02-201-2/+20
| | | | not use priority ceiling or priority inheritance protocols.
* Ralf Corsepius noted that there was a dead path in _Thread_Initialize.Joel Sherrill1998-02-181-6/+2
|
* updated copyright to 1998Joel Sherrill1998-02-1718-18/+18
|
* Fixed spacing.Joel Sherrill1998-01-061-2/+2
|
* Fixed typo in the pointer to the license terms.Joel Sherrill1997-10-0818-36/+36
|
* Added support for context switching the data used by the gcc m68kJoel Sherrill1997-05-281-1/+1
| | | | | | software floating point emulation code. Code implemented by Karen Sara Looney <Karen.Looney@colorado.edu> with much email assistance from Joel.
* headers updated to reflect new style copyright notice as partJoel Sherrill1997-04-2218-90/+90
| | | | of switching to the modified GNU GPL.
* added support for tracking thread cpu usage.Joel Sherrill1997-04-091-0/+2
|
* enhanced printf statementsJoel Sherrill1997-04-091-4/+4
|