summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* libdl: Add C++ exception support to loaded modules.Chris Johns2016-12-141-4/+0
| | | | | | This has been tested on SPARC, i386, PowerPC and ARM. Closes #2767.
* Rename is_internal to always_set_to_falseSebastian Huber2016-12-121-1/+1
| | | | Update #2825.
* testsuite: Add test states to the testsuit configuration files.Chris Johns2016-12-071-0/+4
| | | | | | | | | | | | | | | | Change the testsuite configuration files to hold state information about a test. The states are: exclude - Do not build the test expected-fail - The test is expected to fail indeterminate - The test may pass or may fail A message is printed just after the test's BEGIN message to indicate there is a special state for the test. No state message means the test is expected to pass. This support requires tests are correctly written to the use standard support to begin and end a test.
* Remove sparc/sis BSP.Joel Sherrill2016-11-299-104/+0
| | | | closes #2810.
* sparc: Optimize _ISR_Handler()Sebastian Huber2016-11-285-81/+70
| | | | | | Use _Thread_Do_dispatch() instead of _Thread_Dispatch(). Restore the PSR[EF] state of the interrupted context via new system call syscall_irqdis_fp in case floating-point support is enabled.
* sparc: Use Per_CPU_Control::isr_dispatch_disableSebastian Huber2016-11-181-5/+5
| | | | Update #2751.
* score: Allow interrupts during thread dispatchSebastian Huber2016-11-181-7/+12
| | | | | | | | | Use a processor-specific interrupt frame during context switches in case the executing thread is longer executes on the processor and the heir thread is about to start execution. During this period we must not use a thread stack for interrupt processing. Update #2809.
* sparc: Move CPU_Interrupt_frame related definesSebastian Huber2016-11-181-1/+1
| | | | | | Move CPU_Interrupt_frame related defines to <rtems/score/cpuimpl.h>. Update #2809.
* sparc: Rename CPU_Minimum_stack_frameSebastian Huber2016-11-182-5/+5
| | | | | | | | Rename SPARC-specific CPU_Minimum_stack_frame to SPARC_Minimum_stack_frame. Rename SPARC-specific CPU_MINIMUM_STACK_FRAME_SIZE to SPARC_MINIMUM_STACK_FRAME_SIZE. Update #2809.
* score: Add and use Thread_Control::is_idleSebastian Huber2016-11-091-2/+1
| | | | Update #2797.
* bsps/sparc: Fix copy of initialized dataSebastian Huber2016-11-022-7/+8
| | | | | The text and data sections may have different alignment requirements. Support a data section alignment greater than 16.
* bsps/sparc: Add interrupt controller registersSebastian Huber2016-10-191-2/+5
|
* bsp/leon3: Avoid implicit integer conversionsSebastian Huber2016-10-191-8/+8
|
* bsps/sparc: Support GR740 GPIOSebastian Huber2016-10-111-0/+22
|
* 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