summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps/sparc: Fix linker sectionSebastian Huber2015-03-151-3/+3
|
* shared/include/grcan.h: Add prototypes to fix warningsJoel Sherrill2015-03-091-1/+2
|
* score: Add _CPU_SMP_Prepare_start_multitasking()Sebastian Huber2015-02-171-8/+5
| | | | Update #2268.
* grspw: Fix typosDaniel Cederman2015-02-111-3/+3
|
* bsp/sparc: Move BSP_ISR_handler to a separate file and rename itDaniel Cederman2015-02-119-23/+59
| | | | | | | This allows it to be wrapped by another function at link-time and can be used to trace interrupts. If not placed in a separate file, the function pointer address used in BSP_shared_interrupt_init will be resolved at compile-time, and the function will not be wrappable.
* bsps/sparc: Use calloc()Sebastian Huber2015-01-231-3/+1
| | | | Close #2242.
* grspw: descriptor tables no longer statically allocatedjavamonn2015-01-221-7/+7
|
* smp: Add and use _SMP_Should_start_processor()Sebastian Huber2015-01-091-5/+1
|
* bsps/sparc: Fix trap table initializationSebastian Huber2014-12-053-9/+13
| | | | Fixes bug introduced with dff1803cfbec3775fff1b9c34cc707c05494dc3b.
* Update bug report URLSebastian Huber2014-12-054-4/+4
|
* libmisc: More useful default configurationSebastian Huber2014-12-053-3/+1
| | | | | | | | | | | The dummy.c was a de-facto default configuration. Rename it to default-configuration.c. Use unlimited objects and the stack checker. This makes it easier for new RTEMS users which will likely use this file if they just work with the usual main() function as the application entry point. Provide proper arguments for main() using the BSP command line. Add spare user extensions and drivers. Do not initialize the network by default. Delete bspinit.c.
* bsp/leon3: Fix trap table initializationSebastian Huber2014-12-041-1/+2
| | | | Fixes bug introduced with dff1803cfbec3775fff1b9c34cc707c05494dc3b.
* SPARC: optimize IRQ enable & disableDaniel Hellstrom2014-12-043-35/+49
| | | | | | | | | | | | | | | | * Coding style cleanups. * Use OS reserved trap 0x89 for IRQ Disable * Use OS reserved trap 0x8A for IRQ Enable * Add to SPARC CPU supplement documentation This will result in faster Disable/Enable code since the system trap handler does not need to decode which function the user wants. Besides the IRQ disable/enabled can now be inline which avoids the caller to take into account that o0-o7+g1-g4 registers are destroyed by trap handler. It was also possible to reduce the interrupt trap handler by five instructions due to this.
* sparc/leon2: LEON_Is_interrupt_masked for Leon2 in leon.h wrongly definedJiri Gaisler2014-12-021-1/+1
| | | | | Condition needs to be inverted, as a 1 in the mask register means that the interrupt is enabled. Solves ticket #1959 in trac.
* sparc/leon3: LEON_Is_interrupt_masked for Leon3 in leon.h wrongly definedJiri Gaisler2014-12-021-3/+1
| | | | | Condition needs to be inverted, as a 1 in the mask register means that the interrupt is enabled. Solves ticket #1958 in trac.
* SPARC: optimize window underflow trapDaniel Hellstrom2014-12-021-1/+10
| | | | | | | | | | | Save five instructions on underflow handling. By using an optimized trap entry we can move instructions from the window underflow function into the trap entry vector. By setting WIM=0 and using RESTORE it is possible to move the new WIM register content from the trapped window into the to-be-restored register window. It is then possible to avoid the WIM write delay.
* SPARC: window overflow optimizationDaniel Hellstrom2014-12-021-1/+10
| | | | | I see no need for waiting the 3 instruction delay for wim to be written in this case, since the STD after does not depend on WIM
* bsp/ngmp: Use -muser-mode GCC optionSebastian Huber2014-11-241-1/+1
| | | | | This option is necessary to use the latest GCC 4.8, 4.9 and 5.0 versions.
* leon2: include <rtems/ringbuf.h> not <ringbuf.h>Joel Sherrill2014-11-231-2/+2
| | | | close #2113
* bsps/sparc: Include right header fileSebastian Huber2014-10-232-2/+2
|
* bsp/leon3: Fix LEON3_mp_irq definitionSebastian Huber2014-10-233-6/+9
| | | | Provide it also if RTEMS_MULTIPROCESSING is defined.
* bsps: Move extern "C" to not cover includesSebastian Huber2014-10-233-12/+12
| | | | Some includes may use C++ and this conflicts if surrounded extern "C".
* bsp/sparc: Ensure that data cache snooping is enabledDaniel Cederman2014-10-232-2/+18
| | | | Check that data cache snooping exists and is enabled on all cores.
* sparc/leon3/include/bsp.h: Fix warningsJoel Sherrill2014-10-191-0/+5
|
* sparc/leon2/include/bsp.h: Fix warningsJoel Sherrill2014-10-191-1/+7
|
* sparc/erc32: Fix warningsJoel Sherrill2014-10-194-14/+21
|
* sparc/shared: Fix warningsJoel Sherrill2014-10-193-4/+12
|
* sparc/shared/include/b1553brm_rasta.h: FormattingJoel Sherrill2014-10-191-7/+7
|
* sparc/erc32/clock/ckinit.c: Fix warningsJoel Sherrill2014-10-131-5/+4
|
* sparc/leon2: Fix warningsJoel Sherrill2014-10-1311-39/+56
|
* LEON: let termios layer handle \n also in pollingDaniel Hellstrom2014-10-091-1/+1
|
* LEON: console print \r\n instead of \n\rDaniel Hellstrom2014-10-091-2/+3
|
* LEON3: use interrupt layer in clock driverDaniel Hellstrom2014-10-091-3/+20
| | | | | Manupilating the interrupt control registers directly instead of going through the interrupt layer can be deceiving.
* SPARC BSPs: irq-shared.c code style clean-upDaniel Hellstrom2014-10-091-27/+27
|
* LEON3 SMP: support static interrupt affinityDaniel Hellstrom2014-10-093-8/+46
| | | | Changed LEON3_irq-mp to const also.
* SPARC BSPs: added CPU aware interrupt ctrl operationsDaniel Hellstrom2014-10-093-13/+65
| | | | | | The LEON2 and ERC32 maps the new macros to CPU0 since they do not support SMP. With the LEON3 a specific CPU's interrupt controller registers can be modified using macros.
* termios: Partially hide rtems_termios_ttySebastian Huber2014-10-073-24/+32
| | | | | | | Move interrupt lock to device context and expose only this structure to the read, write and set attributes device handler. This makes these device handler independent of the general Termios infrastructure suitable for direct use in printk() support.
* termios: Separate flow control from normal handlerSebastian Huber2014-10-071-0/+2
|
* erc32,leon2: replace bsp_reset with SPARC fatal handlerDaniel Hellstrom2014-10-063-9/+2
| | | | | Now that a SPARC fatal handler is defined, we no longer need the BSP specific reset routine.
* LEON3: use CPU_Fatal_halt for haltDaniel Hellstrom2014-10-064-65/+90
| | | | | | | | | | | | | | By removing the bsp_reset() mechanism and instead relying on the CPU_Fatal_halt() routine SMP and single-core can halt by updating the _Internal_errors_What_happened structure and set the state to SYSTEM_STATE_TERMINATED (the generic way). This will be better for test scripts and debugger that can generically look into why the OS stopped. For SMP systems, only the fatal-reporting CPU waits until all other CPUs are powered down (with a time out of one clock tick). The reason why a fatal stop happend may be because CPU0 was soft-locked up so we can never trust that CPU0 should do the halt for us.
* SPARC: Fatal_halt use source and exit codesDaniel Hellstrom2014-10-068-0/+92
| | | | | | | | | | | | | | | The Fatal_halt handler now have two options, either halt as before or enter system error state to return to debugger or simulator. The exit-code is now also propagated to the debugger which is very useful for testing. The CPU_Fatal_halt handler was split up into two, since the only the LEON3 support the CPU power down. The LEON3 halt now uses the power-down instruction to save CPU power. This doesn't stop a potential watch-dog timer from expiring.
* SPARC: add BSP specific error handlerDaniel Hellstrom2014-10-068-3/+30
| | | | | | | | Instead of calling the system call TA instruction directly it is better paractise to isolate the trap implementation to the system call functions. BSP_fatal_exit() is added.
* SPARC BSPs: remove BSP_fatal_return unreached codeDaniel Hellstrom2014-10-064-13/+2
|
* bsp/leon3: Replace the define LEON3_MP_IRQ with a weakly linked variableDaniel Cederman2014-10-026-12/+22
| | | | | | | | The LEON3_MP_IRQ define is used to pick the IRQ to be used by the shared memory driver and for inter-processor interrupts. On some LEON3 systems, for example the GR712RC, the default value of 14 is not suitable. To make this value configurable from the application, it is replaced with a weakly linked variable that can be overridden from the application.
* Use correct prototype of benchmark_timer_read()Joel Sherrill2014-09-163-3/+3
| | | | | | | | | | | | | | This change starts with removing the effectively empty file timerdrv.h. The prototypes for benchmark_timer_XXX() were in btimer.h which was not universally used. Thus every use of timerdrv.h had to be changed to btimer.h. Then the prototypes for benchmark_timer_read() had to be adjusted to return benchmark_timer_t rather than int or uint32_t. I took this opportunity to also correct the file headers to separate the copyright from the file description comments which is needed to ensure the copyright isn't propagated into Doxygen output.
* score: Rename _BSP_Exception_frame_print()Sebastian Huber2014-09-113-3/+3
| | | | | Rename _BSP_Exception_frame_print() to _CPU_Exception_frame_print() to be in line with other CPU port functions.
* bsp/leon3: Include missing header fileSebastian Huber2014-09-081-0/+1
|
* score: Define _CPU_Start_multitasking only for LEON SPARC, not SPARC in generalDaniel Cederman2014-09-011-1/+1
| | | | | Rename _BSP_Start_multitasking to _LEON3_Start_multitasking to show that it is LEON specific
* bsp/ngmp: Use -mcpu=leon3 GCC optionSebastian Huber2014-09-011-0/+2
| | | | | | | | | | | | | | | | | | There is support for the LEON3 processor available in Binutils 2.24 and the GCC 4.8 branch and GCC mainline. GCC 4.8 branch: http://gcc.gnu.org/viewcvs/gcc/branches/?view=log&pathrev=205331 GCC mainline: http://gcc.gnu.org/viewcvs/gcc/trunk/?view=log&pathrev=202664 It is mandatory to use this option for SMP on LEON3 since it enables usage of C11 atomic operations. It makes it also possible to use an inline function for _CPU_SMP_Get_current_processor() which avoids the function call overhead in critical sections.
* Regenerate all preinstall.am files.Chris Johns2014-08-292-10/+10
| | | | | With this patch the preinstall.am files are in a set order and not dependent on now perl implements a hash.