summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-08-12bsps/sparc: Fix global construction/destructionThanassis Tsiodras1-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.
2020-10-01leon,gr1553b: improve init checkDaniel Hellstrom1-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
2017-01-12GRETH: Interrupt Handler Uses Wrong EventsChristian Spindeldreier1-1/+1
closes #2796.
2016-03-24sparc: Fix window underflow trap handlerDaniel Hellstrom1-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.
2016-01-27score: Fix simple timecounter supportSebastian Huber4-27/+42
Close #2502.
2015-11-17sparc: Fix context switch on SMPDaniel Cederman1-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.
2015-10-20bsp/leon3: Fix Termios context usageSebastian Huber1-8/+3
Only the context of the console device was used and this is wrong in case more than one APBUART device is available.
2015-07-16Most bsp.h: Switch to LIBBSP_@CPU@_@BSP_FAMILY@_H for guardJoel Sherrill3-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
2015-06-26score: Simplify <rtems/system.h>Sebastian Huber1-0/+1
Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
2015-06-09bsps/sparc: tlib clock driver timecounter supportSebastian Huber1-38/+56
2015-06-09sparc: Add SPARC_USE_SAFE_FP_SUPPORTSebastian Huber1-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.
2015-05-30sparc: Disable FPU in interrupt contextAlexander Krutwig1-1/+34
Update #2270.
2015-05-26bsps/sparc: Delete unused local labelsSebastian Huber1-4/+0
2015-05-26bsps/sparc: Change tabs to spacesSebastian Huber1-5/+5
2015-05-20bsps: Convert clock drivers to use a timecounterAlexander Krutwig3-63/+138
Update #2271.
2015-05-14Remove obsolete rtems_clock_major/minorSebastian Huber1-14/+0
These global variables are obsolete since 65f71f8472fa904ca48b816301ed0810def47001.
2015-04-17LEON3: gptimer drvmgr init simplified wrt bootDaniel Hellstrom1-40/+6
2015-04-17LEON3: move timer variable to where initializedDaniel Hellstrom2-5/+2
2015-04-17LEON3: simplify amba initializationDaniel Hellstrom1-7/+2
2015-04-17LEON3: clock irq always same as timer instanceDaniel Hellstrom1-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.
2015-04-17DRVMGR: remove struct driver registration funcDaniel Hellstrom2-6/+6
2015-04-17DRVMGR: renamed RES_EMPTY to DRVMGR_RES_EMPTYDaniel Hellstrom2-2/+2
2015-04-17DRVMGR: KEY_TYPE now a enum drvmgr_ktDaniel Hellstrom23-78/+78
2015-04-17DRVMGR: renamed info_dev to get_info_devDaniel Hellstrom1-1/+1
2015-04-17DRVMGR: change name of freq_get to get_freqDaniel Hellstrom1-1/+1
2015-04-17sparc bsps: updated license to rtems.orgDaniel Hellstrom92-92/+92
2015-04-17leon3,ngmp: cpucounter initialization use proper namesDaniel Hellstrom1-2/+3
To be merged with "leon3,ngmp: simplify cpucounter initialization" .. as an affect of previous patch, the next must be updated too.
2015-04-17leon3: timer config updated to use proper namingDaniel Hellstrom2-7/+7
To be merged with "leon3: make timer initialization configurable"
2015-04-17LEON: converted LEON4-N2X to BSD headerDaniel Hellstrom1-4/+4
2015-04-17LEON: converted PCI peripherals to BSD headerDaniel Hellstrom5-24/+24
2015-04-17LEON: converted AT697,GRPCi,GRPCI2,PCIF to BSD headerDaniel Hellstrom4-40/+31
2015-04-17LEON: move driver headers to bsp/ directoryDaniel Hellstrom58-432/+432
2015-04-17MCTRL: fix build warnings in MCTRL driverDaniel Hellstrom6-0/+38
2015-04-17AMBAPP GRLIB: fix build warningsDaniel Hellstrom1-0/+3
2015-04-17LEON2: fix build warningsDaniel Hellstrom1-22/+11
2015-04-17AMBAPP_BUS: fix build warningsDaniel Hellstrom1-23/+18
2015-04-17LEON CONS: fix build warningsDaniel Hellstrom1-1/+1
2015-04-17GR-TMTC-1553: fix build warningsDaniel Hellstrom2-12/+16
2015-04-17GR-RASTA-TMTC: fix build warningsDaniel Hellstrom2-17/+20
2015-04-17GR-RASTA-SPW-ROUTER: fix build warningsDaniel Hellstrom2-11/+11
2015-04-17GR-RASTA-IO: fix build warningsDaniel Hellstrom2-17/+16
2015-04-17GR-RASTA-ADCDAC: fix build warningsDaniel Hellstrom2-15/+16
2015-04-17GR-LEON4-N2X: fix build warningsDaniel Hellstrom2-12/+14
2015-04-17GR_701: fix build warningsDaniel Hellstrom2-13/+14
2015-04-17GRGPIO: fix buld warningsDaniel Hellstrom1-9/+9
2015-04-17GPIOLIB: fix build warningsDaniel Hellstrom1-10/+5
2015-04-17GRADCDAC: fix build warningsDaniel Hellstrom1-2/+2
2015-04-17GENIRQ: fix build warningsDaniel Hellstrom1-1/+6
2015-04-17GRPWM: fix build warningsDaniel Hellstrom1-6/+12
2015-04-17SPWCUC: fix build warningsDaniel Hellstrom1-2/+2