summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps: Fix TLS support in linker command filesSebastian Huber2014-04-221-1/+3
| | | | | The TLS section symbols had wrong values in case of an empty TLS data section and a nonempty TLS BSS section.
* score: SMP initialization changesSebastian Huber2014-04-141-30/+20
| | | | | | | | | | | | | | | | | Add and use _CPU_SMP_Start_processor(). Add and use _CPU_SMP_Finalize_initialization(). This makes most _CPU_SMP_Initialize() functions a bit simpler since we can calculate the minimum value of the count of processors requested by the application configuration and the count of physically or virtually available processors in the high-level code. The CPU port has now the ability to signal a processor start failure. With the support for clustered/partitioned scheduling the presence of particular processors can be configured to be optional or mandatory. There will be a fatal error only in case mandatory processors are not present. The CPU port may use a timeout to monitor the start of a processor.
* sparc: Use __leon__ multilib defineSebastian Huber2014-04-141-1/+2
|
* rtems: Rename rtems_smp_get_current_processor()Sebastian Huber2014-04-111-1/+1
| | | | | | | Rename rtems_smp_get_current_processor() in rtems_get_current_processor(). Make rtems_get_current_processor() a function in uni-processor configurations to enable ABI compatibility with SMP configurations.
* rtems: Rename rtems_smp_get_processor_count()Sebastian Huber2014-04-111-1/+1
| | | | | | Rename rtems_smp_get_processor_count() in rtems_get_processor_count(). Make rtems_get_processor_count() a function in uni-processor configurations to enable ABI compatibility with SMP configurations.
* sparc/shared/.../linkcmds.base: Correct C++ supportJoel Sherrill2014-04-041-7/+6
| | | | Add KEEP() for .eh_frame*, .ctor*, and .dtor*.
* leon2 ckinit.c, console.c: Comment clean upJoel Sherrill2014-04-032-26/+5
|
* leon2/Makefile.am: Change to one file per lineJoel Sherrill2014-04-031-7/+16
|
* erc32/Makefile.am: Change to one file per lineJoel Sherrill2014-04-031-7/+17
|
* 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.