summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon2 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* doxygen: refactored doxygen in libbsp to illustrate new rule setDaniel Ramirez2013-12-091-3/+12
|
* sparc shared: improve doxygenToma Radu2013-12-071-3/+4
| | | | Add doxygen to the header files in sparc/shared/include directory.
* sparc: refactored shared/start.S to shared/start/start.SDaniel Ramirez2013-12-031-1/+1
|
* leon2: fix typo in doxygenGedare Bloom2013-12-031-1/+1
|
* leon2: improve doxygenToma Radu2013-12-032-0/+12
| | | | Add doxygen to the cchip.c & leon_open_eth.c files.
* libbsp: refactored sparc/shared/bspgetworkarea.c to ↵Daniel Ramirez2013-12-031-1/+1
| | | | | | sparc/shared/startup/bspgetworkarea.c * refactored sparc/shared/bspgetworkarea.c to sparc/shared/startup/bspgetworkarea.c
* leon2_doxygen_1Radu2013-12-0220-3/+121
|
* sparc all BSPs: Use function and data sectionsJoel Sherrill2013-10-241-0/+3
| | | | This reduces the size of the RTEMS tests on average about 45%.
* leon2/.../ckinit.c: Change get nanoseconds handler to staticJoel Sherrill2013-09-301-1/+1
|
* bsps: Fix clock driver definesSebastian Huber2013-08-141-1/+1
|
* smp: Simplify SMP initialization sequenceSebastian Huber2013-05-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delete bsp_smp_wait_for(). Other parts of the system work without timeout, e.g. the spinlocks. Using a timeout here does not make the system more robust. Delete bsp_smp_cpu_state and replace it with Per_CPU_State. The Per_CPU_State follows the Score naming conventions. Add _Per_CPU_Change_state() and _Per_CPU_Wait_for_state() functions to change and observe states. Use Per_CPU_State in Per_CPU_Control instead of the anonymous integer. Add _CPU_Processor_event_broadcast() and _CPU_Processor_event_receive() functions provided by the CPU port. Use these functions in _Per_CPU_Change_state() and _Per_CPU_Wait_for_state(). Add prototype for _SMP_Send_message(). Delete RTEMS_BSP_SMP_FIRST_TASK message. The first context switch is now performed in rtems_smp_secondary_cpu_initialize(). Issuing the first context switch in the context of the inter-processor interrupt is not possible on systems with a modern interrupt controller. Such an interrupt controler usually requires a handshake protocol with interrupt acknowledge and end of interrupt signals. A direct context switch in an interrupt handler circumvents the interrupt processing epilogue and may leave the system in an inconsistent state. Release lock in rtems_smp_process_interrupt() even if no message was delivered. This prevents deadlock of the system. Simplify and format _SMP_Send_message(), _SMP_Request_other_cores_to_perform_first_context_switch(), _SMP_Request_other_cores_to_dispatch() and _SMP_Request_other_cores_to_shutdown().
* RTEMS: Delete ChangeLog files.Gedare Bloom2013-03-081-452/+0
| | | | | | | | | This commit deletes all RTEMS ChangeLog files. These files have been abandoned since converting to git version control. The historical data may be recovered by checking out any commit before this one. Most of the contents of these ChangeLog files can also be found in the git log. Two external ChangeLog files, ChangeLog.slac and ChangeLog.zlib, remain.
* score: Add CPU_Exception_frameSebastian Huber2012-11-271-16/+21
| | | | | | | | | | | | | | | | | | | | | Add CPU port type CPU_Exception_frame and function _CPU_Exception_frame_print(). The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh, sparc64, and v850 use an empty default implementation of _CPU_Exception_frame_print(). Add rtems_exception_frame and rtems_exception_frame_print(). Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions. Use rtems_fatal() with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc, and sparc for unexpected exceptions. Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the BSP_PRINT_EXCEPTION_CONTEXT define used in the default bsp_fatal_extension(). Add test sptests/spfatal26.
* bsps: Use RTEMS_BSP_CLEANUP_OPTIONSSebastian Huber2012-11-252-3/+1
|
* bsps: Interrupt initialization error is fatalSebastian Huber2012-11-151-1/+1
|
* score: Add RTEMS_FATAL_SOURCE_EXITSebastian Huber2012-11-152-3/+3
| | | | | | | Include <bsp/default-initial-extension.h> in all BSPs. Call rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit() status code as fatal code in every bsp_cleanup(). Move previous bsp_cleanup() code into bsp_fatal_extension().
* bsps/sparc: Add BSP_INITIAL_EXTENSION to <bsp.h>Sebastian Huber2012-11-132-0/+3
| | | | The bsp_fatal_extension() will call BSP_fatal_return().
* score: Work area initialization API changeSebastian Huber2012-10-251-2/+2
| | | | | | | | | | | | The work areas (RTEMS work space and C program heap) will be initialized now in a separate step and are no longer part of rtems_initialize_data_structures(). Initialization is performed with tables of Heap_Area entries. This allows usage of scattered memory areas present on various small scale micro-controllers. The sbrk() support API changes also. The bsp_sbrk_init() must now deal with a minimum size for the first memory chunk to take the configured work space size into account.
* Revert "Add bspopts.h.in."Gedare Bloom2012-08-061-44/+0
| | | | | | | | | | | | This reverts commit daffa606cc4a45d93c1f0f4fe365fde0fda6acbb. Conflicts: c/src/lib/libbsp/arm/lpc24xx/include/bspopts.h.in c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in c/src/lib/libbsp/powerpc/qoriq/include/bspopts.h.in Manually deleted conflicting files.
* Require automake-1.12.2.Ralf Corsépius2012-07-191-1/+1
|
* Require autoconf-2.69.Ralf Corsépius2012-07-191-1/+1
|
* Add bspopts.h.in.Ralf Corsépius2012-05-241-0/+44
|
* pci.h cleanup - Consolidate common defines to cpukit pci.hJoel Sherrill2012-05-161-6/+3
| | | | | | | | | | | | | + libbsp/sparc/shared/include/pci.h was largely a copy of an older version of the cpukit pci.h. Removed much of the contents and included <rtems/pci.h>. + sparc/*/pci*.c - Move to <rtems/pci.h> required updating to use uint32_t for dword accesses. + Rename PCI_MULTI_FUNCTION to PCI_HEADER_TYPE_MULTI_FUNCTION + Define PCI_HEADER_TYPE_MULTI_FUNCTION in cpukit pci.h and remove PCI_MULTI_FUNCTION definitions in C files. + Move PCI_INVALID_VENDORDEVICEID definitions from various C files to cpukit pci.h
* LEON: moved register definitions into grlib header fileDaniel Hellstrom2012-05-163-25/+9
| | | | | | | | | | | | Some register layout definitions for LEON3 reside in ambapp.h which does not really has anything to do with device registers. The register structures has been incorrectly named LEON3_*, the cores are not only used on LEON3 but on LEON4 and perhaps on LEON5 when that day comes. Some structures has been renamed according to the GRLIB core name instead, which CPU that actually use it is not relevant. Drivers has been updated with the new names. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-1122-53/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* Revert: Remove CVS IdsJoel Sherrill2012-05-071-0/+2
| | | | | See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
* Remove CVS-Ids.Ralf Corsépius2012-05-041-2/+0
|
* LEON2 - Remove bad $Id$ and clean up file headerJoel Sherrill2012-05-021-4/+6
|
* LEON: updated drivers to use new AMBAPP LayerDaniel Hellstrom2012-04-172-34/+44
| | | | | | | The drivers are updated to use the new AMBA layer, however the backwards-compatibility interface (ambapp_old) is used. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* LEON: updated AMBA PnP APIDaniel Hellstrom2012-04-172-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old layer had some limitations/problems for multiple AHB buses since the data structure containing all AMBA devices were allocated before scanning. The new layer create devices as they are found and memory is allocated using malloc() or bsp_early_malloc() during booting. The old 8 functions for finding a specific AHB-Slave or APB-Slave device has been replaced with one function, ambapp_for_each(), which iterates over all devices matching the specified search options and calls a user provided function. The new way lowers the footprint and makes searching more flexible. The frequency information is now supported, if the frequency of one device is reported by the user. More AHB-to-AHB bridges are supported. The API has been split into several parts in order to lower the footprint. The API also introduces the AMBAPP CORE concept, where one ambapp_core can be created from one AHB Master, AHB Slave and one APB Slave, at least one device is required for creating a core. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* SMC91111: updated to use shared IRQ serviceDaniel Hellstrom2012-04-061-6/+4
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* SPARC BSPs: implemented shared-irq using libbsp/shared layerDaniel Hellstrom2012-04-066-1/+162
| | | | | | | | | | | | | | | The implementation use IRQ number instead of vector number since some IRQs does not have a unique vector, for example the extended interrupts all enter the same trap vector entry. Added support for the LEON3 extended interrupt controller when using the shared IRQ layer. ERC32 patches untested. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com> Regenerate
* SPARC: bsp_early_malloc() routine for startup memory allocationDaniel Hellstrom2012-03-292-3/+9
| | | | | | | | | | | | If bsp_early_malloc() is called early during boot room will be allocated after BSS END. If the function is called after boot is will call malloc() instead. The returned memory is not freeable and always 8-byte aligned. If the bsp_early_malloc() isn't called the function is not dragged in and the workspace will be unmodified in size. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* GRETH: added support for non-snooping GRETH 10/100 systemsDaniel Hellstrom2012-03-272-0/+12
| | | | | | | | | | | | | | | | | | When data cache snooping is not present the cache needs flushing, the SPARC LEON CPUs does not have to ability to flush individual cache rows and flushing all cache is expensive. Instead the LDA instruction is used to force cache miss on individual loads during the IP-align copy operation required anyway. GRETH GBIT non-snooping systems are still unsupported, since it use zero-copy (can deal with unaligned DMA). Let the bsp.h select if the GRETH driver is supported. Currently only the LEON2/LEON3 platforms BSPs builds the driver. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* SMC91111: ERC32 was never supported by driverDaniel Hellstrom2012-03-211-0/+2
| | | | | | | | | Moved the intelligence whether the driver is supported or not completely to the BSP, now that bsp.h is included (even though it is a driver... hmm). The ERC32 was never supported, so HAS_SMC91111 is not added to erc32/include/bsp.h. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* SPARC: added libcpu lowlevel access and byteorder routines/definitionsDaniel Hellstrom2012-03-211-0/+1
| | | | | | | | | | | | The low level routines can be used in different occasions, it will be required when accessing PCI. Note the difference between byteorder.h (inlined functions) and access.S where the functions will be declared in the library archive librtemscpu.a. Function names starting with _ are in library and can be referenced by function pointers. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* Remove all .cvsignore files.Joel Sherrill2012-02-012-12/+0
|
* 2011-07-21 Jorge Lopez <jorge.lopez.trescastro@esa.int>Joel Sherrill2011-07-212-0/+7
| | | | | PR 1766/bsps * clock/ckinit.c: Add missing read of Timer_Counter_1.
* 2011-06-19 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-06-192-1/+6
| | | | * Makefile.am: Fix broken path to clockdrv_shell.h.
* 2011-06-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-118-413/+7
| | | | | | | * Makefile.am, configure.ac: runtest for this BSP obsoleted by rtems-testing/sim-scripts support. Please use those scripts. * tools/.cvsignore, tools/ChangeLog, tools/Makefile.am, tools/configure.ac, tools/runtest.in: Removed.
* 2011-05-25 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-05-251-1/+2
| | | | | | | | | | PR 1792/bsps * src/lib/libbsp/i386/pc386/Makefile.am, src/lib/libbsp/sparc/erc32/Makefile.am, src/lib/libbsp/sparc/leon2/Makefile.am, src/lib/libbsp/sparc/leon3/Makefile.am: Added a generic smp wait method to sparc and i386 bsps. * src/lib/libbsp/shared/smp/bspsmp_wait_for.c: New file.
* 2011-05-23 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-05-232-2/+27
| | | | | | | | PR 1795/bsps * erc32/Makefile.am, leon2/Makefile.am, leon3/Makefile.am: Add rtems_bsp_delay to sparc bsps. * erc32/startup/bspdelay.c, leon2/startup/bspdelay.c, leon3/startup/bspdelay.c: New files.
* 2011-04-25 Jennifer Averett <jennifer.averett@OARcorp.com>Joel Sherrill2011-04-252-8/+6
| | | | | | PR 1783/bsps * include/bsp.h: Remove dead prototypes of Clock_delay() and delay(). Neither had bodies.
* 2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>Joel Sherrill2011-03-163-0/+20
| | | | | | | | | | | | PR 1729/cpukit * Makefile.am, configure.ac: Add next step in SMP support. This adds an allocated array of the Per_CPU structures to support multiple cpus vs a single instance of the structure which is still used if SMP support is disabled. Configuration support is also added to explicitly enable or disable SMP. But SMP can only be enabled for the CPUs which will support it initially -- SPARC and i386. With the stub BSP support, a BSP can be run as a single core SMP system from an RTEMS data structure standpoint.
* 2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-03-042-5/+15
| | | | | | | PR 1748/bsps * clock/ckinit.c: When the clock tick generates an interrupt WHILE we have interrupts disabled doing a get TOD or uptime, the get nanoseconds handler was returning a bogusly large number.
* 2011-02-25 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-252-2/+4
| | | | * configure.ac: Remove RTEMS_CANONICAL_TARGET_CPU.
* 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-114-3/+8
| | | | | * cchip/cchip.c, include/tm27.h, startup/spurious.c: Use "__asm__" instead of "asm" for improved c99-compliance.
* 2011-02-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-092-1/+7
| | | | | * timer/timer.c: Include <rtems/btimer.h>. Fix benchmark_timer_read() definition.
* 2011-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-024-4/+12
| | | | * configure.ac: Require autoconf-2.68, automake-1.11.1.
* 2011-01-28 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-01-282-1/+5
| | | | * bsp_specs: Revert accidental commit.