Sebastian Huber
a1b4af4bba
score: Add scheduler <sys/lock.h> support
2015-07-30 09:11:18 +02:00
Sebastian Huber
40188718f2
score: Add self-contained futex implementation
2015-07-30 09:11:18 +02:00
Sebastian Huber
7237b3e076
score: Add self-contained semaphore implementation
2015-07-30 09:11:18 +02:00
Sebastian Huber
214d8edd18
score: Add self-contained mutex implementation
...
This mutex implementation uses a thread priority queue with a simple
priority inheritance mechanism (similar to the object based mutexes).
The storage space must be supplied by the user (16 bytes on 32-bit
targets).
2015-07-30 09:11:18 +02:00
Sebastian Huber
12f93fbb13
score: Add thread queue for self-contained objects
2015-07-30 09:11:17 +02:00
Sebastian Huber
0e3c59d65c
score: Use a plain ticket lock for thread locks
...
This enables external libraries to use thread locks since they are
independent of the actual RTEMS build configuration, e.g. profiling
enabled or disabled.
2015-07-30 09:11:13 +02:00
Sebastian Huber
10e32a2634
score: Add potpourri lock statistics
...
These SMP lock statistics are used for all lock objects that lack a
storage space for the statistics. Examples are lock objects used in
external libraries which are independent of the actual RTEMS build
configuration.
2015-07-30 08:06:01 +02:00
Sebastian Huber
e421936bbb
score: Provide struct _Thread_queue_Heads
...
Use a leading underscore in the structure name to allow forward
declarations in standard header files provided by Newlib and GCC.
2015-07-30 08:06:01 +02:00
Sebastian Huber
48274706a7
score: Rename struct Thread_Control
...
Add a leading underscore to the structure name to allow forward
declarations in standard header files provided by Newlib and GCC.
2015-07-30 08:06:00 +02:00
Michael Davidsaver
74ef2c101a
tftpDriver: close() false error
...
closes #2376 .
2015-07-29 10:56:14 -05:00
Sebastian Huber
21789a2117
score: Rename _POSIX_Absolute_timeout_to_ticks()
...
Rename _POSIX_Absolute_timeout_to_ticks() to
_TOD_Absolute_timeout_to_ticks() and move it to the score directory.
Delete empty <rtems/posix/time.h>.
2015-07-28 14:54:51 +02:00
Sebastian Huber
f7d95581c8
m68k: Include proper header file
2015-07-24 10:47:25 +02:00
Sebastian Huber
9c53910190
score: Add comment
2015-07-24 09:13:31 +02:00
Sebastian Huber
9780fa937c
monitor: Sort alphabetically
2015-07-24 09:09:18 +02:00
Sebastian Huber
d70f530842
monitor: Add current CPU of thread
2015-07-24 09:09:18 +02:00
Sebastian Huber
0910e9d438
monitor: Print the wait queue to ease debugging
2015-07-24 09:09:18 +02:00
Sebastian Huber
1f199799b2
monitor: Print addresses like identifiers
...
This avoids the "0x0xabc" output and is more compact.
2015-07-24 09:09:18 +02:00
Sebastian Huber
975e19187d
monitor: Remove notepad support
2015-07-24 09:09:18 +02:00
Sebastian Huber
98a41f419c
arm: Include proper header file
2015-07-23 20:34:19 +02:00
Sebastian Huber
08135c85d8
i2c: Fix return status of i2c dev read/write
2015-07-23 09:00:31 +02:00
Sebastian Huber
19078dc6e6
doc: Add SMP section to CPU Arch Supplement
2015-07-23 08:36:30 +02:00
Sebastian Huber
e709aa8522
score: Move wait flag update to tq extract
...
This makes it possible to use _Thread_queue_Extract_locked() for barrier
operations which extract all threads on the queue in one critical
section.
2015-07-23 08:01:14 +02:00
Sebastian Huber
d7665823b2
score: Introduce Thread_queue_Heads
...
Move the storage for the thread queue heads to the threads. Each thread
provides a set of thread queue heads allocated from a dedicated memory
pool. In case a thread blocks on a queue, then it lends its heads to
the queue. In case the thread unblocks, then it takes a free set of
threads from the queue. Since a thread can block on at most one queue
this works. This mechanism is used in FreeBSD. The motivation for this
change is to reduce the memory demands of the synchronization objects.
On a 32-bit uni-processor configuration the Thread_queue_Control size is
now 8 bytes, compared to 64 bytes in RTEMS 4.10 (other changes reduced
the size as well).
2015-07-23 08:01:13 +02:00
Sebastian Huber
e273501233
score: Introduce Thread_queue_Queue
...
Separate the thread queue heads and lock from the operations. This
enables the support for light weight objects which only support one
queuing discipline.
2015-07-23 08:00:19 +02:00
Sebastian Huber
579f16efd7
bsps/arm: Update due to API changes
2015-07-21 09:29:56 +02:00
Premysl Houdek
b2c252b5ca
bsp/tms570 Use bitfields instead of hard-coded values
...
Signed-off-by: Premysl Houdek <kom541000@gmail.com >
2015-07-20 20:45:40 +10:00
Premysl Houdek
d6c67ad526
bsp/tms570: skipped 32bit field definitions and corrected single bit fields
...
there is no need to define access macros for field covering
whole registers. In addition, BSP_FLD32 does not work right
for field 32bit length.
Signed-off-by: Premysl Houdek <kom541000@gmail.com >
2015-07-20 20:45:26 +10:00
Joel Sherrill
3f923fd22e
Update date
2015-07-17 09:42:35 -05:00
Sebastian Huber
9154c3f99a
doc: Add thread dispatch details for SMP
2015-07-17 11:57:38 +02:00
Sebastian Huber
3bb342ca92
doc: Clarify interrupts disable problems on SMP
2015-07-17 11:57:08 +02:00
Sebastian Huber
b56ddbbd84
doc: Fix SMP task variables section
2015-07-17 09:21:46 +02:00
Sebastian Huber
e5a79e54d9
bsp/mpc83xx: Update due to header guard change
...
Close #2373 .
2015-07-17 07:59:35 +02:00
Joel Sherrill
db01d0cc61
sparc64/rtems/score/cpu.h: Delete dead declaration
2015-07-16 11:15:53 -07:00
Joel Sherrill
7e14385b46
sh/shared/startup/bspstart.c: Add include of percpu.h
2015-07-16 11:15:52 -07:00
Premysl Houdek
069560a5f9
bsp/tms570: source changes reflecting new headers.
...
Signed-off-by: Premysl Houdek <kom541000@gmail.com >
2015-07-16 11:15:52 -07:00
Pavel Pisa
602e395b4d
bsp/tms570: fix get time resolution after infrastructure change to timecounter.
...
The update fixes breakage of TMS570 support after Alexander Krutwig
switch of RTEMS time read to timecounter mechanism
bsps: Convert clock drivers to use a timecounter
Mechanism to specify odd (non 1 Mhz) time base update frequencies
implemented after objections of Martin Galvan.
Code is adjusted to convert RTEMS configuration parameter
microseconds_per_tick to such odd base if
TMS570_PREFERRED_TC_FREQUENCY is specified appropriately.
Signed-off-by: Premysl Houdek <kom541000@gmail.com >
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz >
2015-07-16 09:31:09 -07:00
Premysl Houdek
bea49c9477
bsp/tms570: New/generated header files for TMS570 SoC peripherals registers.
...
The header files are generated by script make_header.py.
Current script's version can be found at:
https://github.com/AoLaD/rtems-tms570-utils/tree/headers/headers/python
Registers offsets and fields have been extracted from reference manual.
Signed-off-by: Premysl Houdek <kom541000@gmail.com >
2015-07-16 09:31:09 -07:00
Joel Sherrill
4784214a6a
remaining bsp.h: Fix by hand to LIBBSP_@CPU@_@BSP_FAMILY@_BSP_H
...
These files were left after running the script in the previous patch.
2015-07-16 08:43:51 -07:00
Joel Sherrill
9cff822a26
Most bsp.h: Switch to LIBBSP_@CPU@_@BSP_FAMILY@_H for guard
...
This was done by the following script run from libbsp:
find * -name bsp.h | xargs -e grep -l "#ifndef.*_BSP_H" | while read b
do
echo $b
cpu=`echo $b | cut -d'/' -f1 | tr '[:lower:]' '[:upper:]' `
bsp=`echo $b | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]' `
g="LIBBSP_${cpu}_${bsp}_BSP_H"
# echo $g
sed -e "s/ifndef _BSP_H/ifndef ${g}/" \
-e "s/define _BSP_H/define ${g}/" \
-i $b
done
2015-07-16 08:40:05 -07:00
Sebastian Huber
93f5adb644
powerpc: Do not use the ATB for e500 multilib
...
The e500v1 has no support for the ATB.
Update #2369 .
2015-07-15 10:52:40 +02:00
Nick Withers
e2fcb7dc64
powerpc: Fix _CPU_Counter_read()
...
The mftb is not available on Book E processors. Use SPR 268 instead.
Close #2369 .
2015-07-15 09:02:32 +02:00
Sebastian Huber
c5d0ca91cf
libcsupport: Workaround for GCC 5.1 and later
...
Disable an optimization which would lead to a recursive calloc() call in
calloc().
2015-07-15 08:46:36 +02:00
Chris Johns
083e6d6b4b
libnetworking: Send the hostname if set in the network configuration.
...
This allows a suitably configured DHCP server with DDNS to enter
the name into the DNS table making it addressiable via it's host name.
2015-07-14 08:15:52 +10:00
Sebastian Huber
f5d4570fe6
score: Simplify _Thread_Lock_set()
...
Exploit the fact that the current thread lock must be the default thread
lock and interrupts are disabled if we call _Thread_Lock_set().
2015-07-13 08:56:57 +02:00
Sebastian Huber
9341773152
score: Typo
2015-07-13 08:56:57 +02:00
Sebastian Huber
c2596dfbd0
bsps/powerpc: Fix small-data area issue
...
Update #2369 .
2015-07-09 10:00:26 +02:00
Sebastian Huber
8406d94283
libmisc: Use SMP application by default on SMP
2015-07-08 10:10:28 +02:00
Sebastian Huber
b9a7dc3b04
doc: Clarify SMP configuration defines
2015-07-08 10:10:27 +02:00
Sebastian Huber
b171982439
bsps/powerpc: Provide debug and trace symbols
2015-07-08 10:07:59 +02:00
Sebastian Huber
3e02a472ba
bsp/qoriq: Enable branch prediction for T series
2015-07-08 10:07:59 +02:00