Commit Graph

25045 Commits

Author SHA1 Message Date
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
Chris Johns
1ebffa8914 arm: Fix default exception prologues 2013-06-21 10:26:11 +02:00
Sebastian Huber
4f1da72e7f score: _Heap_Protection_free_all_delayed_blocks()
Add and use _Heap_Protection_free_all_delayed_blocks() to prevent
test suite failures if RTEMS_DEBUG is defined.
2013-06-21 10:26:11 +02:00
Sebastian Huber
9165a5b07d IMFS: Fix reference count for debug enabled 2013-06-21 10:26:11 +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
Joel Sherrill
6520aef1e3 sparc in_cksum: Use __sparc__ which is available in -ansi mode 2013-06-20 10:52:48 -05: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
Jiri Gaisler
1f4ee306d3 Added in_cksum_sparc.h to optimize IP checksum calculations for SPARC. 2013-06-19 08:21:40 -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
Ralf Corsépius
67f89f2e5b Update from automake-1.13.3. 2013-06-18 13:38:31 +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
010e4058e5 smptests/smpschedule01: Update due to API change 2013-06-17 10:22:30 +02:00
Sebastian Huber
c4a236aebe Revert "sptests/sp02: Fix maximum task count"
This reverts commit 6f8adb073b.

The resource count was correct.
2013-06-17 10:12:26 +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
961669db4e documentation: Fix Doxygen comments 2013-06-14 16:26:09 +02:00
Sebastian Huber
8b222be707 smptests/smpschedule01: New test 2013-06-14 16:26:09 +02:00
Sebastian Huber
a936aa49b5 scheduler: New simple SMP scheduler implementation
The new Simple SMP Scheduler allocates a processor for the processor
count highest priority ready threads.  The thread priority and position
in the ready chain are the only information to determine the scheduling
decision.  Threads with an allocated processor are in the scheduled
chain.  After initialization the scheduled chain has exactly processor
count nodes.  Each processor has exactly one allocated thread after
initialization.  All enqueue and extract operations may exchange threads
with the scheduled chain.  One thread will be added and another will be
removed.  The scheduled and ready chain is ordered according to the
thread priority order.  The chain insert operations are O(count of ready
threads), thus this scheduler is unsuitable for most real-time
applications.

The thread preempt mode will be ignored.
2013-06-14 16:26:08 +02:00
Sebastian Huber
8f420927ac scheduler: Simplify simple scheduler
Add and use _Scheduler_simple_Insert_priority_fifo_order(),
_Scheduler_simple_Insert_priority_lifo_order(),
_Scheduler_simple_Insert_priority_fifo() and
_Scheduler_simple_Insert_priority_lifo().
2013-06-14 16:26:08 +02:00
Sebastian Huber
a3443088f5 scheduler: Add and use _Scheduler_default_Tick()
Delete _Scheduler_priority_Tick().  Use _SMP_Get_processor_count() for
default tick operation.  Delete _Scheduler_simple_smp_Tick().
2013-06-14 16:26:08 +02:00
Sebastian Huber
6eba7c857b scheduler: Specify thread of yield operation
The yielding thread of the yield operation is now specified by a
parameter.  The tick operation may be performed for each executing
thread in a SMP configuration.
2013-06-14 16:26:08 +02:00
Sebastian Huber
1ccb64e18f scheduler: Add start idle thread operation
Add and use _Scheduler_Start_idle().
2013-06-14 16:26:07 +02:00
Sebastian Huber
477259c4ed score: Simplify _Thread_Create_idle() 2013-06-14 16:26:07 +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
5c78940d94 score: Add and use _Thread_Dispatch_if_necessary()
Delete _Thread_Evaluate_is_dispatch_needed().

Use _Thread_Dispatch_is_enabled() in rtems_task_mode() instead of the
system state to determine if a thread dispatch is allowed.  Signales are
now delivered in rtems_task_mode() even if preemption is disabled.  This
is in line with rtems_signal_send().
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
ec978d97e0 score: Add _Chain_Insert_ordered_unprotected() 2013-06-14 16:26:06 +02:00
Sebastian Huber
7a34ca371b rtems: Simplify rtems_task_mode() 2013-06-14 16:26:06 +02:00
Sebastian Huber
6f8adb073b sptests/sp02: Fix maximum task count 2013-06-14 16:26:06 +02:00
Cynthia Rempel
873859a405 Make the default values easier for the configuration GUI to parse 2013-06-12 13:52:55 -04:00
Sebastian Huber
aabfcd0c33 smp: Fix _Thread_Dispatch_decrement_disable_level
We must obtain the processor ID after interrupts are disabled since a
non-optimizing compiler may store the value on the stack and read it
back.
2013-06-12 16:12:54 +02:00
Sebastian Huber
df244cfc30 smp: Protect decrement operation 2013-06-12 16:12:53 +02:00
Sebastian Huber
a8ef3bf053 smp: Add and use _Per_CPU_Lock_acquire()
Add and use _Per_CPU_Lock_release().
2013-06-12 16:12:53 +02:00
Sebastian Huber
f70526a761 score: Avoid cyclic include dependency 2013-06-12 16:12:53 +02:00
Sebastian Huber
127044069b score: Add missing include 2013-06-12 16:12:53 +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
65483f807d termios: SMP support 2013-06-12 16:12:50 +02:00
Sebastian Huber
fed92f5f67 termios: Notify driver about inactive transmit
Returning this state in the return value leads to race conditions on
SMP.  The inactive state notification must be inside the critical
section.
2013-06-12 16:11:25 +02:00