summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* LEON3: UT699 and GR712 sleep-mode d-cache fixDaniel Cederman2014-03-311-5/+3
| | | | See errata of respective chip. Some code-cleanup as well.
* bsps/sparc: Make local functions for amba plug&play static.Daniel Cederman2014-03-245-12/+10
|
* bsps/sparc: Add common gnat handler function prototype.Daniel Cederman2014-03-2412-6/+42
| | | | Moved prototype for __gnat_install_handler and __gnat_install_handler_common to common header file. Placed header file in bsp namespace.
* greth: Make local functions static, remove overflow and correct printf call.Daniel Cederman2014-03-211-1/+1
|
* bsps/sparc: Change asm to __asm__ to compile with -pedantic.Daniel Cederman2014-03-213-6/+6
|
* bsps/sparc: Make spurious trap handler function static.Daniel Cederman2014-03-213-3/+3
|
* bsps/sparc: Make local functions static.Daniel Cederman2014-03-219-4/+32
| | | | | | | The PCI and RASTA versions of the uart, spacewire and 1553 drivers directly includes the c-file of the standard versions of the drivers, but uses a macro to change the name of the driver register function. When the standard version is used this function should be global, when it is included as part of the PCI and RASTA versions it should be local and static.
* smc91111: Move driver attach prototype to header file.Daniel Cederman2014-03-212-8/+0
| | | | Also signal to compiler that the start variable in lan91cxx_recv is only used when debugging.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-2195-95/+95
|
* bsps/leon3: Add interrupt delay profiling supportSebastian Huber2014-03-141-1/+38
|
* sparc: Add support for interrupt profilingSebastian Huber2014-03-141-2/+23
|
* score: Add SMP lock profiling supportSebastian Huber2014-03-141-1/+2
|
* score: Add local context to SMP lock APISebastian Huber2014-03-111-16/+16
| | | | | | | | | | | Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated.
* bsp/leon3: Use interrupt timestamping counterSebastian Huber2014-03-102-28/+73
| | | | | Use the interrupt controller timestamping counter for the CPU counter if available since it runs with a high frequency.
* bsps/sparc: Add missing IRQMP registersSebastian Huber2014-03-101-3/+13
|
* bsps/sparc: Remove fix for ERC32 with FPU rev. B/CSebastian Huber2014-03-101-66/+0
|
* bsp/leon3: Unmask IPI only on secondary processorDaniel Hellstrom2014-03-061-1/+1
|
* bsp/leon3: Add L2 cache supportSebastian Huber2014-02-281-0/+88
|
* bsp/leon3: Add L2C registersSebastian Huber2014-02-281-0/+25
|
* bsp/leon3: Add new cache manager implementationSebastian Huber2014-02-282-1/+114
| | | | | | | | | | | The previous implementation used an instruction cache line size of 0, this is a bogus value. Use a instruction cache line size of 64 since the L2 cache may have a line size of 32 or 64. A greater value should cause no harm. Use a FLUSH operation for _CPU_cache_invalidate_instruction_range(). This is a preperation step to support the L2 cache.
* bsp/leon3: Add and use cache register functionsSebastian Huber2014-02-283-21/+46
|
* bsp/leon3: Use ambapp_freq_get() for CPU counterSebastian Huber2014-02-283-40/+33
|
* sparc: Fix CPU counter supportSebastian Huber2014-02-246-36/+96
| | | | | | | | The SPARC processors supported by RTEMS have no built-in CPU counter support. We have to use some hardware counter module for this purpose. The BSP must provide a 32-bit register which contains the current CPU counter value and a function for the difference calculation. It can use for example the GPTIMER instance used for the clock driver.
* bsp/leon3: Add bsp_reset() for SMP configurationSebastian Huber2014-02-213-0/+65
|
* bsp/leon3: Add and use leon3_get_cpu_count()Sebastian Huber2014-02-212-2/+10
|
* bsp/leon3: Add leon3_power_down_loop()Sebastian Huber2014-02-212-0/+4
|
* bsps/sparc: Delete unused fileSebastian Huber2014-02-211-24/+0
|
* bsp/leon3: Add and use LEON3_IrqCtrl_LockSebastian Huber2014-02-192-13/+23
| | | | | Disabling of interrupts is not enough to ensure mutual exclusion on SMP configurations.
* bsp/leon3: Declare LEON3_IrqCtrl_EIrq only onceSebastian Huber2014-02-191-2/+2
|
* bsp/leon3: Declare leon3_ext_irq_init() in headerSebastian Huber2014-02-193-4/+5
|
* score: Rename rtems_smp_process_interrupt()Sebastian Huber2014-02-191-4/+3
| | | | | | Rename rtems_smp_process_interrupt() into _SMP_Inter_processor_interrupt_handler(). Delete unused header file <rtems/bspsmp.h>.
* score: Rename rtems_smp_secondary_cpu_initialize()Sebastian Huber2014-02-191-1/+2
| | | | | | Rename rtems_smp_secondary_cpu_initialize() into _SMP_Start_multitasking_on_secondary_processor(). Move declaration to <rtems/score/smpimpl.h>.
* score: Delete bsp_smp_broadcast_interrupt()Sebastian Huber2014-02-191-16/+0
| | | | | | Since the per-CPU SMP lock must be acquired and released to send the message a single interrupt broadcast operations offers no benefits. If synchronization is required, then a SMP barrier must be used anyway.
* score: Rename bsp_smp_initialize()Sebastian Huber2014-02-191-1/+1
| | | | | Rename bsp_smp_initialize() into _CPU_SMP_Initialize() since every CPU port must supply this function.
* bsp/leon3: Add and use fatal codesSebastian Huber2014-02-192-3/+5
|
* score: Add RTEMS_FATAL_SOURCE_BSPSebastian Huber2014-02-192-5/+2
| | | | | | Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC into new fatal source RTEMS_FATAL_SOURCE_BSP. This makes it easier to figure out the code position given a fatal source and code.
* bsp/leon3: Declare amba_initialize()Sebastian Huber2014-02-142-2/+2
|
* bsp/leon3: Do not define RTEMS_DEBUGSebastian Huber2014-02-141-11/+12
| | | | | Move vital code out of debug section. Harmonize variable names with other implementations.
* sparc: Add LEON3_ASR17_PROCESSOR_INDEX_SHIFTSebastian Huber2014-02-145-17/+6
| | | | Add _LEON3_Get_current_processor().
* score: Add CPU counter supportSebastian Huber2014-02-147-0/+73
| | | | | | | | | Add a CPU counter interface to allow access to a free-running counter. It is useful to measure short time intervals. This can be used for example to enable profiling of critical low-level functions. Add two busy wait functions rtems_counter_delay_ticks() and rtems_counter_delay_nanoseconds() implemented via the CPU counter.
* sparc: Save/restore only non-volatile contextSebastian Huber2014-02-121-15/+4
| | | | | | | | | | The _CPU_Context_switch() is a normal function call. The following registers are volatile (the caller must assume that the register contents are destroyed by the callee) according to "SYSTEM V APPLICATION BINARY INTERFACE - SPARC Processor Supplement", Third Edition: g1, o0, o1, o2, o3, o4, o5. Drop these registers from the context. Ensure that offset defines match the structure offsets.
* bsps/sparc: Fix ambapp_find_by_idx()Sebastian Huber2014-02-111-1/+1
| | | | The expression "*pi++" post-increments the pointer (not the value).
* Revert "bsp/leon3: New BSP variant leon3_qemu"Sebastian Huber2014-02-079-99/+0
| | | | | | This reverts commit 7579e255127ee0cf04901bbab6c1538559053508. Improve QEMU to support AMBA plug and play instead.
* bsp/leon3: New BSP variant leon3_qemuSebastian Huber2014-02-069-0/+99
|
* bsp/leon3: Declare bsp_debug_uart_init() in headerSebastian Huber2014-02-063-5/+5
| | | | Do not return a status.
* score: _CPU_Context_switch_to_first_task_smp()Sebastian Huber2014-02-051-28/+0
| | | | | Delete _CPU_Context_switch_to_first_task_smp() and use _CPU_Context_restore() instead.
* bsps: Delete unused bsp_smp_delay()Sebastian Huber2014-02-051-23/+0
|
* bsp/leon3: Avoid magic delays for IPI broadcastSebastian Huber2014-02-051-5/+3
|
* bsp/leon3: Fix SMP initializationSebastian Huber2014-02-053-51/+34
| | | | | | | Avoid usage of the same stack area by multiple secondary processors at the same time. Avoid magic delay loops.
* bsp/leon3: Install IPI handler earlySebastian Huber2014-02-051-7/+4
| | | | | | | | Install inter-processor interrupt (IPI) handler before secondary CPUs are started. This ensures that secondary CPUs fetch the newly installed handler. Remove superfluous return statement.