summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* bsps: Add shared-sources.amSebastian Huber2018-04-043-0/+3
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* build: Remove EXTRA_DISTSebastian Huber2018-04-044-139/+0
| | | | | A "make dist" is not supported. So, it makes no sense to have pure "make dist" related stuff in the Makefile.am.
* sparc: Move libcpu content to cpukitSebastian Huber2018-03-1310-22/+0
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps/sparc: Fix global construction/destructionThanassis Tsiodras2018-03-061-2/+4
| | | | | | | | | | | | | | | | | | | | | The KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) cannot be simplified to KEEP (*(SORT(.ctors*))) since .ctors < .ctors.* in lexicographical order. See spglobalcon02 test case. Update #3319.
* sparc/*/linkcmds*: Move ENTRY() from linkcmds.base to top linkcmdsJoel Sherrill2018-02-059-1/+16
| | | | | | | | This was at the request of a user to make it easier to have a custom entry point. This way they just provide their own top level linkcmds and include linkcmds.base. Updates #3520.
* bsp/leon3: Do not use internal cache APISebastian Huber2018-02-021-2/+1
| | | | Update #3285.
* bsps: Rework cache manager implementationSebastian Huber2018-01-314-208/+4
| | | | | | | | | | | | | | | | | | The previous cache manager support used a single souce file (cache_manager.c) which included an implementation header (cache_.h). This required the use of specialized include paths to find the right header file. Change this to include a generic implementation header (cacheimpl.h) in specialized source files. Use the following directories and files: * bsps/shared/cache * bsps/@RTEMS_CPU@/shared/cache * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY/start/cache.c Update #3285.
* bsps: Move network define to source filesSebastian Huber2018-01-3110-69/+21
| | | | | Define __INSIDE_RTEMS_BSD_TCPIP_STACK__ in the network interface driver source files to avoid some build system magic.
* Remove make preinstallChris Johns2018-01-2591-13251/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* bsp/leon3: Fix interrupt timestamp timecounterSebastian Huber2018-01-181-1/+8
|
* leon3: Simplify bsp_specsJoel Sherrill2018-01-181-4/+0
| | | | Updates #3520.
* leon2: Simplify bsp_specsJoel Sherrill2018-01-181-4/+0
| | | | Updates #3520.
* sparc/erc32: Simplify bsp_specsJoel Sherrill2018-01-181-4/+0
| | | | Updates #3520.
* bsps: Add AM_CPPFLAGS to special case CPPFLAGSChris Johns2018-01-041-1/+1
| | | | | | | This is necessary to pick up mandatory flags provided by the build system. Update #3254.
* sparc: Remove BSP specifics from <pci/irq.h>Sebastian Huber2018-01-023-21/+0
| | | | | | Update #3254. Update #3260. Update #3269.
* bsps: Use CPPASCOMPILE for startfileSebastian Huber2018-01-023-9/+12
| | | | Update #3254.
* bsps: Add EXTRA_DIST to all BSP Makefile.amSebastian Huber2018-01-023-3/+6
| | | | | | | | | | This makes it possible to easily use EXTRA_DIST += foobar in fragments. Update #3254.
* bsps: Include bsp.am in all BSP Makefile.amSebastian Huber2018-01-023-0/+3
| | | | Update #3254.
* sparc/*/bsp_specs, shared/linkcmds: Simplify bsp_specsJoel Sherrill2017-12-194-3/+5
| | | | Updates #3520.
* bsp/leon3: Enable timer used for CPU counterSebastian Huber2017-12-061-0/+3
| | | | | In case no clock driver is configured, the corresponding timer may be stopped.
* leon3/bsp_specs: Reorder and improve consistencyJoel Sherrill2017-11-291-3/+3
| | | | Updates #3520.
* leon2/bsp_specs: Reorder and improve consistencyJoel Sherrill2017-11-291-3/+3
| | | | Updates #3520.
* erc32/bsp_specs: Reorder and improve consistencyJoel Sherrill2017-11-291-3/+3
| | | | Updates #3520.
* REVERT */*/bsp_specs: Increase similarity to ease futureJoel Sherrill2017-11-273-9/+9
| | | | | | Patch was not intended to be pushed yet. Updates #3520.
* */*/bsp_specs: Increase similarity to ease future analysisJoel Sherrill2017-11-273-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done: arm bfin epiphany i386 lm32 m32c mips moxie nios2 or1k powerpc riscv sh sparc sparc64 v850 To do: m68k Differences noted: + endfile was sometimes before startfile + endfile sometimes was hard-coded and did not have -qrtems version + Should -e XXX (e.g. entry point) be in linkcmds? + Should -u XXX (e.g. undefined symbols) be in linkcmds? + Typos: Odd spacing, "old_endfiles" typo, and *(old_endfiles) (not %) + nios2: Referenced crtnn.o not crtn.o (error) Need to revisit: + m32c, moxie, sparc64 includes !nostdlib which is not used elsewhere + sh has -EL/-EB mapping. Why needed? + sparc64 didn't include crti.o/crtn.o but it is part of toolset + v850 uses something like this for link and end_file: "%{qrtems: %(old_link)}" This means that these are unnecessary. Try this on all. + mips uses old_link all the time also. + arm/tms750 adds -EB. + powerpc: Why do we have rtems_crt* and not use something from GCC? Updates #3520.
* libbsp/*/*/configure.ac: Remove references to bsp_specs in AC_CONFIG_SRCDIRJoel Sherrill2017-11-273-3/+3
| | | | Updates #3250.
* Remove coverhd.hSebastian Huber2017-11-246-15/+0
| | | | | | | This header file contained timing overhead values which are hard to maintain. Update #3254.
* bsps: Simplify RTEMS_BSP_CLEANUP_OPTIONSSebastian Huber2017-11-226-3/+6
| | | | | | | | | Remove BSP-specific defaults for RTEMS_BSP_CLEANUP_OPTIONS to simplify the BSP configuration and documentation. Change defaults to: BSP_PRESS_KEY_FOR_RESET=0 BSP_RESET_BOARD_AT_EXIT=1 BSP_PRINT_EXCEPTION_CONTEXT=1
* leon, gr1553rt: adding SMP protectionDaniel Hellstrom2017-11-211-113/+69
| | | | | | | | | Add device spin-lock around internal data structures. Since the driver provides a low-level C API accessing the descriptors the application still needs to implement part of the SMP synchonization needed between Interrupt handler and tasks. Close #2355.
* getentropy: Add cpu counter based implementation.Christian Mauderer2017-11-173-0/+3
| | | | Update #3239.
* leon, grspw_router: Clear only error bits defined by clear maskJavier Jalle2017-11-142-3/+3
|
* leon, grspw_router: Allow thread safe per-bit managing of pctrl regsJavier Jalle2017-11-142-93/+70
|
* leon, grspw_router: Move register bit defs to headerJavier Jalle2017-11-142-145/+166
|
* leon, grspw_router: Changed driver C APIJavier Jalle2017-11-142-386/+2212
| | | | | | | | | | | SMP safe by spin-lock protection and semaphore. On spin-lock per SpW/AMBA port to allow multiple parallel register operations per port. A common semaphore for general SpW router configuration such as routing table. Move to a C API instead of using the I/O Manager. The SpW router driver does not perform any I/O only management of the router. Update #2355.
* leon,gr740: start ASR22:23 up-counter on boot by writing ASR22Daniel Hellstrom2017-10-251-1/+1
| | | | | | According to data sheet bit 31 in ASR22 must be written with a zero to start the up-counter. GRMON starts the up-counter for us. This patch is important when running in "flight" from ROM without GRMON.
* bsps: Clock_driver_support_install_isr()Sebastian Huber2017-09-184-14/+7
| | | | | | | Remove old ISR parameter since is not used by the clock driver shell. Make an implementation optional. Update #3139.
* leon,ambapp_bus: make unreferenced global function staticDaniel Hellstrom2017-08-292-51/+69
| | | | Fixes #3072
* leon,grascs: fix semaphore policiesDaniel Hellstrom2017-08-291-2/+3
| | | | Closes #2726
* leon,ambapp: fixes bad allocation checkDaniel Hellstrom2017-08-291-1/+1
| | | | Updates #2496 but to close needs to be applied to 4.11 accoring to ticket.
* leon,gr1553b: improve init checkDaniel Hellstrom2017-08-291-3/+8
| | | | | | | | Check in init3 not needed since same data is already checked in init2 stage. Adds an extra check that the APB register space is available before accessing it. Updates #2331 but needs to be applied to 4.11 according to ticket.
* libchip,greth: disable driver if SMP kernelDaniel Hellstrom2017-08-291-0/+2
| | | | Update #2355
* leon,occan: remove dead code.Daniel Hellstrom2017-08-291-92/+0
| | | | Fixes #2878
* leon, grspw: for SMP use GRSPW Packet driverDaniel Hellstrom2017-08-294-3/+15
| | | | | | | The GRSPW packet driver supports SMP and therefore the legacy GRSPW driver is disabled for SMP builds. Update #2355
* Include missing <string.h>Sebastian Huber2017-08-2512-0/+12
| | | | Update #2133.
* sparc: Add lazy floating point switchSebastian Huber2017-07-255-12/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNITSebastian Huber2017-07-253-0/+12
| | | | | | Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT. Update #3077.
* sparc: Rename SPARC_USE_SAFE_FP_SUPPORTSebastian Huber2017-07-251-3/+3
| | | | | | | Rename SPARC_USE_SAFE_FP_SUPPORT in SPARC_USE_SYNCHRONOUS_FP_SWITCH. Update comment. Update #3077.
* bsp/leon2: Add at697f variantSebastian Huber2017-07-256-4/+62
|
* bsp/leon2: Use hard-float by defaultSebastian Huber2017-07-251-1/+1
|
* bsps/sparc: Add leon3 BSP variantsDaniel Cederman2017-07-1711-5/+134
| | | | | | | | | | | | | | | Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC The UT699 requires -mcpu=leon as it does not support the CAS instruction provided by -mcpu=leon3. It also requires -mfix-ut699 for errata fixes. UT700 and GR712RC requires the -mfix-ut700 and -mfix-gr712rc flags that have been recently added to GCC's master and 7-branch. Remove -msoft-float from the leon3 config to make the more common case of using the FPU the default. Update #3057.