Commit Graph

12216 Commits

Author SHA1 Message Date
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
Sebastian Huber
0d671d709f bsps/arm: Move .fast_text section
Move the .fast_text section after the .vector section.  The .fast_test
section is normally not empty in case some functions should execute from
an internal SRAM.  This would be also the area for the .vector section.
The vector table must be the first content of such an area.
2013-05-27 12:49:13 +02:00
Sebastian Huber
cab410f7d9 bsps: Update due to linker changes
In case the VMA and LMA regions differ, the LMA start address is now no
longer aligned with the alignment of the input sections:

http://sourceware.org/bugzilla/show_bug.cgi?id=15222
2013-05-27 12:49:13 +02:00
Sebastian Huber
6c2eedc7dd smp: Add maximum_processors field to config
Delete rtems_configuration_get_smp_maximum_processors().  Delete
rtems_configuration_smp_maximum_processors variable.  Add
maximum_processors field to rtems_configuration_table if RTEMS_SMP is
defined.  Add rtems_configuration_get_maximum_processors().
2013-05-16 11:44:12 +02:00
Daron Chabot
5e45d363f2 Add c++ guard to header. 2013-05-16 11:16:46 +02:00
Sebastian Huber
cfd8d7a3d7 arm: Support VFP-D32 and Neon 2013-05-10 12:10:14 +02:00
Sebastian Huber
a94d46c84b bsp/xilinx-zynq: New BSP 2013-05-06 15:06:52 +02:00
Sebastian Huber
12d182c435 bsps/arm: Fix register usage 2013-05-06 15:06:52 +02:00
Sebastian Huber
e37d57bc81 bsps/arm: Add shared GIC tmtests/tm27 support 2013-05-06 15:06:52 +02:00
Sebastian Huber
33c98fd5ed bsps/arm: Remove superfluous parameter 2013-05-06 15:06:52 +02:00
Sebastian Huber
f2e9d0df8a bsp/raspberrypi: Use shared start code 2013-05-06 15:06:52 +02:00
Sebastian Huber
86b79fba5f bsp/lm3s69xx: Fix initialization value 2013-05-06 15:06:51 +02:00
Eugeniy Meshcheryakov
9bc1913e09 bsp/lm3s69xx: Use interrupts for UART receive
This makes continuous UART polling unnecessary.
2013-05-06 09:38:33 +02:00
Eugeniy Meshcheryakov
847e2cac7c bsp/lm3s69xx: More access macros for UART data register
Add mask for receive error bits and getter macro for
the data field.
2013-05-06 09:38:22 +02:00
Alan Cudmore
9159711ffe bsp/raspberrypi: Enable unaligned access 2013-05-06 09:37:12 +02:00
Sebastian Huber
a91dc98b5a bsp/realview-pbx-a9: New BSP 2013-05-03 17:30:56 +02:00
Sebastian Huber
9ce658030a bsps/arm: Copy vector table only if necessary 2013-05-03 17:30:56 +02:00
Sebastian Huber
27690ec38e bsps/arm: Move .vector section
The .vector section contains read-write data (several mode stacks).
Move it to the read-write data area.
2013-05-03 17:30:56 +02:00
Sebastian Huber
ecf7dd9564 bsps/arm: Move CP15 start initialization 2013-05-03 17:30:55 +02:00
Sebastian Huber
fd51f7e8d2 bsps/arm: Support ARMv7 VMSA sections and control 2013-05-03 17:30:55 +02:00
Sebastian Huber
88cf23f8c9 bsps/arm: Add arm_cp15_set_exception_handler() 2013-05-03 17:30:55 +02:00
Sebastian Huber
037e8ae506 bsps/arm: Add arm_cp15_set_trans*_table_entries() 2013-05-03 17:30:55 +02:00