summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* termios: Use IMFS nodes for new Termios devicesSebastian Huber2016-09-191-6/+0
| | | | | | | | This makes the new Termios devices independent of device major/minor numbers. It enables BSP independent Termios device drivers which may reside in the cpukit domain. These drivers require an IMFS and do not work with the device file system. However, the device file system should go away in the future.
* sparc: Optimize CPU counter supportSebastian Huber2016-06-223-15/+6
|
* bsp/leon3: Add up counter timecounterSebastian Huber2016-06-211-6/+34
|
* bsp/leon3: Fix interrupt timestampingSebastian Huber2016-06-211-20/+35
| | | | Close #2684.
* sparc: Rework CPU counter supportSebastian Huber2016-06-216-71/+120
| | | | | Rework CPU counter support to enable use of the GR740 up-counter via %asr22 and %asr23.
* bsp/leon3: Fix LEON3_Cpu_Index initializationSebastian Huber2016-06-213-4/+14
|
* bsp/leon3: Use sysinit for bsp_debug_uart_init()Sebastian Huber2016-06-203-7/+8
|
* bsp/leon3: Use sysinit for amba_initialize()Sebastian Huber2016-06-203-8/+8
|
* bsp/leon3: Remove dead codeSebastian Huber2016-03-311-32/+0
|
* sparc/erc32/include/bsp.h: Do not include <rtems/iosupp.h>Joel Sherrill2016-03-301-1/+0
|
* sparc/leon3: Remove include of <rtems/console.h> from <bsp.h> and fix warningsJoel Sherrill2016-03-292-1/+1
|
* sparc/leon2: Remove include of <rtems/console.h> from <bsp.h> and fix warningsJoel Sherrill2016-03-292-3/+4
|
* sparc/erc32: Remove include of <rtems/console.h> from <bsp.h> and fix warningsJoel Sherrill2016-03-291-1/+0
|
* sparc/leon3/include/bsp.h: Do not include <rtems/clockdrv.h>Joel Sherrill2016-03-271-1/+0
|
* sparc/leon2/include/bsp.h: Do not include <rtems/clockdrv.h>Joel Sherrill2016-03-271-1/+0
|
* sparc/erc32/include/bsp.h: Do not include <rtems/clockdrv.h>Joel Sherrill2016-03-271-1/+0
|
* erc32/*/erc32sonic.c: Fix warningsJoel Sherrill2016-03-241-8/+8
|
* sparc: Fix SMP context switchSebastian Huber2016-03-181-6/+6
| | | | | | | The value of register %g1 was overwritten in a delay slot. Use additional %g4 register. Bug introduced by 258ad71e9626c16f30b40e06c321326636c976ff.
* sparc: Fix window underflow trap handlerDaniel Hellstrom2016-03-171-1/+1
| | | | | | | | | | | | 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. Update #2651.
* bsp/leon3: Clock driver workaround for GR712RCSebastian Huber2016-03-151-18/+53
|
* score: Distribute clock tick to all online CPUsSebastian Huber2016-03-043-0/+35
| | | | Update #2554.
* bsp/leon3: Use -mcpu=leon3 machine optionSebastian Huber2016-02-222-3/+1
| | | | Due to GCC configuration changes, the -muser-mode option is superfluous.
* Use linker set for libio initializationSebastian Huber2016-02-033-6/+2
| | | | Update #2408.
* bsps/sparc: Fix link-time errorSebastian Huber2016-01-261-6/+0
| | | | Fix for commit 76ac1ee3bba2a20ded7ea12394af0a633be25ff9.
* drvmgr: Remove dupl bsp_driver_level_hook() declSebastian Huber2016-01-262-0/+3
|
* score: Fix simple timecounter supportSebastian Huber2016-01-194-21/+42
| | | | Update #2502.
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-243-6/+0
| | | | | | | | | | | | | | | | | | | | | | | Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys or threaded local storage (TLS). They were introduced well before per task variables, which are also deprecated, and were barely used in favor of their POSIX alternatives. In addition to their scarce usage, Notepads took up unnecessary memory. For each task: - 16 32-bit integers were allocated. - A total of 64 bytes per task per thread. This is especially critical in low memory and safety-critical applications. They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer. Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX keys and TLS. updates #2493.
* bsps: Delete superfluous bsp_pretasking_hook()Sebastian Huber2015-12-103-3/+1
| | | | | | Use the bsp_predriver_hook() instead. Update #2408.
* bsps: Call bsp_work_area_initialize() earlySebastian Huber2015-12-109-84/+7
| | | | | | | | Call bsp_work_area_initialize() before bsp_start(). This allows bsp_start() to use malloc() etc. which is beneficial for systems with a plug-and-play hardware enumeration. Update #2408.
* bsps/sparc: Use default bsp_pretasking_hook()Sebastian Huber2015-12-107-29/+9
| | | | | | Move content to bsp_predriver_hook() functions of the BSPs. Update #2408.
* sparc: Fix context switch on SMPDaniel Cederman2015-11-161-17/+14
| | | | | | | | | | | | | | | | We must not load registers (e.g. PSR) from the heir context area before the heir stopped execution. With this patch the write to PSR is divided into two steps. We first update the current window pointer and then we restore the status registers and enable traps. This allows us to move the first write to PSR to be before the write to WIM, as there is now no risk that we get an interrupt where the CWP and WIM would be inconsistent. We only need to make sure that we do not use any of the non-global registers or instructions that affects CWP for three instructions after the write. In the earlier code the non-global %o1 register was used right after the write to PSR, which required the use of three nop:s.
* basdefs.h: Add and use RTEMS_UNUSEDSebastian Huber2015-10-261-1/+1
|
* basedefs.h: Add and use RTEMS_NO_RETURNSebastian Huber2015-10-261-1/+1
|
* bsp/leon3: Fix Termios context usageSebastian Huber2015-10-201-8/+3
| | | | | Only the context of the console device was used and this is wrong in case more than one APBUART device is available.
* SMP: Fix and optimize thread dispatchingSebastian Huber2015-09-281-13/+7
| | | | | | | | According to the C11 and C++11 memory models only a read-modify-write operation guarantees that we read the last value written in modification order. Avoid the sequential consistent thread fence and instead use the inter-processor interrupt to set the thread dispatch necessary indicator.
* Most bsp.h: Switch to LIBBSP_@CPU@_@BSP_FAMILY@_H for guardJoel Sherrill2015-07-163-6/+6
| | | | | | | | | | | | | | | | | This was done by the following script run from libbsp: find * -name bsp.h | xargs -e grep -l "#ifndef.*_BSP_H" | while read b do echo $b cpu=`echo $b | cut -d'/' -f1 | tr '[:lower:]' '[:upper:]' ` bsp=`echo $b | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]' ` g="LIBBSP_${cpu}_${bsp}_BSP_H" # echo $g sed -e "s/ifndef _BSP_H/ifndef ${g}/" \ -e "s/define _BSP_H/define ${g}/" \ -i $b done
* score: Simplify <rtems/system.h>Sebastian Huber2015-06-261-0/+1
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* bsps/sparc: tlib clock driver timecounter supportSebastian Huber2015-06-091-38/+56
|
* sparc: Add SPARC_USE_SAFE_FP_SUPPORTSebastian Huber2015-06-091-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | 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 is 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. On SMP configurations the deferred floating point switch is not supported in principle. So use here a safe floating point support. Safe means that the volatile floating point context is saved and restored around a thread dispatch issued during interrupt processing. Thus post-switch actions and context switch extensions may safely use the floating point unit. Update #2270.
* sparc: Disable FPU in interrupt contextAlexander Krutwig2015-05-301-1/+34
| | | | Update #2270.
* bsps/sparc: Delete unused local labelsSebastian Huber2015-05-261-4/+0
|
* bsps/sparc: Change tabs to spacesSebastian Huber2015-05-261-5/+5
|
* bsps: Convert clock drivers to use a timecounterAlexander Krutwig2015-05-203-63/+138
| | | | Update #2271.
* Remove obsolete rtems_clock_major/minorSebastian Huber2015-05-141-14/+0
| | | | | These global variables are obsolete since 65f71f8472fa904ca48b816301ed0810def47001.
* LEON3: gptimer drvmgr init simplified wrt bootDaniel Hellstrom2015-04-171-40/+6
|
* LEON3: move timer variable to where initializedDaniel Hellstrom2015-04-172-5/+2
|
* LEON3: simplify amba initializationDaniel Hellstrom2015-04-171-7/+2
|
* LEON3: clock irq always same as timer instanceDaniel Hellstrom2015-04-171-10/+1
| | | | | | The leon.h already contains the definition of LEON3_CLOCK_INDEX and irq must always follow that when separate IRQ is supported by the HW. The definitions are resued from leon.h.
* DRVMGR: remove struct driver registration funcDaniel Hellstrom2015-04-172-6/+6
|
* DRVMGR: renamed RES_EMPTY to DRVMGR_RES_EMPTYDaniel Hellstrom2015-04-172-2/+2
|