Sebastian Huber
e36f2b8c91
score: Avoid direct usage of _Thread_Executing
...
Pass the executing thread as a function parameter. Obtain the executing
thread inside a thread dispatch critical section to avoid problems on
SMP.
2013-07-22 16:56:58 +02:00
Sebastian Huber
570045ed7f
score: Add const qualifier
2013-07-22 16:56:58 +02:00
Sebastian Huber
c4f585589a
score: Create semaphore implementation header
...
Move implementation specific parts of coresem.h and coresem.inl into new
header file coresemimpl.h. The coresem.h contains now only the
application visible API.
2013-07-22 16:56:58 +02:00
Sebastian Huber
c624c0e9e2
posix: Convert to inline function
2013-07-22 16:56:58 +02:00
Sebastian Huber
9c743e8e72
posix: Create semaphore implementation header
...
Move implementation specific parts of semaphore.h and semaphore.inl into
new header file semaphoreimpl.h. The semaphore.h contains now only the
application visible API.
2013-07-22 16:56:57 +02:00
Sebastian Huber
05e82bd76b
score: Error for non-preemptible tasks on SMP
...
A common use case for disabled preemption was to ensure mutual exclusion
on single-processor configurations. On SMP this does not work.
To abandon non-preemptible tasks simplifies the scheduler.
2013-07-22 16:46:01 +02:00
Sebastian Huber
79d9523f19
rtems: Error for task variables on SMP
...
Task variables are not supported on SMP.
2013-07-22 16:46:01 +02:00
Sebastian Huber
50ccf988c2
rtems: Error for task delete on SMP
...
Task deletion is currently not implemented on SMP configurations.
2013-07-22 16:46:01 +02:00
Sebastian Huber
f913c796ff
sapi: Add rtems_configuration_is_smp_enabled()
...
Add a configuration field which indicates if the SMP mode of operation
is enabled. This can be used to disable features unsupported on SMP,
e.g task variables.
2013-07-22 16:46:01 +02:00
Sebastian Huber
0bbd8fdce2
score: Add and use _ISR_Get_nest_level()
2013-07-22 16:46:01 +02:00
Sebastian Huber
d0a97f2d1d
score: Move ISR catch support functions
...
Delete now unused file <rtems/score/isr.inl>.
2013-07-22 16:46:00 +02:00
Sebastian Huber
45b572fa4a
score: Move ISR level content to single file
2013-07-22 16:46:00 +02:00
Sebastian Huber
1a30d44266
libmisc: Use _Thread_Get_executing()
2013-07-22 16:46:00 +02:00
Sebastian Huber
d566f33e67
libcsupport: Use _Thread_Get_executing()
2013-07-22 16:46:00 +02:00
Sebastian Huber
d7ce33f17e
testsuites: Use _Thread_Get_executing()
2013-07-22 16:46:00 +02:00
Sebastian Huber
5f7757b05b
posix: Use _Thread_Get_executing()
2013-07-22 16:45:59 +02:00
Sebastian Huber
3b8d2fa443
rtems: Use _Thread_Get_executing()
2013-07-22 16:45:59 +02:00
Sebastian Huber
02f73d487e
score: Use _Thread_Get_executing()
2013-07-22 16:45:59 +02:00
Sebastian Huber
a9127a2e65
testsuites: Include missing header files
2013-07-22 16:45:59 +02:00
Sebastian Huber
f2d9fda780
shell: Include missing header file
2013-07-22 16:45:58 +02:00
Sebastian Huber
ca1d84efb8
network: Include missing header file
2013-07-22 16:45:58 +02:00
Sebastian Huber
a1b4752869
posix: Include missing header files
2013-07-22 16:45:58 +02:00
Sebastian Huber
1e4f08b412
score: Include missing header files
2013-07-22 16:45:58 +02:00
Sebastian Huber
57c8805648
smptests: Be successful on one processor
2013-07-22 16:45:58 +02:00
Ralf Kirchner
2f589cccae
bsp/gen83xx: Fix BSP options for MPC8348EAMDS
2013-07-18 10:19:38 +02:00
Sebastian Huber
e7ce41bb6d
libcsupport: Do not use _ISR_Nest_level
...
The _Thread_Dispatch_is_enabled() is false if _ISR_Nest_level is not
equal to zero.
2013-07-18 09:58:58 +02:00
Sebastian Huber
401f1b9d56
rtems, posix: Use _Thread_Get_executing()
2013-07-18 09:58:58 +02:00
Sebastian Huber
95e09afa92
score: Avoid direct usage of _Thread_Executing
...
Pass the executing thread as a function parameter. Obtain the executing
thread inside a thread dispatch critical section to avoid problems on
SMP.
2013-07-18 09:58:58 +02:00
Sebastian Huber
ac15b0716a
score: Convert to inline function
2013-07-18 09:58:58 +02:00
Sebastian Huber
9728ef357f
posix: Convert to inline function
2013-07-18 09:58:57 +02:00
Sebastian Huber
15462a6f1c
rtems: Convert to inline functions
2013-07-18 09:58:57 +02:00
Sebastian Huber
20e239c2f0
score: Create mutex implementation header
...
Move implementation specific parts of coremutex.h and coremutex.inl into
new header file coremuteximpl.h. The coremutex.h contains now only the
application visible API.
2013-07-18 09:58:57 +02:00
Sebastian Huber
f9d533a5f3
posix: Create mutex implementation header
...
Move implementation specific parts of mutex.h and mutex.inl into new
header file muteximpl.h. The mutex.h contains now only the application
visible API.
2013-07-18 09:58:57 +02:00
Sebastian Huber
2bbea657ae
rtems: Create semaphore implementation header
...
Move implementation specific parts of sem.h and sem.inl into new header
file semimpl.h. The sem.h contains now only the application visible
API.
2013-07-18 09:58:56 +02:00
Sebastian Huber
0dd262d33d
libtests/gxx01: Avoid random memory read/write
2013-07-18 09:58:56 +02:00
Sebastian Huber
cbfe05c95a
score: Update due to API changes
2013-07-18 09:58:56 +02:00
Sebastian Huber
f7740e97a2
smp: Rename _CPU_Processor_event_receive()
...
Rename to _CPU_SMP_Processor_event_receive().
2013-07-17 13:09:50 +02:00
Sebastian Huber
07f6e4193e
smp: Rename _CPU_Processor_event_broadcast()
...
Rename to _CPU_SMP_Processor_event_broadcast().
2013-07-17 13:09:50 +02:00
Sebastian Huber
ca63ae2ec0
smp: Add and use _CPU_SMP_Send_interrupt()
...
Delete bsp_smp_interrupt_cpu().
2013-07-17 13:09:50 +02:00
Sebastian Huber
39e51758c8
smp: Add and use _CPU_SMP_Get_current_processor()
...
Add and use _SMP_Get_current_processor() and
rtems_smp_get_current_processor().
Delete bsp_smp_interrupt_cpu().
Change type of current processor index from int to uint32_t to match
_SMP_Processor_count type.
2013-07-17 13:09:49 +02:00
Sebastian Huber
a7ce0cec5d
smp: Delete RTEMS_BSP_SMP_CONTEXT_SWITCH_NECESSARY
...
The thread dispatch is a side-effect of interrupt processing, thus there
is no need to send an explicit message.
2013-07-17 13:09:49 +02:00
Sebastian Huber
9c9b62d8dd
score: Changes due to Newlib __DYNAMIC_REENT__
...
Delete _Thread_libc_reent and add __getreent() instead according to
__DYNAMIC_REENT__ define.
For SMP configurations __DYNAMIC_REENT__ must be defined.
A Newlib including the following patch is required:
2013-07-09 Sebastian Huber <sebastian.huber@embedded-brains.de >
* libc/include/sys/config.h (__DYNAMIC_REENT__): Define for RTEMS.
2013-07-17 13:09:49 +02:00
Sebastian Huber
f74d9496ee
score: Add _Thread_Get_executing()
2013-07-17 13:09:49 +02:00
Sebastian Huber
8b721d5e11
libcsupport: Use _reclaim_reent()
...
A Newlib including the following patch is required:
2013-04-25 Sebastian Huber <sebastian.huber@embedded-brains.de >
* libc/stdio/local.h (_STDIO_CLOSE_PER_REENT_STD_STREAMS): New define.
* libc/stdio/findfp.c (_STDIO_CLOSE_PER_REENT_STD_STREAMS): Use define.
2013-07-17 13:09:49 +02:00
WeiY
a04182c608
clean up old atomic related files
2013-07-17 13:07:34 +02:00
WeiY
2e7f579865
stdatomic.h support check when configure
2013-07-17 13:07:33 +02:00
WeiY
5186b55180
smpatomic test case update
2013-07-17 13:07:33 +02:00
WeiY
a3e9c228f9
spatomic test case update
2013-07-17 13:07:33 +02:00
WeiY
d61e54c2e0
update-all-architectures-to-new-atomic-implementation
2013-07-17 13:07:33 +02:00
WeiY
34229d5285
A generic atomic implementation for smp architectures
2013-07-17 13:07:33 +02:00