summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patch rtems-rc-20000711-1-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-07-117-7/+7
| | | | | | | | | that decouples exec/ for the sh, m68k and i960 from targopts.h. NOTE: The change to system.h is a hack to enable cpuopts.h for some targets, but keep using targopts.h for others - I know it does *not* work for sparc, mips, i386 and ppc. This will have to be addressed as work continues on multilibing.
* Moved old_exception_processing and new_exception_processing directoriesJoel Sherrill2000-07-071-7/+1
| | | | | | from score/cpu to libcpu because the determination of which to use is based on RTEMS_CPU_MODEL. Thus it can not be determined based solely on multilib information.
* Interrupt stack is allocated in _ISR_Handler_initialization notJoel Sherrill2000-07-038-8/+8
| | | | _Interrupt_Manager_initialization.
* Changed extra_system_initialization_stack to extra_mpci_receive_server_stackJoel Sherrill2000-07-031-1/+1
| | | | to be consistent with other ports.
* This is the initial addition of the port of RTEMS to theJoel Sherrill2000-06-2912-0/+1979
| | | | | | | | | | | | | Hitachi H8 family. This port was done by Philip Quaife <philip@qs.co.nz> of Q Solutions and sponsored by Comnet Technologies Ltd. The port was done based on RTEMS 3.5.1 to a Hitach H8300H. The port was updated to RTEMS 4.5 style Makefiles/configure by Joel Sherrill <joel@OARcorp.com>. While doing this Joel added support for the h8300-rtems to binutils, gcc, newlib, and gdb. NOTE: Philip submitted a BSP for a Hitachi evaluation board which is being merged as a separate entity.
* Remove pragma align 4Joel Sherrill2000-06-151-2/+0
|
* Patch rtems-rc-20000614-sh.tar.gz from Ralf CorsepiusJoel Sherrill2000-06-142-11/+12
| | | | | | | | | | | | | | | | | | | | | <corsepiu@faw.uni-ulm.de> that migrates the SH port to multilib'ing. This patch involved moving a number of files in the CVS repository, adding new files, and deleting files from their previous location. Ralf gave good instructions (not repeated here) and here are his notes: Note 1: In this version, I did not change the installation points of the headers which are moved inside of the source-tree. This is a temporary hack for not breaking compatibility with 4.5 based BSPs, but will probably not last once having real multilibs (We would have include file conflicts when several BSPs/CPU_MODELS share a common installation prefix). Note 2: I hope not to have broken too much, but I would not be astonished if something goes wrong. Note 3: There are more patches to come :)
* Moved PowerPC cache management code to libcpu. Also compiledJoel Sherrill2000-06-141-151/+0
| | | | | | mpc8xx libcpu support for the first time and remove includes of bsp.h, references to BSP_Configuration, and Cpu_table. All of these can be obtained directly from RTEMS now.
* Added crude i960ka support.Joel Sherrill2000-06-133-6/+38
|
* Moved i386 and m68k cache management code to libcpu. EverythingJoel Sherrill2000-06-132-306/+0
| | | | | | now is an implementation of the prototypes in rtems/rtems/cache.h. The libcpu/i386/wrapup directory is no longer needed. The PowerPC needs this done to it.
* Patch from John Cotton <john.cotton@nrc.ca>, Charles-Antoine GauthierJoel Sherrill2000-06-125-10/+542
| | | | | | | | | | | | | | | <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
* Works on Solaris and Linux.Joel Sherrill2000-06-121-8/+6
|
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-1233-88/+527
|
* Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill2000-04-1311-0/+66
| | | | adds .cvsignore.
* Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill2000-04-1324-0/+136
| | | | adds .cvsignore.
* Added routines to get and set C3x IOF register. The code is conditionallyJoel Sherrill2000-03-012-26/+142
| | | | compiled and there is no comparable code for the C4x.
* BSP now compiles and links with CAVSL board information. This includesJoel Sherrill2000-02-291-3/+3
| | | | | | | | | | linkcmds updated, simio references removed, and switch to libchip for serial ports from simio. Added a MEMORY_MAP file to capture information about the various addresses on this board. In addition, many of the beta patches are now included.
* New port of RTEMS to TI C3x and C4x.Joel Sherrill2000-02-2212-0/+3149
|
* Patches rtems-rc-20000118-3.diff and rtems-rc-20000118-4.diff fromJoel Sherrill2000-01-3112-212/+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.
* Removed warning.Joel Sherrill2000-01-142-2/+4
|
* 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__).
* 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.
* 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
* Updated copyright notice.Joel Sherrill1999-11-1745-83/+45
|
* 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.
* This is another pass at making sure that nothing outside the BSPJoel Sherrill1999-11-0511-2/+127
| | | | | | | | | | | | 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.
* 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().
* 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.