summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/sparc/include/rtems/score/sparc.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-04-16Remove register keyword from public header filesSebastian Huber1-1/+1
The following code void f(void) { register int i; } gives a warning with GCC and -std=c++17 test.cc: In function ‘void f()’: test.cc:3:15: warning: ISO C++1z does not allow ‘register’ storage class specifier [-Wregister] register int i; ^ and clang with -std=c++14 test.cc:3:3: warning: 'register' storage class specifier is deprecated and incompatible with C++1z [-Wdeprecated-register] register int i; ^~~~~~~~~ 1 warning generated. Remove the use of the register keyword at least in the public header files for C++ compatibility. Close #3397.
2018-03-12sparc/include/rtems/score/types.h: Eliminate this fileJoel Sherrill1-1/+1
Updates #3327.
2018-01-25Remove make preinstallChris Johns1-0/+0
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-07-17sparc: Add assembly workaround for LEON3FT B2BST errataDaniel Cederman1-0/+10
This patch adds NOP instructions to prevent instruction sequences that are sensitive to the LEON3FT B2BST errata. See GRLIB-TN-0009: "LEON3FT Stale Cache Entry After Store with Data Tag Parity Error" for more information. The sequences are only modified if __FIX_LEON3FT_B2BST is defined. The patch works in conjunction with the -mfix-ut700, -mfix-gr712rc, and -mfix-ut699 GCC flags that prevents the sensitive sequences from being generated. Update #3057.
2016-11-28sparc: Optimize _ISR_Handler()Sebastian Huber1-0/+3
Use _Thread_Do_dispatch() instead of _Thread_Dispatch(). Restore the PSR[EF] state of the interrupted context via new system call syscall_irqdis_fp in case floating-point support is enabled.
2015-10-26basedefs.h: Add and use RTEMS_NO_RETURNSebastian Huber1-1/+1
2015-03-25sparc: Ensure interrupt service after ISR enableSebastian Huber1-1/+8
2014-12-04SPARC: optimize IRQ enable & disableDaniel Hellstrom1-2/+16
* 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-06-03score/sparc: Add support for paravirtualizationChristian Mauderer1-0/+44
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-23SPARC: add syscall 1 (exit) function entry pointDaniel Hellstrom1-0/+25
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-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-02-21score: _CPU_SMP_Get_current_processor()Sebastian Huber1-1/+1
Remove RTEMS_COMPILER_PURE_ATTRIBUTE from _SMP_Get_current_processor() and all _CPU_SMP_Get_current_processor(). Make inline ASM statements volatile again. Test smptests/smpmigration01 showed that GCC optimizes too much otherwise.
2014-02-14sparc: Add LEON3_ASR17_PROCESSOR_INDEX_SHIFTSebastian Huber1-0/+14
Add _LEON3_Get_current_processor().
2013-05-07sparc: Fix problem with assembler filesSebastian Huber1-1/+1
2013-05-06sparc.h: Included stdint.hMohammed Khoory1-0/+2
This header uses uint32_t but does not include stdint.h This may cause problems when compiling applications that include BSP headers that include this file (leon.h for example)
2013-01-08score: Doxygen Clean Up Task #4Alex Ivanov1-46/+49
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+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.
2011-06-212011-06-21 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-53/+117
* rtems/score/cpu.h, rtems/score/sparc.h, rtems/score/types.h: Convert comments to Doxygen style and improve.
2011-04-182011-04-18 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill1-3/+1
* rtems/score/sparc.h: Remove warnings.
2011-02-112011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-9/+9
* rtems/score/cpu.h, rtems/score/sparc.h: Use "__asm__" instead of "asm" for improved c99-compliance.
2009-12-02Whitespace removal.Ralf Corsepius1-11/+11
2008-08-042008-08-04 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-35/+3
PR 1294/bsps * rtems/score/cpu.h, rtems/score/sparc.h: Correct prototype and usage of sparc_disable_interrupts.
2005-02-04Header guards cleanup.Ralf Corsepius1-1/+1
2005-01-28New header guard.Ralf Corsepius1-2/+2
2004-11-21Cosmetics.Ralf Corsepius1-1/+0
2004-11-022004-10-02 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-2/+5
* rtems/score/cpu.h: Add doxygen preamble. * rtems/score/sparc.h: Add doxygen preamble. * rtems/score/types.h: Add doxygen preamble.
2004-03-302004-03-30 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-3/+3
* cpu.c, rtems/score/cpu.h, rtems/score/sparc.h: Convert to using c99 fixed size types.
2003-09-042003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/sparc.h, rtems/score/types.h: URL for license changed.
2000-11-152000-11-14 Jiri Gaisler <jgais@ws.estec.esa.nl>Joel Sherrill1-1/+6
* cpu.c, rtems/cpu/sparc.h: Make floating point optional based on gcc arguments. Do not initialize FP context if there is no FPU. Flush instruction cache after installing RTEMS trap handler.
2000-07-11Reworked score/cpu/sparc so it can be safely compiled multilib. AllJoel Sherrill1-28/+21
routines and structures that require CPU model specific information are now in libcpu. This primarily required moving erc32 specific information from score/cpu files to libcpu/sparc and the erc32 BSP.
2000-06-12Merged from 4.5.0-beta3aJoel Sherrill1-1/+13
1999-11-17Updated copyright notice.Joel Sherrill1-2/+1
1999-07-09Patch from Jiri Gaisler <jgais@ws.estec.esa.nl>:Joel Sherrill1-1/+5
+ interrupt masking correction + FPU rev.B workaround + minor erc32 related fixes
1999-02-18Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1-0/+253
> 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