summaryrefslogtreecommitdiffstats
path: root/cpukit/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 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-022-4/+16
|
* Added support for message priority as required by POSIX.Joel Sherrill1999-11-022-5/+43
|
* Corrected spacing.Joel Sherrill1999-11-021-2/+2
|
* Patch rtems-rc-19991011-3.diff from Ralf Corsepius.Joel Sherrill1999-10-281-25/+0
|
* rxgen960 now compiles -- may not link.Joel Sherrill1999-10-271-3/+3
|
* The rxgen960 BSP and i960 RPM support was submitted by Mark BronsonJoel Sherrill1999-10-273-43/+245
| | | | <mark@ramix.com> of RAMIX.
* Patch from Gerwin Pfab <pb@schenk.isar.de> to leave dispatchingJoel Sherrill1999-10-261-3/+4
| | | | | disabled on exit to ISR Thread dispatching. This allows a context switch to finish under high high interrupt rates.
* Removed targets and configurations that are no longer functionalJoel Sherrill1999-10-053-33/+0
| | | | | | | | | | | | | | and not likely to become so. Comments on each configuration are below. + Force CPU386 - This BSP was developed as part of the initial port of RTEMS to the i386. This board has been unavailable for a long time now. + GO32 - This BSP and some CPU code supported djgpp v1.x. This version is now quite old. No one has stepped forward to update the code to v2.x which may be technically impossible anyway. More importantly, go32 has been superceded by the pc386 BSP.
* Bug report and fix from Jay Kulpinski <jskulpin@eng01.gdds.com> whereJoel Sherrill1999-10-051-3/+2
| | | | | | sigemptyset(&old_mask) needed to be added on glibc2 systems. Ian Lance Taylor pointed out that sigemptyset() is portable so Joel removed all conditionals around calls to sigemptyset().
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bugJoel Sherrill1999-10-044-12/+12
| | | | where wrapup left pieces out of the librtemsall.a.
* Applied patch rtems-rc-19990820-6.diff.gz fromJoel Sherrill1999-09-074-0/+42
| | | | | Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many Makefile.in's to Makefile.am's. This added a lot of files.
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca> to addJoel Sherrill1999-08-302-14/+30
| | | | | support for return codes from POSIX threads that do an implicit exit by returning from the bottom of the main function.
* Typo causing compilation failure spotted by Ralf Corsepius andJoel Sherrill1999-08-261-1/+1
| | | | fixed by Joel.
* Support for MPC505 from Sergei Organov <osv@Javad.RU>. His patch wasJoel Sherrill1999-08-191-0/+17
| | | | | against 3.6.0 so was painful to merge. It should be OK but there is no guarantee and there are no BSPs in the tree to exercise it.
* Patch from Jimen Ching <jimen@adtech-inc.com>:Joel Sherrill1999-08-181-0/+45
| | | | | | | | | | | | | | | Please take a look at this new patch. It contains a cleaner implementation of the reset operation. These patches are against 4.0.0. But the files did not change from the 3.6.0 release. Also, the cpu.h patch below still applies. I.e. instead of using i960ca_PRCB, use i960_PRCB. Explanation: The previous patch removed the use of the reset instruction, because it always fails. But this was due to the fact that some of the registers were corrupted by the re-init procedure. The new patches save and restore those registers when a re-init is done.
* Slightly cleaner way to switch on the CPU model.Joel Sherrill1999-08-181-6/+10
|
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-08-121-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After upgrading my linux box to the brand new SuSE 6.2 release, which is glibc-2.1 based, I came across a bug in RTEMS - IIRC, I even warned you about it about 1/2 a year ago, but nothing has been done since then :-. The *.m4 macros to check for SYSV/IPC are broken for linux/glibc2.1, because they assume that linux always defines union semun, which isn't true anymore for glibc2.1 (the manpage for semctl states _X_OPEN specifies it this way). Therefore I have tried to implement a more general approach for handling SYSV for unix/posix which checks for presence of struct semun, instead of trying to evaluate OS specific preprocessor symbols. This approach is a bit adventureous, because I only tested it with linux/glibc2.1 and linux/libc5, but not under other Unix variants RTEMS supports. I am quite confident it will work on other hosts, too, but who knows :-. [FYI: I think this might also is the cause of some problems with RedHat 6.X / Mandrake linux recently reported on the rtems list -- rtems-4.0.0 can not be build for posix on any glibc2.1 based host] Furthermore the patch below contains a couple of minor fixes and configuration cleanups, which IMO should be applied before releasing a new snapshot. To apply this patch: cd <source-tree> patch -p1 < rtems-rc-19990709-8.diff ./autogen
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>Joel Sherrill1999-07-2912-13/+16
| | | | | to correct a typo CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES was actually typed in as CPU_CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
* 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.