summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/erc32 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* PR 1548: ERC32 console stops working when UART error flags are setGerardo Puga2014-01-091-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The console works fine when only transmitting data from the ERC32, but stops working after a while when receiving data. "Stops working" means, bytes are neither sent nor received from the UART, but the rest of the system keeps functioning (task are executing, the operative system is responsive, etc). Context: - When an RX error occurs, the ERC32 UARTS stop generating RX/TX interrupts until the corresponding error flag in the UART_STATUS are cleared. - The console.c code currently cleans the error flags from the console_isr_x subroutines, but those are NOT called when an RX error occurs. Thus the error flag is never cleaned and then the UARTs stop generating interrupts indefinitely. - The ERC32 UARTs generate a different interrupt when an RX error occurs. Fixed by: - Adding a third interrupt service routine console_isr_error to handle the UART_ERROR trap. This isr cleans the error flags of the channels. - Cleaning the error flags manually just after having initialized the interrupt vectors. This is because if the error flag was already set by the time the interrupt vectors are configured, the interrupts might never be called.
* PR1960: ERC32_Is_interrupt_masked for ERC32 in erc32.hHelder Silva2013-12-111-1/+1
| | | | | | | | | | The function-like macro ERC32_Is_interrupt_masked defined as: (ERC32_MEC.Interrupt_Masked & (1 << (_source))) The ERC32_MEC is of type ERC32_Register_Map structure and Interrupt_Masked does not exist in structure, instead Interrupt_Mask exists. Update the macro accordingly.
* doxygen: refactored doxygen in libbsp to illustrate new rule setDaniel Ramirez2013-12-091-3/+11
|
* sparc shared: improve doxygenToma Radu2013-12-071-1/+2
| | | | Add doxygen to the header files in sparc/shared/include directory.
* erc32: improve doxygenToma Radu2013-12-044-0/+25
| | | | Add doxygen to the bsp.h, tm27.h, erc32.h and irq.h files.
* sparc: refactored shared/start.S to shared/start/start.SDaniel Ramirez2013-12-031-1/+1
|
* 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
* 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%.
* bsps: Fix clock driver definesSebastian Huber2013-08-141-1/+1
|
* termios: Update due to API changesSebastian Huber2013-06-251-17/+17
| | | | | Termios notifies now the driver about an inactive transmit with the length argument set to zero.
* 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-920/+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.
* libchip/serial: Add const qualifierSebastian Huber2013-02-111-2/+2
|
* bsp/erc32: Fix warningsSebastian Huber2013-02-111-2/+2
|
* score: Add CPU_Exception_frameSebastian Huber2012-11-272-17/+22
| | | | | | | | | | | | | | | | | | | | | 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-49/+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/+49
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-1121-46/+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-072-0/+6
| | | | | See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
* Remove CVS-Ids.Ralf Corsépius2012-05-042-6/+0
|
* SPARC BSPs: implemented shared-irq using libbsp/shared layerDaniel Hellstrom2012-04-066-2/+163
| | | | | | | | | | | | | | | 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/+8
| | | | | | | | | | | | 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>
* SPARC: added libcpu lowlevel access and byteorder routines/definitionsDaniel Hellstrom2012-03-211-1/+3
| | | | | | | | | | | | 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
|
* Revert "Disable optimization."Sebastian Huber2012-01-261-1/+1
| | | | This reverts commit 8ae88d7f9644ad39d88aaa86c7558ec45450e8c9.
* Disable optimization.Sebastian Huber2012-01-231-1/+1
|
* 2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-10-183-8/+12
| | | | | | PR 1917/bsps * Makefile.am, console/erc32_console.c: Modifications to add dynamic tables for libchip serial drivers.
* 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-16 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-06-162-1/+5
| | | | * startup/bspdelay.c: Fix broken CVS-Id.
* 2011-06-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-118-547/+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.
* Fix broken cvs id.Jennifer Averett2011-05-251-1/+1
|
* 2011-05-25 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-05-251-2/+3
| | | | | | | | | | 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-1/+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-2/+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-03-03 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-03-032-162/+169
| | | | | | | PR 1750/bsps * console/erc32_console.c, make/custom/erc32.cfg: The new console driver did not support polled mode. It also had a bug in which it could lose a transmitter interrupt.
* 2011-02-28 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-02-282-11/+68
| | | | | * console/erc32_console.c: Add polled support. Tinker with interrupt handler to not dequeue characters unless TX is empty.
* 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-113-2/+7
| | | | | * 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-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-092-1/+5
| | | | * make/custom/erc32.cfg: Remove -ftest-coverage.
* 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.