summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/sparc (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-03-24sparc: Fix window underflow trap handlerDaniel Hellstrom1-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.
2015-04-27bsps/sparc: Use inline functions for cache managerSebastian Huber3-46/+32
2014-12-05Update bug report URLSebastian Huber1-1/+1
2014-12-04SPARC: optimize IRQ enable & disableDaniel Hellstrom2-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.
2014-12-02SPARC: optimize window underflow trapDaniel Hellstrom1-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.
2014-12-02SPARC: optimize window overflow trap entryDaniel Hellstrom1-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.
2014-12-02SPARC: window overflow optimizationDaniel Hellstrom1-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
2014-11-25rtems: Move rtems_cache_aligned_malloc()Sebastian Huber1-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.
2014-06-03score/sparc: Add support for paravirtualizationChristian Mauderer1-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.
2014-05-28SPARC: syscall optimizations and PSR-write fixDaniel Hellstrom1-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.
2014-05-23SPARC: add syscall 1 (exit) function entry pointDaniel Hellstrom1-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.
2014-05-23SPARC: syscall code clean-up and minor optimizationsDaniel Hellstrom1-16/+11
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns4-4/+4
2013-09-23libcpu/sparc/.../access_le.c: Add include file to fix warningJoel Sherrill1-0/+1
2013-09-10bsps: Fix cache manager supportSebastian Huber2-0/+9
2013-03-08RTEMS: Delete ChangeLog files.Gedare Bloom1-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.
2012-07-19Require automake-1.12.2.Ralf Corsépius1-1/+1
2012-07-19Require autoconf-2.69.Ralf Corsépius1-1/+1
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill3-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.
2012-05-04Remove CVS-Ids.Ralf Corsépius2-6/+0
2012-03-21SPARC: added libcpu lowlevel access and byteorder routines/definitionsDaniel Hellstrom6-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>
2012-02-01Remove all .cvsignore files.Joel Sherrill1-8/+0
2011-02-112011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-1/+6
* cache/cache.c: Use "__asm__" instead of "asm" for improved c99-compliance.
2011-02-022011-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-2/+6
* configure.ac: Require autoconf-2.68, automake-1.11.1.
2009-11-30Whitespace removal.Ralf Corsepius2-27/+27
2009-11-28Whitespace removal.Ralf Corsepius1-1/+1
2008-09-302008-09-30 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2-1/+5
* preinstall.am: Regenerated.
2008-09-262008-09-26 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-1/+5
* Makefile.am: Remove superfluous $(top_srcdir).
2008-07-14Cleanup.Ralf Corsepius1-6/+0
2007-07-312007-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2-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.
2007-01-08Regenerate.Ralf Corsepius1-1/+1
2006-12-022006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-1/+5
* configure.ac: New BUG-REPORT address.
2006-10-172006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-2/+6
* configure.ac: Require autoconf-2.60. Require automake-1.10.
2006-05-162006-05-16 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-3/+5
* configure.ac: Use RTEMS_AMPOLISH3.
2006-01-14Regenerate.Ralf Corsepius1-1/+1
2006-01-12Regenerate.Ralf Corsepius1-0/+2
2006-01-12Remove all-local:.Ralf Corsepius1-2/+0
2006-01-12Regenerate.Ralf Corsepius1-2/+2
2006-01-12Cleanup.Ralf Corsepius1-4/+0
2005-11-042005-11-04 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2-2/+4
* configure.ac: Remove RTEMS_CHECK_CUSTOM_BSP.
2005-05-11New.Ralf Corsepius1-0/+22
2005-05-112005-05-11 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2-0/+10
* preinstall.am: New. * Makefile.am: Include preinstall.am. * configure.ac: Reflect changes above.
2005-05-11Include preinstall.am.Ralf Corsepius1-14/+4
2005-05-11Remove.Ralf Corsepius1-1/+0
2005-01-072005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2-3/+7
* Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
2005-01-022005-01-02 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2-37/+10
* Makefile.am: Remove build-variant support.
2004-10-192004-10-19 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2-1/+4
* configure.ac: Remove RTEMS_ENABLE_BARE.
2004-09-242004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2-1/+5
* configure.ac: Require automake > 1.9.
2004-04-012004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius3-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-262004-03-26 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2-1/+5
* configure.ac: Add 2nd argument (rtems_updir) to RTEMS_TOP.