Commit Graph

11738 Commits

Author SHA1 Message Date
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
Sebastian Huber
a9e5e747f0 bsps: Use allocator mutex for generic IRQ support
Since the allocator mutex allows nesting now we can use it for the
generic IRQ support (recursive obtain in a potential malloc()).  This
simplifies the code and reduces memory usage.
2012-11-06 10:20:56 +01:00
Sebastian Huber
9f0a68ce5a libblock: Block device transfer request API change
Add and use rtems_blkdev_request_done().  Block device transfer requests
must signal the completion status now with rtems_blkdev_request_done().
The return value of the block device IO control will be ignored for
transfer requests.

The first parameter of rtems_blkdev_request_cb is now the transfer
request structure.

Renamed rtems_blkdev_request::req_done to rtems_blkdev_request::done to
break third party drivers at compile time, otherwise this API change
would result in runtime errors.
2012-11-02 09:40:58 +01:00
Sebastian Huber
20e1e769f8 bsp/mpc55xx: SMSC9218i avoid mbuf migration
The receive task will only hand over a mbuf if it gets a new one
immediately.  This avoids mbuf migration out of the receive task in case
of overload.
2012-11-02 09:34:39 +01:00
Sebastian Huber
26e90fb1c6 libnetworking: Use system events
Add reserved system events RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT and
RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP.

Add and use rtems_bsdnet_event_send().
2012-11-02 09:34:35 +01:00
Sebastian Huber
f33873ba8e bsp/pc386: Typo 2012-10-29 21:14:23 +01:00
Sebastian Huber
2ece571e9d bsp/mpc55xx: Stop tasks for SMSC9218i during off 2012-10-25 17:42:33 +02:00
Sebastian Huber
da89075944 bsp/mpc55xx: Add custom work area init 2012-10-25 14:54:06 +02:00
Sebastian Huber
c118a6e5ff bsps: Add bsp_work_area_initialize_with_table() 2012-10-25 14:54:06 +02:00
Sebastian Huber
47a3cd8f73 score: Work area initialization API change
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.
2012-10-25 14:54:06 +02:00
Ralf Corsépius
64d6f192c9 Eliminate unused var 'digit'. 2012-10-19 14:17:46 +02:00