summaryrefslogtreecommitdiffstats
path: root/cpukit/score (unfollow)
Commit message (Collapse)AuthorFilesLines
1999-12-02Merged of mcp750 and mvme2307 BSP by Eric Valette <valette@crf.canon.fr>.Joel Sherrill1-2/+2
As part of this effort, the mpc750 libcpu code is now shared with the ppc6xx.
1999-12-01 Patch rtems-rc-19991123-rc-2.diff from Ralf CorsepiusJoel Sherrill6-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.
1999-12-01Patch rtems-rc-19991123-rc-1.diff from Ralf CorsepiusJoel Sherrill5-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.
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-22Changed name of W, X, and Y macros for fields in the ClockJoel Sherrill2-18/+18
Synthesizer Control Register to remove use of single letter names.
1999-11-22Small patch (rtems-rc-19991117-5.diff) from Ralf CorsepiusJoel Sherrill1-1/+1
<corsepiu@faw.uni-ulm.de> to correct the constraints on the inline assembly language macro for sh_disable_interrupt.
1999-11-18Minor cleanup to reduce the code space.Joel Sherrill1-14/+9
1999-11-18Patch from "John M. Mills" <jmills@tga.com> with subsequent cleanup fromJoel Sherrill3-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
1999-11-18Added routine to remove an object from the namespace. It just clearsJennifer Averett1-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.
1999-11-17Comment added.Jennifer Averett1-1/+2
1999-11-17Updated copyright notice.Joel Sherrill218-432/+220
1999-11-16Moved task_variable pointer to basic shared part of TCB instead ofJoel Sherrill1-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.
1999-11-16Added comments.Joel Sherrill3-3/+10
1999-11-16Now use _Thread_Reset().Joel Sherrill1-19/+4
1999-11-16Added prototype for _Thread_Reset() and numerous comments.Joel Sherrill1-4/+28
1999-11-16Only check for System V IPC if multiprocessing is enabled. The unixJoel Sherrill2-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.
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 Sherrill8-29/+321
Working Group. Included are tests.
1999-11-09This patch adds the basic framework for the ITRON 3.0 API implementationJoel Sherrill4-23/+57
for RTEMS.
1999-11-05This is another pass at making sure that nothing outside the BSPJoel Sherrill12-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>.
1999-11-04The files in libcpu should not be directly dependent on any BSP. InJoel Sherrill2-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.
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 Sherrill2-4/+16
1999-11-02Added support for message priority as required by POSIX.Joel Sherrill2-5/+43
1999-11-02Corrected spacing.Joel Sherrill1-2/+2
1999-10-28Patch rtems-rc-19991011-3.diff from Ralf Corsepius.Joel Sherrill1-25/+0
1999-10-27rxgen960 now compiles -- may not link.Joel Sherrill1-3/+3
1999-10-27The rxgen960 BSP and i960 RPM support was submitted by Mark BronsonJoel Sherrill3-43/+245
<mark@ramix.com> of RAMIX.
1999-10-26Patch from Gerwin Pfab <pb@schenk.isar.de> to leave dispatchingJoel Sherrill1-3/+4
disabled on exit to ISR Thread dispatching. This allows a context switch to finish under high high interrupt rates.
1999-10-05Removed targets and configurations that are no longer functionalJoel Sherrill3-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.
1999-10-05Bug report and fix from Jay Kulpinski <jskulpin@eng01.gdds.com> whereJoel Sherrill1-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().
1999-10-04Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bugJoel Sherrill4-12/+12
where wrapup left pieces out of the librtemsall.a.
1999-09-07Applied patch rtems-rc-19990820-6.diff.gz fromJoel Sherrill4-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.
1999-08-30Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca> to addJoel Sherrill2-14/+30
support for return codes from POSIX threads that do an implicit exit by returning from the bottom of the main function.
1999-08-26Typo causing compilation failure spotted by Ralf Corsepius andJoel Sherrill1-1/+1
fixed by Joel.
1999-08-19Support for MPC505 from Sergei Organov <osv@Javad.RU>. His patch wasJoel Sherrill1-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.
1999-08-18Patch from Jimen Ching <jimen@adtech-inc.com>:Joel Sherrill1-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.
1999-08-18Slightly cleaner way to switch on the CPU model.Joel Sherrill1-6/+10
1999-08-12Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1-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
1999-07-29Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>Joel Sherrill12-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.
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.