Commit Graph

12137 Commits

Author SHA1 Message Date
Sebastian Huber
53dc697501 bsp/virtex: Delete BSP_ask_for_reset and BSP_panic 2013-06-24 10:54:00 +02:00
Sebastian Huber
39c1534f5a bsp/virtex: Use generic interrupt support 2013-06-24 10:54:00 +02:00
Sebastian Huber
894e93f5ec bsp/virtex: Fix header includes 2013-06-24 10:54:00 +02:00
Sebastian Huber
bee7612ec5 bsp/virtex: Move timer config to new file 2013-06-24 10:54:00 +02:00
Sebastian Huber
48ab8465d4 bsp/virtex: Do not use PPC403 TTY driver 2013-06-24 10:53:59 +02:00
Sebastian Huber
ad094f46ab bsp/virtex: Fix warnings 2013-06-24 10:53:59 +02:00
Sebastian Huber
b45397fb9a bsp/virtex: Delete bsp_XAssertHandler() 2013-06-24 10:53:59 +02:00
Sebastian Huber
ff538bbf4a bsp/virtex: Delete unused variables 2013-06-24 10:53:59 +02:00
Sebastian Huber
0ba2736d9f bsp/virtex: Replace low-level BSP start code
Use linkcmds.base.  Use EABI with small-data area.
2013-06-24 10:53:59 +02:00
Sebastian Huber
546c105646 bsp/virtex: Rename file dlentry.S in start.S
Use default bsp_specs file.
2013-06-24 10:53:58 +02:00
Sebastian Huber
509e0f3ff3 bsps/powerpc: Add PPC405 support for shared clock 2013-06-24 10:53:58 +02:00
Sebastian Huber
7d0e88f240 bsps/powerpc: Delete clock_4xx.c 2013-06-24 10:53:58 +02:00
Sebastian Huber
27b207a82a bsps: Delete bspreset_fatal.c
Use bspreset_loop.c instead.  This avoids infinite recursion.
2013-06-24 10:53:58 +02:00
Sebastian Huber
f97f46ce75 libchip/serial: Fix warning 2013-06-21 10:26:11 +02:00
Sebastian Huber
c9db7f964b bsps: Use CONSOLE_DEVICE_NAME 2013-06-21 10:26:10 +02:00
Sebastian Huber
a4bc725ecb bsps: Remove debug output in shared console driver 2013-06-21 10:26:10 +02:00
Sebastian Huber
37220fac7e bsps: Do not use printk() in shared console driver 2013-06-21 10:26:10 +02:00
Sebastian Huber
6307b1af62 bsps: Add fatal errors for shared console driver 2013-06-21 10:26:10 +02:00
Sebastian Huber
ade27c69eb bsps: Move bsp_generic_fatal_code to new file
Add bsp_generic_fatal().
2013-06-21 10:26:10 +02:00
Sebastian Huber
5f91272e9b bsps/powerpc: Delete bsp_exceptions_in_RAM
Delete ppc_exc_vector_base.  Add and use
ppc_exc_initialize_with_vector_base().
2013-06-21 10:26:09 +02:00
Ric Claus
cddb8f4a45 bsps/arm: Fix some GIC functions 2013-06-20 10:15:14 +02:00
Sebastian Huber
9a037da966 bsps/arm: Set vector base address if necessary 2013-06-20 10:15:10 +02:00
Jiri Gaisler
45fecbb6db greth: do not advertise 1000M capability if MAC does not support it. 2013-06-19 08:21:49 -05:00
Jiri Gaisler
1bdc6d1d5c greth: prefer full duplex if available 2013-06-19 08:21:49 -05:00
Sebastian Huber
cb6b9bab29 bsp/xilinx-zynq: Use magic UART baud divisor
Use a baud divisor suitable for the evaluation board.
2013-06-19 13:04:01 +02:00
Sebastian Huber
3f6a82342d bsp/xilinx-zynq: Do not start transmitter break 2013-06-19 13:03:39 +02:00
Sebastian Huber
49bc9f81db bsp/xilinx-zynq: Use second UART for console
This is in now line with the evaluation board.
2013-06-18 09:21:12 +02:00
Sebastian Huber
cf46db8516 bsps: Provide simple console selection 2013-06-17 10:01:35 +02:00
Sebastian Huber
9f868a16ad bsps: Add missing include 2013-06-17 10:01:25 +02:00
Sebastian Huber
edde99bd21 score: Rename rtems_smp_get_number_of_processors()
Rename in rtems_smp_get_processor_count().  Always provide
<rtems/score/smp.h> and <rtems/rtems/smp.h>.  Add
_SMP_Get_processor_count().  This function will be a compile time
constant defined to be one on uni-processor configurations.  This allows
iterations over all processors without overhead on uni-processor
configurations.
2013-06-14 16:26:07 +02:00
Sebastian Huber
49cdf40afa score: Add and use _Thread_Dispatch_is_enabled()
Delete _Thread_Dispatch_in_critical_section() and
_Thread_Is_dispatching_enabled().
2013-06-14 16:26:06 +02:00
Sebastian Huber
15f3a91858 libchip: Use Termios API change for NS16550
This avoids a race condition on SMP configurations.
2013-06-12 16:12:52 +02:00
Sebastian Huber
6896ca22bb libchip: Delete superfluous assignments 2013-06-12 16:12:52 +02:00
Sebastian Huber
aec0e1958e configure: Documentation 2013-06-12 16:11:24 +02:00
Sebastian Huber
18e2fbe70d smp: Fix PowerPC context switch 2013-06-07 17:06:43 +02:00
Sebastian Huber
8bed60314e bsp/lm3s69xx: Typos 2013-06-03 10:03:44 +02:00
Sebastian Huber
94c17afd9c bsp/qoriq: Add missing #ifdef RTEMS_SMP 2013-06-03 10:03:10 +02:00
Sebastian Huber
db42c079a0 bsps/arm: Add SMP support 2013-05-31 15:20:33 +02:00
Sebastian Huber
f2f211c543 smp: Add ARM support 2013-05-31 15:20:32 +02:00
Sebastian Huber
bd39add8fa bsp/qoriq: Add SMP support 2013-05-31 15:20:32 +02:00
Sebastian Huber
ffbeb6f6a3 smp: Add PowerPC support 2013-05-31 15:20:32 +02:00
Sebastian Huber
e3be691598 score: Remove idle field of Per_CPU_Control
This field is unused except for special case simulator clock drivers.
In these places use an alternative.  Add and use
_Thread_Set_global_exit_status() and _Thread_Get_global_exit_status().
2013-05-31 15:20:31 +02:00
Sebastian Huber
17e09f8e0b bsps: Use _Objects_Information_table
Eliminate copy and paste.  Use the _Objects_Information_table since this
will take into account that more than one internal thread may exist,
e.g. MPCI thread or idle threads of secondary processors.
2013-05-31 15:20:31 +02:00
Sebastian Huber
5b391f857b bsps/arm: Use Write-Allocate cache for ARMv7 2013-05-31 15:20:31 +02:00
Sebastian Huber
1dcf5febf2 bsps/arm: Merge ARMv7 MMU section definitions 2013-05-31 15:20:31 +02:00
Sebastian Huber
2f6108f93b smp: Simplify SMP initialization sequence
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().
2013-05-29 11:06:07 +02:00
Sebastian Huber
8cacceb7b9 smp: Delete bsp_smp_secondary_cpu_initialize()
Do not call bsp_smp_secondary_cpu_initialize() in
rtems_smp_secondary_cpu_initialize().  This allows more flexibilty in
the BSP low-level code.  Specify context requirements for a call to
rtems_smp_secondary_cpu_initialize().
2013-05-29 11:06:07 +02:00
Sebastian Huber
baf8f4dabc smp: Simplify main CPU initialization
Call _SMP_Handler_initialize() later and move bsp_smp_initialize() into
_SMP_Handler_initialize().  Change bsp_smp_initialize() prototype to
match integer types of calling context.
2013-05-29 11:06:07 +02:00
Sebastian Huber
9344677cf4 bsp/qoriq: Avoid NULL pointer access 2013-05-27 12:49:14 +02:00
Sebastian Huber
9984acd10c bsps/arm: Add CLOCK_DRIVER_USE_FAST_IDLE option 2013-05-27 12:49:14 +02:00