summaryrefslogtreecommitdiffstats
path: root/cpukit/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Patches rtems-rc-20000118-3.diff and rtems-rc-20000118-4.diff fromJoel Sherrill2000-01-3113-213/+165
| | | | | | | | | | 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
* Added after report from Quality Quorum <qqi@world.std.com> thatJoel Sherrill2000-01-271-0/+5
| | | | pc686.cfg was not present.
* Patch from Eric Norum <eric@cls.usask.ca> to implement this:Joel Sherrill2000-01-211-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.
* Removed warning.Joel Sherrill2000-01-142-2/+4
|
* POSIX message queues now include complete functionality includingJoel Sherrill2000-01-135-89/+154
| | | | | | | | | | | | | | | | 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-057-63/+77
| | | | | | | | | | | | 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 return priority from message seize.Jennifer Averett2000-01-051-10/+11
| | | | + Changed priority to be based off of min and max int.
* 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
|
* Removed unitialized variable warning.Joel Sherrill2000-01-041-4/+3
|
* Increased stack size to 4K per Eric Norum.Joel Sherrill2000-01-031-1/+1
|
* Increased minimum stack size so all tests will run.Joel Sherrill2000-01-031-1/+1
|
* Patch from Jepsen Hans Peter <hans_peter_jepsen@Danfoss.com> toJoel Sherrill1999-12-131-1/+1
| | | | use correct ifdef conditional (__GNUC__ not __GCC__).
* 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-19991123-rc-3.diff from Ralf CorsepiusJoel Sherrill1999-12-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | <corsepiu@faw.uni-ulm.de>: The patch below provides * automake support for score/cpu/powerpc * The hack to propagate values from *.cfg to automake configuration * A fix for librdbg/powerpc/mcp750/Makefile.am (Was completely corrupted before) * Fixes some files which apparently where missing in rtems-rc-19991123-rc-2.diff * some minor configuration related patches To apply: rm -rf ./c/src/exec/score/cpu/powerpc/wrap patch -p1 < rtems-rc-19991123-rc-3.diff Attention: c/src/exec/score/cpu/[configure.in|aclocal.m4|configure] should be removed after applying the patch. Modifications had been made to the score/cpu/powerpc directory after the snapshot this was based on. In particular, the mpc750 and other_cpu directories had been renamed to new_exception_processing and old_exception_processing. After this patch was applied, modifications were made to account for this.
* Patch rtems-rc-19991123-rc-2.diff from Ralf CorsepiusJoel Sherrill1999-12-022-0/+31
| | | | | | | | | | | | | | | | | | | | | | <corsepiu@faw.uni-ulm.de>: The patch below provides * automake support for score/cpu/powerpc * The hack to propagate values from *.cfg to automake configuration * A fix for librdbg/powerpc/mcp750/Makefile.am (Was completely corrupted before) * Fixes some files which apparently where missing in rtems-rc-19991123-rc-2.diff * some minor configuration related patches To apply: rm -rf ./c/src/exec/score/cpu/powerpc/wrap patch -p1 < rtems-rc-19991123-rc-3.diff Attention: c/src/exec/score/cpu/[configure.in|aclocal.m4|configure] should be removed after applying the patch.
* Merged of mcp750 and mvme2307 BSP by Eric Valette <valette@crf.canon.fr>.Joel Sherrill1999-12-021-2/+2
| | | | | As part of this effort, the mpc750 libcpu code is now shared with the ppc6xx.
* Patch rtems-rc-19991123-rc-2.diff from Ralf CorsepiusJoel Sherrill1999-12-016-0/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <corsepiu@faw.uni-ulm.de> which implements automake support for some score/cpu/<RTEMS_CPU> subdirectories and fixes a few minor configuration bugs. To apply: rm -rf c/src/exec/score/cpu/a29k/wrap rm -rf c/src/exec/score/cpu/hppa1.1/wrap rm -rf c/src/exec/score/cpu/i386/wrap rm -rf c/src/exec/score/cpu/mips64orion/wrap rm -rf c/src/exec/score/cpu/no_cpu/wrap patch -p1 < rtems-rc-19991123-rc-2.diff.gz Notes: * I don't see a possiblity to convert the powerpc subdirectory in its current layout to automake the time being. * Besides the fact that this subdirectory is not in single-tree building layout, the actual showstopper is the ifeq $(RTEMS_CPU_MODEL),mpc750) gmake-conditional in powerpc/Makefile.in, which automake (correctly) refuses to handle. * The problem is *not* specific to the powerpc. Other CPUs basically have similar problems (SH:sh7032 vs sh7045, SPARC: erc32.h in score/cpu/sparc), but have been lucky to get around real issues (cf. configuration files below score/cpu/sh/). * From a configuration focused POV this problem boils down to a file/subdirectory selection problem: ppc: 1 or others sh: 1 out of 2 sparc: 1 out of 1 Automake's means to implement such behavior is using conditionals to be evaluated at configuration-time. The old configuration scheme however used make-time conditionals. The SH port was lucky to get around this issue because it applies a selection from a limited set of possible selections, the powerpc however applies a selection from an unlimited set, based on data not being available at configuration time. * Currently I only see two general solutions: 1) make RTEMS_CPU_MODEL available at configuration time, ie. replace make-time configuration by configuration-time configuration 2) Perform the selection at build-time, i.e. always install all files, but use #ifdef #else #endif in source files. This is what the m68k has exploited at other locations inside of the source-tree. => This directory is the last one remaining not using automake below the whole exec/ hierarchy.
* Patch rtems-rc-19991123-rc-1.diff from Ralf CorsepiusJoel Sherrill1999-12-015-0/+240
| | | | | | | | | | | | | | | | | | | | | | | <corsepiu@faw.uni-ulm.de> which implements automake support for some score/cpu/<RTEMS_CPU> subdirectories and fixes a few minor configuration bugs. To apply: rm -rf c/src/exec/score/cpu/i960/wrap rm -rf c/src/exec/score/cpu/m68k/wrap rm -rf c/src/exec/score/cpu/sh/wrap rm -rf c/src/exec/score/cpu/sparc/wrap rm -rf c/src/exec/score/cpu/unix/wrap patch -p1 < rtems-rc-19991123-rc-1.diff ./bootstrap Known bugs: * "make debug|profile" in c/src/src/score/cpu/<RTEMS_CPU/Makefile does not handle recursion to subdirectories correctly (recurses too often). However, this issue is hardly visible and should be tolerable for the moment.
* 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."
* Changed name of W, X, and Y macros for fields in the ClockJoel Sherrill1999-11-222-18/+18
| | | | Synthesizer Control Register to remove use of single letter names.
* Small patch (rtems-rc-19991117-5.diff) from Ralf CorsepiusJoel Sherrill1999-11-221-1/+1
| | | | | <corsepiu@faw.uni-ulm.de> to correct the constraints on the inline assembly language macro for sh_disable_interrupt.
* Minor cleanup to reduce the code space.Joel Sherrill1999-11-181-14/+9
|
* Patch from "John M. Mills" <jmills@tga.com> with subsequent cleanup fromJoel Sherrill1999-11-183-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ralf Corsepius <corsepiu@faw.uni-ulm.de> that adds initial Hitachi SH-2 support to RTEMS. Ralf's comments are: Changes: ------ 1. SH-Port: * Many files renamed. * CONSOLE_DEVNAME and MHZ defines removed from libcpu. * console.c moved to libbsp/sh/shared, build in libbsp/sh/<BSP>/console applying VPATH. * CONSOLE_DEVNAME made BSP-specific, replacement is defined in bsp.h * MHZ define replaced with HZ (extendent resolution) in custom/*.cfg * -DHZ=HZ used in bspstart.c, only * Makefile variable HZ used in bsp-dependent directories only. 2. SH1-Port * clock-driver rewritten to provide better resolution for odd CPU frequencies. This driver is only partially tested on hardware, ie. sightly experimental, but I don't expect severe problems with it. * Polling SCI-driver added. This driver is experimental and completly untested yet. Therefore it is not yet used for the console (/dev/console is still pointing to /dev/null, cf. gensh1/bsp.h). * minor changes to the timer driver * SH1 specific delay()/CPU_delay() now is implemented as a function 3. SH2-Port * Merged * IMO, the code is still in its infancy. Therefore I have interspersed comments (FIXME) it for items which I think John should look after. * sci and console drivers partially rewritten and extended (John, I hope you don't mind). * Copyright notices are not yet adapted
* Added routine to remove an object from the namespace. It just clearsJennifer Averett1999-11-181-0/+17
| | | | | | | | | its name in the name_table. This was required by the POSIX semaphore and message queue managers which support a concept of open, close, and unlink. The object becomes "invisible" to further opens following an unlink but all open sessions remain active until they are closed. This requires that the removal of an object ID be separate from the removal of its name.
* Comment added.Jennifer Averett1999-11-171-1/+2
|
* Updated copyright notice.Joel Sherrill1999-11-17218-432/+220
|
* Moved task_variable pointer to basic shared part of TCB instead ofJoel Sherrill1999-11-161-0/+15
| | | | | | | RTEMS API extension to avoid problems when the extension is freed. Eventually the task variable switch extension should become part of the core context switch and the Ada tcb self implemented in terms of it.
* Added comments.Joel Sherrill1999-11-163-3/+10
|
* Now use _Thread_Reset().Joel Sherrill1999-11-161-19/+4
|
* Added prototype for _Thread_Reset() and numerous comments.Joel Sherrill1999-11-161-4/+28
|
* Only check for System V IPC if multiprocessing is enabled. The unixJoel Sherrill1999-11-162-1/+11
| | | | | | | | port only uses System V IPC for shared memory and semaphores to communicate between nodes in a multiprocessor configuration. If you disable multiprocessing, then this code should be unused. Thus systems like Cygwin which are POSIX but do not support System V IPC should not work.
* 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-108-29/+321
| | | | Working Group. Included are tests.
* This patch adds the basic framework for the ITRON 3.0 API implementationJoel Sherrill1999-11-094-23/+57
| | | | for RTEMS.
* This is another pass at making sure that nothing outside the BSPJoel Sherrill1999-11-0512-2/+167
| | | | | | | | | | | | 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>.
* The files in libcpu should not be directly dependent on any BSP. InJoel Sherrill1999-11-042-2/+8
| | | | | | | | | | | particular, using bsp.h, or getting information from the BSP which should properly be obtained from RTEMS is forbidden. 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>. The changes primarily eliminated the need to include bsp.h and peeking at BSP_Configuration. The use of Cpu_table in each BSP needs to be eliminated.
* 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
|