summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2000-07-26Port of RTEMS to the Texas Instruments C3x/C4x DSP families includingJoel Sherrill5-2/+10
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-24Use bitwise and not cast to unsigned16 to remove upper bits.Joel Sherrill2-2/+6
2000-07-06Added objjectgetbyisr.cJoel Sherrill1-2/+3
2000-07-06The code that attempts to obtain a mutex has now been inlined. TheJoel Sherrill1-83/+7
code remaining here now only blocks.
2000-07-06Directly index local table to avoid error check.Joel Sherrill3-12/+10
2000-07-06New file. Convert ID to pointer and return with interrupts -- notJoel Sherrill1-0/+83
dispatching -- disabled.
2000-07-06Format of return line changed.Joel Sherrill1-3/+3
2000-07-03Added blocked_count field to allow for optimizations.Joel Sherrill1-2/+3
2000-06-14Thread iterator and libgjc support submitted too early.Joel Sherrill1-10/+9
2000-06-12Patch from John Cotton <john.cotton@nrc.ca>, Charles-Antoine GauthierJoel Sherrill1-9/+10
<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 Sherrill2-5/+7
2000-04-13Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill1-0/+2
adds .cvsignore.
2000-02-08Patches rtems-rc-20000204-0.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+0
that contains: * Removes remaining (now illegal) references to $(SRC) from a couple of Makefile.ams * Removes duplicate AC_CONFIG_SUBDIRS macro from c/configure.in * Moves ENABLE_LIBCDIR into RTEMS_PROG_C[C|XX]_FOR_TARGET (hides LIBCDIR from most configure scripts, i.e. LIBCDIR becomes less visible) * Adds RTEMS_PROG_C[C|XX]_FOR_TARGET and RTEMS_CANONICALIZE_TOOLS to libbsp/*/configure.ins (A minor bug in previous implementations, which only has an impact when switching to GNU/Cygnus canonicalization) * Cleans up several bogus comments. * Removes MKLIB * Switches the version number to 4.5.0 (for testing version number handling)
2000-01-31Patches rtems-rc-20000118-3.diff and rtems-rc-20000118-4.diff fromJoel Sherrill1-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
2000-01-13POSIX message queues now include complete functionality includingJoel Sherrill2-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.
2000-01-13+ Added commentsJennifer Averett3-8/+46
2000-01-13+ Added and yellow line tested _CORE_message_queue_Flush_waiting_threadsJennifer Averett3-1/+174
and _CORE_message_queue_Insert_message for posix message queues. + Yellow line tested new source
2000-01-13Added comment.Jennifer Averett1-0/+1
2000-01-12+ Added code for waiting sendJennifer Averett1-4/+39
+ Yellow lined tested routine with Posix message queue test (01)
2000-01-06Corrected spacing.Joel Sherrill1-3/+2
2000-01-05Added support for simple binary semaphores in addition to the highJoel Sherrill3-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.
2000-01-05Fixed recursive release for mutexes with nesting allowed.Joel Sherrill1-1/+4
2000-01-05Added the recording of the submit type.Jennifer Averett1-0/+1
2000-01-05+ Added return of the message priority.Jennifer Averett1-6/+8
1999-12-13First attempt at adding simple binary semaphore in addition to the currentJoel Sherrill2-12/+20
"mutex" and counting semaphore. This is at the request of Eric Norum and his EPICS porting effort.
1999-11-23Patch rtems-rc-19991117-11.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-0/+81
to convert the libc directory to automake and "dozens of small fixes for Makefile.ins/configure.ins below c/src/lib."
1999-11-17Comment added.Jennifer Averett1-1/+2
1999-11-17Updated copyright notice.Joel Sherrill101-202/+101
1999-11-16Added comments.Joel Sherrill3-3/+10
1999-11-16Now use _Thread_Reset().Joel Sherrill1-19/+4
1999-11-16New file.Joel Sherrill1-0/+66
1999-11-12Corrected so now actually indexes into the allocation block.Joel Sherrill1-10/+6
1999-11-10Corrected to account for the way memory is divided up inJoel Sherrill1-7/+9
_Object_Extend_information. This change is a side-effect of the change made to that file to fix an alignment problem.
1999-11-10Committed modifications from ITRON Task and Task Dependendent SynchronizationJoel Sherrill5-1/+274
Working Group. Included are tests.
1999-11-02Split core mutex and semaphore handlers into separate files.Joel Sherrill6-0/+561
1999-11-02Split core message queue and watchdog handler objects into separate files.Joel Sherrill14-991/+861
1999-11-02Split Heap and Time of Day Handlers.Joel Sherrill12-1535/+800
1999-11-02Split threadq.c into multiple files.Joel Sherrill16-0/+1272
1999-11-02Split object.c into multiple files.Joel Sherrill16-982/+1368
1999-11-02Fixed bug which resulted in misaligned object control structuresJoel Sherrill1-3/+5
being allocated. This bug manifested itself on the SPARC since it uses ldd/std in its context save/restore routines.
1999-11-02Added a comment to indicate that if a task blocked on a priorityJoel Sherrill1-0/+5
based thread queue were to be reinserted based on its new priority, this is where the logic would go.
1999-11-02Added code to allocate by index. This is the object ID style usedJoel Sherrill1-27/+134
by ITRON. Corrected spacing.
1999-11-02Added maximum count detection logic.Joel Sherrill1-3/+13
1999-11-02Added support for message priority as required by POSIX.Joel Sherrill1-1/+33
1999-08-30Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca> to addJoel Sherrill1-13/+24
support for return codes from POSIX threads that do an implicit exit by returning from the bottom of the main function.
1999-07-28Fix after this report from Peter Pointner <pr@schenk.isar.de>:Joel Sherrill1-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.
1999-05-17Thread Handler split into multiple files. Eventually, as RTEMS isJoel Sherrill25-1304/+1978
split into one function per file, this will decrease the size of executables.
1999-04-19Unlimited objects patch design document. Submitted by Chris JohnsJoel Sherrill1-0/+387
<ccj@acm.org> of Objective Design Systems.
1999-03-31Patch from Chris Johns <ccj@acm.org>:Joel Sherrill1-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 ----
1999-03-17Unlimited objects patch from Chris Johns <ccj@acm.org>. Email follows:Joel Sherrill1-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.