Commit Graph

11798 Commits

Author SHA1 Message Date
Sebastian Huber
353f0fa125 bsp/mpc55xx: Add union tags 2012-12-03 13:17:09 +01:00
Sebastian Huber
fe1a4e4bef bsp/qoriq: Set PPC_EXC_CONFIG_BOOKE_ONLY 2012-12-03 13:17:09 +01:00
Sebastian Huber
f6999e6816 bsp/qoriq: Set PPC_EXC_CONFIG_USE_FIXED_HANDLER 2012-12-03 13:17:09 +01:00
Sebastian Huber
c383372f3f bsps/powerpc: Add and use bsp_text input section 2012-12-03 13:17:08 +01:00
Sebastian Huber
d33f743795 bsps/powerpc: Move .fast_text after .text section 2012-12-03 13:17:08 +01:00
Sebastian Huber
f665f13ddd bsps/powerpc: Add PPC_EXC_CONFIG_BOOKE_ONLY
In combination with the PPC_EXC_CONFIG_USE_FIXED_HANDLER option this
removes all dependencies on valid read-write data.  The exception
handling must be statically configured and all components reside in
read-only sections.
2012-12-03 13:17:08 +01:00
Sebastian Huber
4bd4c9e1f9 bsps/powerpc: Add PPC_EXC_CONFIG_USE_FIXED_HANDLER
In case a BSP enables this option, then fixed high level exception
handler will be used.  For normal asynchronous exceptions this is
bsp_interrupt_dispatch() and for other exceptions this is the handler
from the read-only ppc_exc_handler_table.  The global handler is
C_exception_handler().  This avoids some dependencies on valid
read-write data.
2012-12-03 13:17:08 +01:00
Sebastian Huber
4263155e96 bsps/powerpc: Declare ppc_exc_handler_table 2012-12-03 13:17:08 +01:00
Sebastian Huber
3bf002a329 bsp/gen83xx: Workaround for USB stack 2012-12-03 13:17:07 +01:00
Sebastian Huber
7ac89a6f5f bsp/gen83xx: Add sections for USB stack 2012-12-03 13:17:07 +01:00
Sebastian Huber
fd5c1eb14e bsp/csb637: Fix memory map 2012-12-03 10:02:29 +01:00
Sebastian Huber
e168410069 bsp/csb337: Fix memory map 2012-12-03 09:57:59 +01:00
Ric Claus
809b726ae1 Print MCSR and ESR.
The Machine Check and Exception Syndrome Registers on Book-E and Book-E-like
processors contain useful information for decoding the cause of an exception.

NB: This patch depends on the PR 2048 patch sent earlier having been applied.
2012-12-01 09:04:33 +01:00
Ric Claus
655bd39676 Virtex5 BSP: Various updates and improvements.
This BSP now uses the MPC6xx clock driver instead of a modified PPC403 clock
driver.  Support for the MMU has been added, but is not enabled by default.
2012-12-01 09:04:20 +01:00
Ric Claus
5b822ab26a Virtex4 BSP: Various updates and improvements.
Switched to using the PPC403 clock driver.  Added support for the MMU but
didn't enable it by default.  Made some functions static to avoid compiler
warnings.  Added a README.
2012-12-01 09:04:14 +01:00
Ric Claus
84b19b5405 Restored to pre PPC440 changes.
This file was originally modified by me to support the PPC440 of the virtex5
BSP.  I have since discovered that the clock driver built with the MVME3100
BSP works out of the box for the virtex5 and so have switched to using that.
This file is reverted to the way it was before I touched it, modulo whitespace,
making some functions static (to avoid compiler warnings) and changes by others.
2012-12-01 09:03:17 +01:00
Ralf Kirchner
d1c89524b2 bsps/powerpc: Do not use GCC extern inline 2012-11-29 15:08:42 +01:00
Sebastian Huber
815994fd17 score: Add CPU_Exception_frame
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.
2012-11-27 17:03:40 +01:00
Sebastian Huber
d2202ac56d powerpc: Add CPU_Exception_frame
The powerpc port uses now a unified CPU_Exception_frame.  This resulted
in a CPU_Exception_frame layout change for the MPC5XX.
2012-11-27 17:03:40 +01:00
Sebastian Huber
f0e3cc0a0a bsps/powerpc: Delete unused EXC_DAR field
The Data Access Register (DAR) is not saved in the exception prologue.
2012-11-27 17:03:40 +01:00
Sebastian Huber
7b02f3c6f1 bsps/powerpc: Delete unused EXC_MSR field
The MSR of the interrupted context is saved in the EXC_SRR1 field.
2012-11-27 17:03:40 +01:00
Sebastian Huber
39aa75e745 bsps: Use RTEMS_BSP_CLEANUP_OPTIONS 2012-11-25 17:45:29 +01:00
Sebastian Huber
f5d02852ed m68k/mrm332: Delete _Internal_error_Occurred()
Use custom bsp_fatal_extension() instead.
2012-11-22 16:35:06 +01:00
Sebastian Huber
86d80f02b6 m68k/mvme167: Delete bsp_fatal_error_occurred() 2012-11-22 16:35:05 +01:00
Sebastian Huber
7e32b62a59 score: Add RTEMS_FATAL_SOURCE_POWERPC_EXCEPTION
Add ppc_exc_print_frame_and_context() which prints an exception frame
and the context via printk().

The global exception handler will call now rtems_fatal() with source
RTEMS_FATAL_SOURCE_POWERPC_EXCEPTION.  The fatal code will contain the
pointer value to the exception frame.
2012-11-21 16:38:28 +01:00
Sebastian Huber
7ca64d69fa bsp/mpc55xx: Update due to API changes 2012-11-21 16:24:22 +01:00
Sebastian Huber
b1e8a580bc bsps/powerpc: Exception initialization error is fatal 2012-11-15 15:33:13 +01:00
Sebastian Huber
dd8df59413 bsps: Interrupt initialization error is fatal 2012-11-15 15:33:13 +01:00
Sebastian Huber
a052181ca2 score: Add RTEMS_FATAL_SOURCE_EXIT
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().
2012-11-15 15:33:12 +01:00
Sebastian Huber
b31a9603e0 score: Add INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR
Use INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR on PowerPC for
_CPU_ISR_install_vector().
2012-11-15 15:33:11 +01:00
Sebastian Huber
dc6e830c10 sapi: Add and use rtems_internal_error_description 2012-11-15 15:33:11 +01:00
Sebastian Huber
e4b40531f3 sapi: Add rtems_fatal_source and rtems_fatal_code 2012-11-15 15:33:11 +01:00
Sebastian Huber
767b4c12ce bsp/jmr3904: Define bsp_reset()
This is declared in <bsp/bootcard.h> and is the usual function to reset
a board.
2012-11-15 15:33:10 +01:00
Sebastian Huber
db5cb2629b bsps/lm32: Include <bsp/bootcard.h> 2012-11-15 15:33:10 +01:00
Sebastian Huber
12007d06e8 bsps: Include <bspopts.h> in <bsp.h> 2012-11-14 14:42:27 +01:00
Sebastian Huber
a3e8ab2a4c bsps/sparc: Define bsp_reset()
This is declared in <bsp/bootcard.h> and is the usual function to reset
a board.
2012-11-14 14:06:59 +01:00
Sebastian Huber
3a1d9c6711 bsps: Include <bsp/bootcard.h>
Use <bsp/bootcard.h> to get prototype for bsp_cleanup().  Fix
bsp_cleanup() definition if necessary.
2012-11-14 14:06:59 +01:00
Sebastian Huber
00dae1866d powerpc: Delete _CPU_Install_interrupt_stack()
This function is only used if CPU_HAS_HARDWARE_INTERRUPT_STACK == TRUE.
2012-11-14 14:06:59 +01:00
Sebastian Huber
7121cac0cc bsps/sparc: Add BSP_INITIAL_EXTENSION to <bsp.h>
The bsp_fatal_extension() will call BSP_fatal_return().
2012-11-13 09:38:02 +01:00
Sebastian Huber
38c0b1121f bsps: New file <bsp/default-initial-extension.h> 2012-11-13 09:38:02 +01:00
Joel Sherrill
602a18440a rtems-message_queue.adb: Formatting 2012-11-07 10:18:47 -06:00
Sebastian Huber
9186fa8dea bsps/sparc: Delete unused symbol declaration 2012-11-07 15:08:45 +01:00
Sebastian Huber
ef5f3598ad sapi: Delete duplicate declarations 2012-11-07 15:08:45 +01:00
Sebastian Huber
c4794975e9 sapi: Use rtems_configuration_get_work_space_size 2012-11-07 15:08:45 +01:00
Sebastian Huber
f536e127be sapi: Use rtems_*_get_user_multiprocessing_table 2012-11-07 15:08:45 +01:00
Sebastian Huber
75524a5e13 sapi: Use rtems_config*_get_interrupt_stack_size 2012-11-07 15:08:43 +01:00
Sebastian Huber
5e86086f1e sapi: Use rtems_config*_get_microseconds_per_tick 2012-11-07 15:08:43 +01:00
Sebastian Huber
524473fde4 bsp/nds: Do not change configuration 2012-11-07 15:08:42 +01:00
Sebastian Huber
c082e633e5 bsp/mvme167: Do not provide user extensions table
The application should use confdefs.h to set up the initial user
extensions.  The bsp_fatal_error_occurred() handler is available via
<fatal.h>.
2012-11-07 15:08:42 +01:00
Sebastian Huber
e85476b5a2 bsp/mvme167: Remove unused parameter 2012-11-07 15:08:42 +01:00