summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* sparc: Fix window underflow trap handlerDaniel Hellstrom2016-03-241-6/+6
| | | | | | | | | | | | The window underflow trap handler used %i5 which destroyed the %o5 of the calling context. Bug introduced by 0d3b5d47429effb350448d9e9123a67db722109f. Go back to the pre 0d3b5d47429effb350448d9e9123a67db722109f behaviour and use the two unused instructions in the trap vector to optimize a bit. Close #2651.
* bsps/sparc: Use inline functions for cache managerSebastian Huber2015-04-273-46/+32
|
* Update bug report URLSebastian Huber2014-12-051-1/+1
|
* SPARC: optimize IRQ enable & disableDaniel Hellstrom2014-12-042-55/+65
| | | | | | | | | | | | | | | | * Coding style cleanups. * Use OS reserved trap 0x89 for IRQ Disable * Use OS reserved trap 0x8A for IRQ Enable * Add to SPARC CPU supplement documentation This will result in faster Disable/Enable code since the system trap handler does not need to decode which function the user wants. Besides the IRQ disable/enabled can now be inline which avoids the caller to take into account that o0-o7+g1-g4 registers are destroyed by trap handler. It was also possible to reduce the interrupt trap handler by five instructions due to this.
* SPARC: optimize window underflow trapDaniel Hellstrom2014-12-021-8/+6
| | | | | | | | | | | Save five instructions on underflow handling. By using an optimized trap entry we can move instructions from the window underflow function into the trap entry vector. By setting WIM=0 and using RESTORE it is possible to move the new WIM register content from the trapped window into the to-be-restored register window. It is then possible to avoid the WIM write delay.
* SPARC: optimize window overflow trap entryDaniel Hellstrom2014-12-021-0/+1
| | | | | | | | By using a optimized trap entry we can move instructions from the window overflow function into the trap entry vector. By using the saved locals instead of g1 we don't need to save that register temporarily. Also spead out non store instructions inbetween stores to use the write buffer better.
* SPARC: window overflow optimizationDaniel Hellstrom2014-12-021-16/+9
| | | | | I see no need for waiting the 3 instruction delay for wim to be written in this case, since the STD after does not depend on WIM
* rtems: Move rtems_cache_aligned_malloc()Sebastian Huber2014-11-251-1/+1
| | | | | | Make sure also the size is cache aligned since otherwise we may have some overlap with the next allocation block. A cache invalidate on this area would be fatal.
* score/sparc: Add support for paravirtualizationChristian Mauderer2014-06-031-0/+36
| | | | | | | Guest systems in paravirtualization environments run usually in user mode. Thus it is not possible to directly access the PSR and TBR registers. Use functions instead of inline assembler to access these registers if RTEMS_PARAVIRT is defined.
* SPARC: syscall optimizations and PSR-write fixDaniel Hellstrom2014-05-281-14/+14
| | | | | | | | | | | | | | | The last optimization missed was incorrect in regards to PSR write instruction delay must be 3 instructions. New optimizations: * align to 32-byte cache line. * rearrange code into three "blocks" of 4 instructions that is executed by syscall 2 and 3. This is to optimize for 16/32 byte cache lines. * use delay-slot instruction in trap table to reduce by one instruction. * use the fact that "wr %PSR" implements XOR to reduce by one instruction.
* SPARC: add syscall 1 (exit) function entry pointDaniel Hellstrom2014-05-231-0/+13
| | | | | | The exit SPARC system call doesn't have a function entry point like the others do. This is probably why people use TA 0x0 instruction directly for shutting down the system.
* SPARC: syscall code clean-up and minor optimizationsDaniel Hellstrom2014-05-231-16/+11
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-214-4/+4
|
* libcpu/sparc/.../access_le.c: Add include file to fix warningJoel Sherrill2013-09-231-0/+1
|
* bsps: Fix cache manager supportSebastian Huber2013-09-102-0/+9
|
* RTEMS: Delete ChangeLog files.Gedare Bloom2013-03-081-276/+0
| | | | | | | | | This commit deletes all RTEMS ChangeLog files. These files have been abandoned since converting to git version control. The historical data may be recovered by checking out any commit before this one. Most of the contents of these ChangeLog files can also be found in the git log. Two external ChangeLog files, ChangeLog.slac and ChangeLog.zlib, remain.
* Require automake-1.12.2.Ralf Corsépius2012-07-191-1/+1
|
* Require autoconf-2.69.Ralf Corsépius2012-07-191-1/+1
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-113-5/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* Remove CVS-Ids.Ralf Corsépius2012-05-042-6/+0
|
* SPARC: added libcpu lowlevel access and byteorder routines/definitionsDaniel Hellstrom2012-03-216-0/+244
| | | | | | | | | | | | The low level routines can be used in different occasions, it will be required when accessing PCI. Note the difference between byteorder.h (inlined functions) and access.S where the functions will be declared in the library archive librtemscpu.a. Function names starting with _ are in library and can be referenced by function pointers. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* Remove all .cvsignore files.Joel Sherrill2012-02-011-8/+0
|
* 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-112-1/+6
| | | | | * cache/cache.c: Use "__asm__" instead of "asm" for improved c99-compliance.
* 2011-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-022-2/+6
| | | | * configure.ac: Require autoconf-2.68, automake-1.11.1.
* Whitespace removal.Ralf Corsepius2009-11-302-27/+27
|
* Whitespace removal.Ralf Corsepius2009-11-281-1/+1
|
* 2008-09-30 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-09-302-1/+5
| | | | * preinstall.am: Regenerated.
* 2008-09-26 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2008-09-262-1/+5
| | | | * Makefile.am: Remove superfluous $(top_srcdir).
* Cleanup.Ralf Corsepius2008-07-141-6/+0
|
* 2007-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-07-312-1/+8
| | | | | | | PR 1249/build * configure.ac: Jerry Needell <jerry.needell@unh.edu> reported that the leon3 was left out of the cache enable logic. Thus the cache management support code was empty on LEON3 CPUs.
* Regenerate.Ralf Corsepius2007-01-081-1/+1
|
* 2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2006-12-022-1/+5
| | | | * configure.ac: New BUG-REPORT address.
* 2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2006-10-172-2/+6
| | | | * configure.ac: Require autoconf-2.60. Require automake-1.10.
* 2006-05-16 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2006-05-162-3/+5
| | | | * configure.ac: Use RTEMS_AMPOLISH3.
* Regenerate.Ralf Corsepius2006-01-141-1/+1
|
* Regenerate.Ralf Corsepius2006-01-121-0/+2
|
* Remove all-local:.Ralf Corsepius2006-01-121-2/+0
|
* Regenerate.Ralf Corsepius2006-01-121-2/+2
|
* Cleanup.Ralf Corsepius2006-01-121-4/+0
|
* 2005-11-04 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-11-042-2/+4
| | | | * configure.ac: Remove RTEMS_CHECK_CUSTOM_BSP.
* New.Ralf Corsepius2005-05-111-0/+22
|
* 2005-05-11 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-05-112-0/+10
| | | | | | * preinstall.am: New. * Makefile.am: Include preinstall.am. * configure.ac: Reflect changes above.
* Include preinstall.am.Ralf Corsepius2005-05-111-14/+4
|
* Remove.Ralf Corsepius2005-05-111-1/+0
|
* 2005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-072-3/+7
| | | | * Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
* 2005-01-02 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-022-37/+10
| | | | * Makefile.am: Remove build-variant support.
* 2004-10-19 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-10-192-1/+4
| | | | * configure.ac: Remove RTEMS_ENABLE_BARE.
* 2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-09-242-1/+5
| | | | * configure.ac: Require automake > 1.9.
* 2004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-04-013-2/+7
| | | | | * reg_win/window.S: Include <rtems/asm.h> instead of <asm.h>. * syscall/syscall.S: Include <rtems/asm.h> instead of <asm.h>.
* 2004-03-26 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-262-1/+5
| | | | * configure.ac: Add 2nd argument (rtems_updir) to RTEMS_TOP.