summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* DRVMGR: KEY_TYPE now a enum drvmgr_ktDaniel Hellstrom2015-04-1723-78/+78
|
* DRVMGR: renamed info_dev to get_info_devDaniel Hellstrom2015-04-171-1/+1
|
* DRVMGR: change name of freq_get to get_freqDaniel Hellstrom2015-04-171-1/+1
|
* sparc bsps: updated license to rtems.orgDaniel Hellstrom2015-04-1792-92/+92
|
* leon3,ngmp: cpucounter initialization use proper namesDaniel Hellstrom2015-04-171-2/+3
| | | | | | To be merged with "leon3,ngmp: simplify cpucounter initialization" .. as an affect of previous patch, the next must be updated too.
* leon3: timer config updated to use proper namingDaniel Hellstrom2015-04-172-7/+7
| | | | To be merged with "leon3: make timer initialization configurable"
* LEON: converted LEON4-N2X to BSD headerDaniel Hellstrom2015-04-171-4/+4
|
* LEON: converted PCI peripherals to BSD headerDaniel Hellstrom2015-04-175-24/+24
|
* LEON: converted AT697,GRPCi,GRPCI2,PCIF to BSD headerDaniel Hellstrom2015-04-174-40/+31
|
* LEON: move driver headers to bsp/ directoryDaniel Hellstrom2015-04-1758-432/+432
|
* MCTRL: fix build warnings in MCTRL driverDaniel Hellstrom2015-04-176-0/+38
|
* AMBAPP GRLIB: fix build warningsDaniel Hellstrom2015-04-171-0/+3
|
* LEON2: fix build warningsDaniel Hellstrom2015-04-171-22/+11
|
* AMBAPP_BUS: fix build warningsDaniel Hellstrom2015-04-171-23/+18
|
* LEON CONS: fix build warningsDaniel Hellstrom2015-04-171-1/+1
|
* GR-TMTC-1553: fix build warningsDaniel Hellstrom2015-04-172-12/+16
|
* GR-RASTA-TMTC: fix build warningsDaniel Hellstrom2015-04-172-17/+20
|
* GR-RASTA-SPW-ROUTER: fix build warningsDaniel Hellstrom2015-04-172-11/+11
|
* GR-RASTA-IO: fix build warningsDaniel Hellstrom2015-04-172-17/+16
|
* GR-RASTA-ADCDAC: fix build warningsDaniel Hellstrom2015-04-172-15/+16
|
* GR-LEON4-N2X: fix build warningsDaniel Hellstrom2015-04-172-12/+14
|
* GR_701: fix build warningsDaniel Hellstrom2015-04-172-13/+14
|
* GRGPIO: fix buld warningsDaniel Hellstrom2015-04-171-9/+9
|