summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca> to eliminate aJoel Sherrill1999-04-191-1/+2
| | | | warning.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-04-1946-50/+50
| | | | | | | | | | | | | | This one is an enhancement to acpolish. It replaces some Makefile variables by others variable in Makefile.ins (tries to use unique name for some variables). It therefore eases parsing Makefile.ins for further automatic Makefile.in conversions in future. To apply: cd <rtems-source-tree> sh <path-to>/rtems-rc-19990407-8.sh ./autogen
* Fixed some spacing issues.Joel Sherrill1999-04-191-4/+5
|
* Addressed this bug report:Joel Sherrill1999-04-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Date: Mon, 12 Apr 1999 00:38:04 +0000 From: Brendan Simon <brendan@dgs.monash.edu.au> To: Jay Monkman <jmonkman@frasca.com>, "joel@OARcorp.com" <joel@oarcorp.com> Subject: [Fwd: Goof in SMC initialize for mpc860] Nick Simon reported this bug in the eth_comm BSP sources. I see that it is still there in the latest snapshot that Joel sent me (thanks). I thought I better forward this on to you guys. Brendan. Nick.SIMON@syntegra.bt.co.uk wrote: > Sice I believe you're using the same base BSP as I am (you sent it to me) I > thought I'd mention.. > > In console-generic.c, in m860_smc_initialize, the receive buffer is malloced > and assigned to RxBd[port+3]-> buffer - it should be [port-1]. > > TTFN B
* MPC821 support and PPC patches from Andrew Bray <andy@madhouse.demon.co.uk>:Joel Sherrill1999-04-0715-1/+2953
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In c/src/exec/score/cpu/powerpc/rtems/score/ppc.h: A lot of hardware interrupts were omitted. Patch enclosed. I have also added the 821. In c/src/exec/score/cpu/powerpc/rtems/score/cpu.h: My patch adds the 821. In c/src/exec/score/cpu/powerpc/cpu.c: I have added the MPC821, and also fixed up for the missing hardware interrupts. It is also inconsistent with c/src/lib/libcpu/powerpc/mpc860/vectors/vectors.S. This has been fixed. In c/src/lib/libcpu/powerpc/mpc860/vectors/vectors.S: Fixed an inconsistency with cpu.c. I also include some new files to go with the above patches. These are the cpu library rtems-19990331/c/src/lib/libcpu/powerpc/mpc821/* and c/src/exec/score/cpu/powerpc/mpc821.h which are minor modifications of the 860 equivalents. Other comments: The various accesses to the DPRAM on the 860 are done with a linktime symbol. This could be done dynamically at run time by reading the immr register, and masking off the lower 16 bits. This takes the same amount of time as loading an address constant, and the same number of instructions as well (2). In c/src/lib/libcpu/powerpc/mpc860/console-generic/console-generic.c: This will silently fail if you attempt to use SCC1. This is only relevant if you are not using SCC1 for ethernet. This file also sets one of port B output pins for each port. This is NOT generic, it should be in the BSP specific console driver.
* Removed warning.Joel Sherrill1999-04-011-4/+6
|
* Fixed paths to include files so this will build.Joel Sherrill1999-03-314-12/+12
|
* Patch from "Tony R. Ambardar" <tonya@ece.ubc.ca> and blessed byJoel Sherrill1999-03-301-2/+2
| | | | | Ian Lance Taylor <ian@airs.com> to note that condition codes are modified.
* Incorporated automake I patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-193-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first real automake patch. It adds automake support to c/build-tools and cleans up a few minor issues. I consider this to be a testing probe to examine problems with automake. Therefore, this patch is just a more or less harmless replacement of the former RTEMS Makefiles and I expect it not last for long. If you want to give automake Makefiles a public try and if you want/need to learn about problems with it, then it's about time for a new snapshot, IMO. I may have screwed up something not directly related to automake, but I expect very few (none to be precise) problems with automake. However, somebody should at least try building on Cygwin. If you feel a bit more adventureous, then I also can continue to submit more patches. [FYI: I still have a couple of automake files laying around, but they need some cleanup before being submitted as patches. Now, that I am just into it, I'll perhaps submit another one tonight :-] After applying this patch (patch -p1 -E < <path-to>/rtems-rc-19990318-0), first run the "autogen" script from the toplevel source directory, before committing to CVS. Be careful about dependencies between Makefile.am and Makefile.ins when cutting tarballs from CVS. Makefile.ins are required to be newer than Makefile.ams, otherwise users would need to have automake, autoconf and perl. Some people recommend to "touch" all Makefile.in after checkout from cvs (cf. egcs/contrib/egcs_update). ATTENTION: * This patch adds a number of new files. * remove aclocal/exeext.m4 and aclocal/cygwin.m4 from CVS, They are now covered by autoconf-2.13`s AC_EXEEXT. Some features/side-effects which are probably interesting for you: In a configured build-tree "cd c/build-tools", then try * "make RTEMS_BSP=<bsp> install" * "make RTEMS_BSP=<bsp> dist"
* Towards automake XI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-1940-123/+475
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is the most scary of all proposals I've been mailing to you this week until now. It consists of 3 parts: 1. a patch 2. a perl script (acpolish) 3. a shell script wrapper to invoke the perl-script. The perl-script reads in each Makefile.in and modifies them ("polishes/beautifies" them :-). These modifications are not easy to describe: Basically, it hard-codes some automake Makefile-variables and rules into RTEMS autoconf-Makefile.ins (Note: autoconf vs. automake!!) and converts some settings/variables to configure scripts' requirements (Yes, plural). E.g. it adds the automake standard variables $top_builddir and $subdir, adds dependency rules for automatic re-generation of Makefiles from Makefile.in, adds support variables for relative paths to multiple configure scripts etc. The patch is a one-line patch to enable the support of the new features added by acpolish. The shell script is a wrapper which pokes around inside of the source tree for Makefile.ins and invokes acpolish on all autoconf-Makefile.ins. acpolish is designed to be able to run several times on the same Makefile.in and may once become a more general tool to convert RTEMS Makefile.in to automake. Therefore, I'd like to keep it inside of source tree. (e.g. as contrib/acpolish or c/update-tools/acpolish). However, it doesn't make sense to export it outside of RTEMS. To apply this: cd <source-tree> patch -p1 -E < <path-to-patch>/rtems-rc-19990318-1.diff tar xzvf <path-to>/rtems-rc-polish.tar.gz ./rtems-polish.sh ./autogen Note: The path contrib/acpolish is hard-coded into rtems-polish.sh, if you decide to put it in an alternative place, please modify rtems-polish.sh to reflect this change. Later: cvs rm make/rtems.cfg (It isn't used anymore) cvs add contrib cvs add contrib/acpolish cvs commit I've tested this intensively, but naturally I can't exclude bugs. Ralf. PS.: Most probably, this is the last "Towards automake" patch. The next one probably will be a real automake patch.
* Patch from Ian Lance Taylor <ian@airs.com> to correct previous interruptJoel Sherrill1999-03-081-3/+2
| | | | patch.
* Patch from Jay Monkman <jmonkman@frasca.com> to address minor issuesJoel Sherrill1999-03-022-18/+10
| | | | in the eth_comm BSP documentation.
* Removed dependency on bsp.h.Joel Sherrill1999-02-241-1/+3
|
* Moved erc32.h back up in tree.Joel Sherrill1999-02-191-0/+521
|
* Moved to proper rtems/scoreJoel Sherrill1999-02-191-521/+0
|
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1999-02-181-6/+6
| | | | | | | | | Here is a patch which slightly improves the i386 interrupt handling macros. These macros were written to use both input and output parameters, which is not necessary. This patch changes them to use only an input or output parameter, as appropriate. It also changes the constraints to permit the interrupt level to be loaded directly in and out of memory, rather than always requiring a register.
* Patch from Emmanuel Raguet <raguet@crf.canon.fr>. Missed adding this fileJoel Sherrill1999-02-181-0/+540
| | | | earlier to CVS.
* Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-02-1840-6/+86
| | | | | | | | | | | | | | | | > 5) rtems-rc-19990202-1.diff/reorg-install.sh > > reorg-install.sh fixes a Makefile variable name clash of RTEMS > configuration files and automake/autoconf standards. > Until now, RTEMS used $(INSTALL) for install-if-change. Automake and > autoconf use $(INSTALL) for a bsd-compatible install. As > install-if-change and bsd-install are not compatible, I renamed all > references to install-if-changed to $(INSTALL_CHANGED) and used > $(INSTALL) for bsd-install (==automake/autoconf standard). When > automake will be introduced install-if-change will probably be replaced > by $(INSTALL) and therefore will slowly vanish. For the moment, this > patch fixes a very nasty problem which prevents adding any automake file > until now (There are still more).
* Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-02-182-0/+388
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > 4) rtems-rc-19990202-0.diff /reorg-score-cpu.sh > > reorg-score-cpu.sh reorganizes the cpu/<cpu>/* subdirectories in a > similar manner than previous reorg scripts did. rtems-rc-19990202-0.diff > contains the diffs after reorg-score-cpu.sh has been run on a > rtems-19981215 snapshot + my patches up to rtems-rc-19990131-2.diff. > > This patch is rather nasty and may break something. However, I've tested > it for about 10 different target/bsp pairs and believe to have shaken > out most bugs. I wonder about the following .h files that were not moved: a29k/asm.h a29k/cpu_asm.h i386/asm.h i960/asm.h m68k/asm.h m68k/m68302.h m68k/m68360.h m68k/qsm.h m68k/sim.h mips64orion/asm.h mips64orion/cpu_asm.h mips64orion/mips64orion.h no_cpu/asm.h no_cpu/cpu_asm.h powerpc/asm.h powerpc/mpc860.h sh/asm.h sparc/asm.h sparc/erc32.h
* Patch from Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill1999-02-183-1/+173
| | | | | | | You will find enclosed a patch which contains, for Intel PC386 target : - an Ethernet driver for DEC21140 device based boards. - a simple cache management with paging mechanism.
* Added CVS Id string.Joel Sherrill1999-02-181-0/+4
|
* Jay Monkman <jmonkman@frasca.com> submitted the eth_comm BSP for a PPC860Joel Sherrill1999-02-1714-0/+2987
| | | | based board.
* Bug report from Jiri Gaisler <jgais@ws.estec.esa.nl>:Joel Sherrill1999-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > I think I have found a bug in src/exec/scor/sparc/cpu/erc32.h in: > > > > #define ERC32_Disable_interrupt( _source, _previous ) \ > > do { \ > > unsigned32 _level; \ > > unsigned32 _mask = 1 << (_source); \ > > \ > > sparc_disable_interrupts( _level ); \ > > (_previous) = ERC32_MEC.Interrupt_Mask; \ > > ERC32_MEC.Interrupt_Mask = _previous | _mask; \ > > sparc_enable_interrupts( _level ); \ > > (_previous) &= ~_mask; \ <- IS THIS CORRECT...? > > } while (0) > > > > The previous interrupt mask is returned after first clearing the > > bit to be disabled, regardless whether the bit was set before or > > not. If the bit was set (interrupt masked), subsequent call to > > ERC32_Restore_interrupt() will enable the interrupt even though > > it was supposed to be masked. This is indeed what happens in > > DEBUG_puts when polled console I/O is used. In my opinion, the > > last statement in the macro should be removed - what is your opinion? > > I think the "~" shouldn't be there. I recall that the intent of that line > is to only return the state of the interrupts you were concerned with. > Removing the line returns entire state. Given that the value returned > shuold only be used in conjunction with the map, I suppose either removing > the ~ or the entire line is correct? I can go either way. Just let me > know which you think is more correct and the source will change. :) Hmmm, just removing the '~' should be OK. DEBUG_puts() seems to be the only user of ERC32_Restore_interrupt() anyway ...
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to rename allJoel Sherrill1998-12-1460-45/+45
| | | | | .s files to .S in conformance with GNU conventions. This is a minor step along the way to supporting automake.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to correct minorJoel Sherrill1998-10-131-2/+2
| | | | cosmetic things.
* Typo which prevented baud rate changes from Thomas Doerfler <td@imd.m.isar.de>.Joel Sherrill1998-10-121-1/+1
|
* BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:Joel Sherrill1998-09-307-221/+1192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally I am through: I have found the last bugs that made RTEMS- 4.0-beta3 start on my ppc403 board from ROM. So now the '403 support is up to date again. Roughly I have added the following features: - support for the on-chip interrupt controller (in a separate module) - interrupt support for the console device - termios support for the console device ============================================== Since the BSP behaivour changed in some details (console no longer is polling, other memory layout etc) I have created a new BSP "helas403" rather than changing the "papyrus" BSP. The old "polled" console driver still sticks around in "console.c.polled" To get the BSP up and running, I had to create the new BSP files (derived from papyrus). Besides that, the following source areas have been changed: - c/src/lib/libcpu/powerpc/ppc403: changes to console driver, small changes to clock driver, new "ictrl" interrupt controller driver - c/src/exec/score/cpu/powerpc/ppc.h: some small changes (added ppc403 characteristics like a exception vector prefix register, some special register definitions). I am quite sure, they are compatible with the existing sources, although I did not check - c/src/exec/score/cpu/powerpc/cpu.c: There is one severe limitation in the exception entries: Due to the current code arrangement, the "branch absolute" to the ISR handler may only jump to the first 128MByte or the last 128MByte of the 4GByte address range. When the ppc403 is running out of ROM, the ROM functions are located in the last 128MByte (0xFFF00000 and up). These addresses were not handled correctly (sign reduced) in "install_raw_handler". The change I added should work on existing ppc BSPs aswell... - c/src/lib/libc/termios.c: During my tests, I added one change you sent me, so this patch will already be incorporated in the current source tree. There are some smaller changes, see the attached diff file. ========================================= Concerning the GNU toolchain: I tried several tool chains. Finally I almost succeeded with egcs-1.0.3a with patch egcs-1.0.3-rtems-diff-19980527 I had to add the following lines to the egcs files. Without them configure complaint that the cross compiler could not generate executable output. - additional lines needed in egcs distribution in file gcc/config/rs6000/rtems.h: +++ lines start #undef STARTFILE_DEFAULT_SPEC #define STARTFILE_DEFAULT_SPEC "ecrti.o%s" #undef ENDFILE_DEFAULT_SPEC #define ENDFILE_DEFAULT_SPEC "ecrtn.o%s" ++++ lines end As far as I have seen in the Changelog of egcs, you have recently sent two patches affecting the powerpc support, but they were added in the wrong order.... :-( egcs-19980628 with patch egcs-19980628-rtems-diff-19980707 does not work! I used binutils 2.9.1 with patch binutils-2.9.1-rtems-diff-19980515 (binutils 2.8.1 does not work, internal error in gas) and newlib-1.8.0 with patch newlib-1.8.0-rtems-diff-19980707 Finally I had to poke a line in the "bit" script, since, on my LINUX machine, the GNU make is only available as "make", not as "gmake"... For all the tools and newlib I selected configuration "powerpc- rtems". -------------------------------------------- IMD Ingenieurbuero fuer Microcomputertechnik Thomas Doerfler Herbststrasse 8 D-82178 Puchheim Germany email: td@imd.m.isar.de
* New file from Ralf.Joel Sherrill1998-09-301-0/+91
|
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1998-09-293-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Please find enclosed a patch which enables me to build the bare-bsp for sh-rtems. Changes: 1. Add preinstall to libbsp/bare/include/Makefile.in 2. Removed FORCEIT, add preinstall to libbsp/sh/gensh1/include/Makefile.in 3. Disabled support of set_vector from sh code (shared/setvec.c is still present but isn't used anymore), set_vector replaced with standard rtems functions. Problems still present: 1. Support of spin-delays in bare bsp 2. Proper support of cpu frequency To configure I used: <srcdir>/configure \ --target=sh-rtems \ --prefix=<instdir>/sh-bare \ --enable-bare-cpu-model=sh7032 \ --enable-bare-cpu-cflags='-Wall -m1 -DMHZ=20 -DCPU_CONSOLE_DEVNAME="\"/dev/null\""' --enable-rtemsbsp=bare \ --disable-networking \ --disable-cxx \ --disable-posix \ --disable-tests IMO, if there are no objections to this patch, a similar approach should be applied to all CPUs/BSPs (esp. hppa1.1, mips64orion, ppc403, because they apply set_vector inside of libcpu).
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill1998-09-232-16/+2
| | | | | | | | | | | 1. Finally fixes raw interrupts for pc386 2. Makes some minor cleanup in console and startup 3. Makes rtems_termios_dequeue_characters() to return count of outstanding chars - it allows to simplify console isrs a little bit. 4. pc386 uart modified to be friendlier to termios parameter changes, to have minor performance improvement and to take advantage of of above termios modification.
* Update from Aleksey (Quality Quorum <qqi@world.std.com>) to pick up someJoel Sherrill1998-09-212-32/+92
| | | | patches missing from 980911.
* Patch from Eric Valette <valette@crf.canon.fr> to add an extra newline.Joel Sherrill1998-08-241-0/+1
|
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-211-2/+1
| | | | | | | | | | Here is a patch that enables to catch exception and get message before crashing RTEMS :) It should be generic to any Intel port although enabled only for pc386 BSP... [Joel] I fixed the bug I introduced in irq_asm.s...
* Patch from Eric Valette <valette@crf.canon.fr> which brings the i386ex BSPJoel Sherrill1998-08-054-9/+25
| | | | inline with the new IRQ structure.
* Automatic CPU type detection code from Eric Valette <valette@crf.canon.fr>.Joel Sherrill1998-08-056-6/+664
| | | | Enabled on the pc386.
* Patch from Eric VALETTE <valette@crf.canon.fr>:Joel Sherrill1998-07-236-0/+1126
| | | | | | | | | | | | | Here is a enhanced version of my previous patch. This patch enables to potentially share the new interrupt management code for all Intel targets (pc386, go32 and force386) bsp. Note : this patch is complete only for pc386. It still needs to be completed for go32 and force386. I carrefully checked that anything needed is in for force386 (only some function name changes for IDT manipulation and GDT segment manipulation). But anyway I will not be able to test any of theses targets...
* Added optimized version of memcpy.c to this directory since RTEMS makesJoel Sherrill1998-06-121-0/+87
| | | | | | important distinctions between CPU models which are not made by gcc. These distinctions help give us a more optimized memcpy(). This is important for message queues and KA9Q.
* Fix from Ralf Corsepius:Joel Sherrill1998-04-271-6/+1
| | | | | | use a wildcard rule instead of explicit listing all include files (I have more libcpu header files than the public version has. This patch removes the need to patch this Makefile for my private bsps)
* Rename hppa1_1 to hppa1.1 and switched to using __XXX__ macros forJoel Sherrill1998-03-242-2/+2
| | | | the CPU family name constants.
* New port from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill1998-03-2020-0/+1546
|
* SH port submitted from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill1998-03-203-0/+874
|
* updated copyright to 1998Joel Sherrill1998-02-1710-10/+10
|
* Big patch form Ralf Corsepius described in this email:Joel Sherrill1998-01-3024-96/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is the result of my nightly work to get RTEMS_ROOT=$srcdir working with different shells and relative/absolute paths. What I did is relatively simple in principle: Instead of setting RTEMS_ROOT in configure.in and then let configure substitute @RTEMS_ROOT@ inside the Makefiles, I now let each Makefile set RTEMS_ROOT from each Makefile's @top_srcdir@ value. The difference is subtile, but with enormous side effects: - If RTEMS_ROOT is set in configure, then the same single value will be propagated to all Makefiles. This breaks using relative paths, as the relative path to the root of the source tree is used inside of all subdirectory Makefiles. - Now each Makefile.in sets RTEMS_ROOT = @top_srcdir@. top_srcdir is computed individually by configure for each single Makefile.in, hereby receiving the correct value, no matter if relative or absolute paths are used. To get this working, I needed to remove setting RTEMS_ROOT from target.cfg.in, because this overrides the value of RTEMS_ROOT from each individual Makefile. Furthermore, I removed RTEMS_CUSTOM from the Makefiles and replaced all "include $(RTEMS_CUSTOM)" directives with"include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP)". Perhaps you don't like this, but I think, to have one variable less is clearer and easier to understand than having several variables refering to the next one. I enclose a small patch to this mail, which - fixes the config.h problem (to finally clearify misunderstands) - removes assignment/subsitution of RTEMS_ROOT from configure.in - contains a workaround for the application Makefile's RTEMS_ROOT problem (reported by Eric) - removes some unused lines from the toplevel Makefile.in - removes assignment of RTEMS_ROOT from make/target.cfg.in
* Removed CONFIG_DIR and PROJECT_HOME directories.Joel Sherrill1998-01-2024-24/+24
|
* Ralf Corsepius reported a number of missing CVS Id's:Joel Sherrill1998-01-1644-3/+91
| | | | | | | | | | > RTEMS is under CVS control and has been since rtems 3.1.16 which was > around May 1995. So I just to add the $Id$. If you notice other files > with missing $Id$'s let me know. I try to keep w\up with it. Now that you have asked -- I'll attach a list of files lacking an RCS-Id to this mail. This list has been generated by a little sh-script I'll also enclose.
* Modified a lot of files to take a first cut at supporting building fromJoel Sherrill1997-12-1024-24/+96
| | | | | any directory in the build tree. The only variable which must be set before the command "gmake" is invoked is RTEMS_BSP (e.g. RTEMS_BSP=erc32).
* Fixed incorrect reference to RTEMS_BSP instead of RTEMS_BSP_FAMILY.Joel Sherrill1997-10-091-1/+1
|
* Fix from Eric Norum to assemble under COFF.Joel Sherrill1997-10-081-9/+9
|
* Fixed typo in the pointer to the license terms.Joel Sherrill1997-10-0812-24/+24
|
* Removed include directory at "build" point and the link of this directoryJoel Sherrill1997-10-082-2/+2
| | | | | | to lib/include. Went to using a PROJECT_INCLUDE variable.