summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/sparc/Makefile.am (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-10-10build: Include header.am in cpukit/Makefile.amSebastian Huber1-1/+0
Include all cpukit/*/header.am files in cpukit/Makefile.am. This gets rid of all subtree Makefile.am and the sudirs hack.
2018-10-10build: Merge score/cpu/*/Makefile.amSebastian Huber1-17/+0
2018-10-05score: Remove CPU_PROVIDES_IDLE_THREAD_BODYSebastian Huber1-1/+2
Remove the CPU_PROVIDES_IDLE_THREAD_BODY option to avoid unnecessary conditional compilation. Close #3539.
2018-10-04Rename files to make them unique within cpukitSebastian Huber1-1/+1
This allows to build librtemscpu.a in one rush in the future.
2018-04-20sparc: Move irq_asm.SSebastian Huber1-0/+1
This file is BSP-independent. This patch is a part of the BSP source reorganization. Update #3285.
2018-03-13sparc: Move libcpu content to cpukitSebastian Huber1-4/+8
This patch is a part of the BSP source reorganization. Update #3285.
2018-01-25Remove make preinstallChris Johns1-15/+1
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.
2018-01-02sparc: Move <libcpu/byteorder.h>Sebastian Huber1-0/+3
Update #3254. Update #3260.
2017-07-25sparc: Add lazy floating point switchSebastian Huber1-1/+1
The SPARC ABI is a bit special with respect to the floating point context. The complete floating point context is volatile. Thus, from an ABI point of view nothing needs to be saved and restored during a context switch. Instead the floating point context must be saved and restored during interrupt processing. Historically, the deferred floating point switch was used for SPARC and the complete floating point context is saved and restored during a context switch to the new floating point unit owner. This is a bit dangerous since post-switch actions (e.g. signal handlers) and context switch extensions may silently corrupt the floating point context. The floating point unit is disabled for interrupt handlers. Thus, in case an interrupt handler uses the floating point unit then this will result in a trap (INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT). In uniprocessor configurations, a lazy floating point context switch is used. In case an active floating point thread is interrupted (PSR[EF] == 1) and a thread dispatch is carried out, then this thread is registered as the floating point owner. When a floating point owner is present during a context switch, the floating point unit is disabled for the heir thread (PSR[EF] == 0). The floating point disabled trap checks that the use of the floating point unit is allowed and saves/restores the floating point context on demand. Update #3077.
2016-11-07score: Add <rtems/score/cpuimpl.h>Sebastian Huber1-0/+1
The aim of this file is to encapsulate CPU port implementation details. This helps to hide implementation details from <rtems.h> which indirectly includes <rtems/score/cpu.h>.
2016-06-22sparc: Optimize CPU counter supportSebastian Huber1-0/+1
2016-06-21sparc: Rework CPU counter supportSebastian Huber1-0/+1
Rework CPU counter support to enable use of the GR740 up-counter via %asr22 and %asr23.
2016-05-30score: Add libatomic supportSebastian Huber1-1/+0
Close #2695.
2015-05-21sparc: Add support for sptests/spcontext01Alexander Krutwig1-0/+2
Implement _CPU_Context_validate() and _CPU_Context_volatile_clobber(). Update #2270.
2014-02-24sparc: Fix CPU counter supportSebastian Huber1-0/+1
The SPARC processors supported by RTEMS have no built-in CPU counter support. We have to use some hardware counter module for this purpose. The BSP must provide a 32-bit register which contains the current CPU counter value and a function for the difference calculation. It can use for example the GPTIMER instance used for the clock driver.
2014-02-17score: Use atomic API for SMP lockSebastian Huber1-1/+0
Use a ticket lock implementation based on atomic operations. Delete CPU port specific SMP lock implementations.
2014-02-17sparc: Add atomic support for SPARC V8Sebastian Huber1-0/+1
Use SWAP instruction with one lock for the system in the SMP case.
2013-05-31smp: New SMP lock APISebastian Huber1-0/+1
Move the SMP lock implementation to the CPU port. An optimal SMP lock implementation is highly architecture dependent. For example the memory models may be fundamentally different. The new SMP lock API has a flaw. It does not provide the ability to use a local context for acquire and release pairs. Such a context is necessary to implement for example the Mellor-Crummey and Scott (MCS) locks. The SMP lock is currently used in _Thread_Disable_dispatch() and _Thread_Enable_dispatch() and makes them to a giant lock acquire and release. Since these functions do not pass state information via a local context there is currently no use case for such a feature.
2013-05-01Using the generic atomic ops to implement UP mode atomic for all ↵WeiY1-0/+1
architectures. SMP atomic port will be later.
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-4/+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-07Revert: Remove CVS IdsJoel Sherrill1-0/+4
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
2012-05-04Remove CVS-Ids.Ralf Corsépius1-4/+0
2011-05-172011-05-17 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-2/+3
* Makefile.am: Reformat.
2006-01-12Remove all-local.Ralf Corsepius1-2/+0
2006-01-12CleanupsRalf Corsepius1-4/+0
2005-02-082005-02-08 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius1-31/+4
* Makefile.am: Split out preinstallation rules. * preinstall.am: New (Split out from Makefile.am).
2005-02-042005-02-04 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius1-2/+2
PR 754/rtems * rtems/asm.h: New (relocated from .). * asm.h: Remove (moved to rtems/asm.h). * Makefile.am: Reflect changes above.
2005-01-072005-01-07 Ralf Corsepius <ralf.corsepius@freenet.de>Ralf Corsepius1-1/+1
* Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
2005-01-012005-01-01 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius1-9/+3
* Makefile.am: Remove build-variant support.
2004-04-06Cosmetics.Ralf Corsepius1-1/+0
2004-04-062004-04-06 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-4/+2
* configure.ac: Remove (Merged into$(top_srcdir)/configure.ac). * Makefile.am: Don't include multilib.am. Reflect merging configure.ac into $(top_srcdir)/configure.ac.
2004-04-012004-04-01 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius1-8/+9
* Makefile.am: Install asm.h to $(includedir)/rtems.
2004-01-192004-01-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-2/+4
* Makefile.am: Add PREINSTALL_DIRS.
2004-01-142004-01-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-0/+4
* Makefile.am: Re-add dirstamps to PREINSTALL_FILES. Add PREINSTALL_FILES to CLEANFILES.
2004-01-112004-01-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-1/+1
* Makefile.am: Include compile.am, again.
2004-01-112004-01-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-14/+10
* Makefile.am: Convert to using automake compilation rules.
2003-12-122003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-4/+2
* Makefile.am: Use mkdir_p. Remove dirs from PREINSTALL_FILES.
2003-12-012003-12-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-10/+16
* Makefile.am:Restore further parts having been lost.
2003-12-012003-12-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-2/+52
* Makefile.am: Restore file having been broken in last commit.
2003-12-012003-12-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-59/+2
* Makefile.am: Remove TMPINSTALL_FILES.
2003-11-302003-11-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-10/+16
* Makefile.am: Add $(dirstamp) to preinstallation rules.
2003-11-232003-11-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-18/+23
* Makefile.am: Don't use gmake rules for preinstallation.
2002-12-112002-12-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-5/+3
* configure.ac: Require autoconf-2.57 + automake-1.7.2. * Makefile.am: Eliminate C_O_FILES, S_O_FILES, libscorecpu_a_OBJECTS.
2002-07-262002-07-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-7/+5
* Makefile.am: Build libscorecpu.a instead of rtems-cpu.rel.
2002-07-222002-07-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-2/+2
* Makefile.am: Use .$(OBJEXT) instead of .o.
2002-07-032002-07-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-6/+1
* rtems.S: Remove. * Makefile.am: Reflect changes above.
2002-06-172002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius1-5/+5
* Makefile.am: Include $(top_srcdir)/../../../automake/*.am. Use ../../../aclocal.
2002-04-032001-04-03 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* Per PR94, all rtems/score/CPUtypes.h are named rtems/score/types.h. * rtems/score/sparctypes.h: Removed. * rtems/score/types.h: New file via CVS magic. * Makefile.am, rtems/score/cpu.h: Account for name change.
2002-03-282002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-1/+0
* configure.ac: AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS). AM_INIT_AUTOMAKE([no-define foreign 1.6]). * Makefile.am: Remove AUTOMAKE_OPTIONS.
2002-01-312002-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1-26/+23
* Makefile.am: Reflect 2002-01-23 changes.