summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps/sparc: Fix global construction/destructionThanassis Tsiodras2021-08-121-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. Close #3319.
* leon,gr1553b: improve init checkDaniel Hellstrom2020-10-011-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. Closes #2331
* GRETH: Interrupt Handler Uses Wrong EventsChristian Spindeldreier2017-01-121-1/+1
| | | | closes #2796.
* sparc: Fix window underflow trap handlerDaniel Hellstrom2016-03-241-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. Close #2651.
* score: Fix simple timecounter supportSebastian Huber2016-01-274-27/+42
| | | | Close #2502.
* sparc: Fix context switch on SMPDaniel Cederman2015-11-171-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. Close #2472.
* 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.
* 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
|
* GPIOLIB: fix build warningsDaniel Hellstrom2015-04-171-10/+5
|
* GRADCDAC: fix build warningsDaniel Hellstrom2015-04-171-2/+2
|
* GENIRQ: fix build warningsDaniel Hellstrom2015-04-171-1/+6
|
* GRPWM: fix build warningsDaniel Hellstrom2015-04-171-6/+12
|
* SPWCUC: fix build warningsDaniel Hellstrom2015-04-171-2/+2
|