Commit Graph

28393 Commits

Author SHA1 Message Date
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
Sebastian Huber
994d7e12b5 bsp/qoriq: Use -O2 for T series 2015-07-08 10:07:59 +02:00
Sebastian Huber
4c6843168d powerpc: Add BUCSR register defines 2015-07-08 10:07:59 +02:00
Jan Sommer
e77f625401 RaspberryPi: Use rtems_configuration_get_microseconds_per_tick to set clock counter
timer interrupt was hard coded to 10 ms per tick.
    Fix uses the setting of CONFIGURE_MICROSECONDS_PER_TICK to compute the correct start value for the counter
    See for more information: http://permalink.gmane.org/gmane.os.rtems.user/22691
2015-07-07 16:01:28 -05:00
Sebastian Huber
635ed82a12 bsp/qoriq: Update due to API changes 2015-07-01 11:13:50 +02:00
Sebastian Huber
372bee84a1 score: Simplify _SMP_ticket_lock_Release()
Add a SMP lock statistics pointer to SMP_lock_Stats_context and drop the
SMP lock statistics parameter from _SMP_ticket_lock_Release().
2015-07-01 08:28:01 +02:00
Sebastian Huber
f59f2fe93e score: Accept NULL pointer in _Freechain_Put()
With this a _Freechain_Put( _Freechain_Get() ) works always.
2015-07-01 08:24:45 +02:00
Sebastian Huber
fdb45d6b26 score: Freechain handler API changes
Replace the extend function with an allocator since this fits better
to the current use case.
2015-07-01 08:24:31 +02:00
Sebastian Huber
cb2b8f02dd doc: Fix interrupt level ARM documentation 2015-06-26 21:39:16 +02:00
Sebastian Huber
d84408a9aa doc: Update ARM documentation 2015-06-26 21:28:06 +02:00
Sebastian Huber
32005a7284 bsp/mpc55xxevb: Fix configure script
This was the only configure.ac file with bspopts.h present in
AC_CONFIG_FILES().  This somehow prevented the generation of this file
leading to build errors for this BSP.
2015-06-26 09:40:24 +02:00
Sebastian Huber
27f08f5b72 bsps/arm: Update due to API changes 2015-06-26 09:40:03 +02:00
Sebastian Huber
d811daca69 score: Hide SMP lock profiling impl if disabled
The problem is that empty structures have a different size in C and C++.
2015-06-26 09:22:41 +02:00
Sebastian Huber
5f31bbe105 libmisc: Simplify <rtems/stackchk.h>
Drop the <rtems/score/percpu.h> include since this file exposes a lot of
implementation details.
2015-06-26 09:16:29 +02:00
Sebastian Huber
96316d1b50 score: Simplify <rtems/score/scheduler.h>
Drop the <rtems/score/percpu.h> include since this file exposes a lot of
implementation details.
2015-06-26 09:16:29 +02:00