Commit Graph

26782 Commits

Author SHA1 Message Date
Hesham ALMatary
c080c3434b or1k: New cache manager.
Implement new cache functions for or1k and create new bspstart function
for or1ksim to initialize instruction and data caches. Also, sim.cfg
is modified to enable/confiure cache units.
2014-09-16 12:46:42 -05:00
Hesham ALMatary
bbecf04172 or1ksim: Update README
Modify README to provide instruction on how to run or1ksim BSP on
latest or1ksim emulator built from github repo and add commands
to run or1ksim BSP on QEMU.
2014-09-16 09:53:28 -05:00
Hesham ALMatary
d2c7616057 or1ksim: Implement cpu counter functions. 2014-09-16 09:53:05 -05:00
Hesham ALMatary
e0aef221a2 score/cpu/or1k: Follow no_cpu ISR_Handler algorithm.
This patch adjusts ISR_Handler to exactly follow the pseudo code introduced
in
http://rtems.org/onlinedocs/doc-current/share/rtems/html/porting/Interrupts-Interrupt-Dispatching.html
It adds two new checkings on _Thread_Dispatch_disable_level and _ISR_Nest_level
after returning from the C handler.
2014-09-16 09:53:01 -05:00
Hesham ALMatary
5f56d2679a or1ksim: work-around to make or1ksim tick timer accurate.
This patch avoids unexpected behavior when initializing tick timer registers.
Initializing these registers fires unexpected exceptions and interrupts even
though RTEMS has not enabled interrupts yet. So, a little long interval added
to allow RTEMS to finish the remaining initialization work before running the
application. The tick timer interval is adjusted to reflect an accurate
timing for RTEMS applications.
2014-09-16 09:52:58 -05:00
Hesham ALMatary
eb14fc2b2e OpenRISC: Account for red-zone (fixup printf bug).
This patch allocate a space in the stack to account for red-zone
that gcc may utilize for the use of leaf functions. Care must be
taken to handle this red-zone from many places:
1- Upon creation of a new thread stack.
2- Once an interrupt entred.

Also moving the enable-thread-dispach() and increment ISR level before
checking if dispatch needed was required.

The previous modifications solved the printf bug which disabled ticker
to output strings after context switches that arise from Thread_Delay_ended.
2014-09-16 09:52:56 -05:00
Sebastian Huber
7f8a978e6b sptests/sp07: Minimize thread dispatch latency
Do not use sprintf() in thread dispatch critical sections to avoid
corruption of profiling samples.  Update test to reflect thread the life
cycle changes.
2014-09-16 15:43:15 +02:00
Daniel Cederman
6e1206ab46 smptests/smpcache01: Remove invalidation of data cache lines from test
Invalidation of entire data cache might cause data written to the stack
to get lost.
2014-09-16 10:29:42 +02:00
Chris Johns
fc9f8f5085 doc: Sort the shell file commands into alphabetical order. 2014-09-16 15:19:58 +10:00
Chris Johns
b299960aed shell: Add an md5 hash command for files.
This command lets you get an MD5 hash for a file in an RTEMS file system.
2014-09-16 15:19:58 +10:00
Chris Johns
ebf9a057b5 libmisc: Add a stdio redirector helper.
This module makes it easy to redirect and capture stdout, stderr or any
other fd in your application.

The captured data can be sent off board, for example using syslog,
or buffered and displayed in a web page.
2014-09-16 15:19:58 +10:00
Chris Johns
a8fa078f1e shell: Add a ping command.
The ping code is taken from a recent FreeBSD release. Some options have been
tested, other not tested or do not work. This could be due to the age of
our TCP/IP stack.

This version of ping will not work if more than 64 file descriptors are
open at once because the select FD size is 64 as set in newlib.
2014-09-16 15:19:58 +10:00
Sebastian Huber
1434dbd6eb doc: Clarify ABI in SPARC CPU supplement 2014-09-12 16:13:55 +02:00
Sebastian Huber
f9eca790ac sptests/spintrcritical_support: Optimize busy loop 2014-09-12 16:06:29 +02:00
Sebastian Huber
73b5d8bf20 sptests/spintrcritical10: Avoid undefined memory 2014-09-12 16:06:26 +02:00
Sebastian Huber
74493f053e bsps/arm: Delete obsolete compiler flags
These flags are obsolete with the EABI based ARM tool chain.
2014-09-11 15:05:32 +02:00
Sebastian Huber
4c9f02d3b3 dosfs: Check error status 2014-09-11 13:04:42 +02:00
Sebastian Huber
c48cf0bd0c score: Rename _BSP_Exception_frame_print()
Rename _BSP_Exception_frame_print() to _CPU_Exception_frame_print() to
be in line with other CPU port functions.
2014-09-11 09:10:16 +02:00
Sebastian Huber
6e0000ca61 powerpc: Delete PPC_BSP_HAS_FIXED_PR288 2014-09-11 09:07:36 +02:00
Sebastian Huber
f3508c44b5 tmtests/tmcontext01: Improve cache dirty function
Increment by cache line size to allow more cycles per second.
2014-09-11 07:33:16 +02:00
Sebastian Huber
ecf64a5eb9 bsps/arm: Add a9mpcore_clock_initialize_early()
This is necessary to use the CPU counter converter even in case no clock
driver is present, e.g. in tmcontext01.
2014-09-10 16:17:02 +02:00
Hesham ALMatary
0facefc30f or1k: Let CPU/BSP Fatal handler have access to source
This patchs follows the latest commit by Daniel Hellstrom that
requires _CPU_Fatal_halt to have _source passed to it along with
_error number.
2014-09-10 15:10:41 +02:00
Sebastian Huber
e09f8b0808 sptests/spfatal07: Fix end of test message 2014-09-10 14:46:03 +02:00
Daniel Hellstrom
f82752a474 Let CPU/BSP Fatal handler have access to source
Without the source the error code does not say that much.
Let it be up to the CPU/BSP to determine the error code
reported on fatal shutdown.

This patch does not change the current behaviour, just
adds the option to handle the source of the fatal halt.
2014-09-10 14:06:08 +02:00
Sebastian Huber
12ab8d67e4 bsps/arm: Fix get cache size 2014-09-10 11:29:54 +02:00
Sebastian Huber
4768ae0feb bsps/arm: Fix invalidate instruction cache
Do not invalidate the entire L2 cache since it is a uniform cache in
_CPU_cache_invalidate_entire_instruction().  For consitency do not touch
the L2 cache even for the range function
_CPU_cache_invalidate_instruction_range().
2014-09-10 11:29:54 +02:00
Sebastian Huber
0cd13bce67 bsp/altera-cyclone-v: Add BSP_USE_UART_INTERRUPTS 2014-09-10 10:43:48 +02:00
Sebastian Huber
90f44cd2dd bsps/arm: Fix GIC tm27 support 2014-09-10 10:43:41 +02:00
Federico Casares
f59e64f268 arm/lpc176x: Adding "eth" linker script section. 2014-09-10 07:12:55 +02:00
Sebastian Huber
4984ee4aa2 sptests/sp39: Convert to sptests/spintrcritical21
Use interrupt critical section test support.  Do not print end of test
message in case of failure.
2014-09-10 07:12:55 +02:00
Sebastian Huber
b5f9ad2952 psxtests/psxonce01: Use test extension 2014-09-10 07:12:55 +02:00
Sebastian Huber
5674767fd8 bsp/qoriq: Fix tm27 support 2014-09-10 07:12:55 +02:00
Sebastian Huber
8028089000 tests: Rework interrupt critical tests
This avoids test durations of more than one hour on fast targets, since
fast targets can count a lot during one clock tick period, so the minor
loop iteration count was quite high.  Estimate now the test body
duration to iterate only through the interesting time window.

Add and use interrupt_critical_section_test().
2014-09-10 07:12:55 +02:00
Pavel Pisa
80ad7090ab score: More strict RTEMS_DEQUALIFY implementation.
This implementation is able to catch cast to type
which differs not only in qualifiers. The error
diagnostic message when used in function is self
descriptive. Macro is compatible with used in initializers
but there message about not constant initial value
signals types incompatibility.

The actual implementation does not distinguish between
volatile and const removal.
2014-09-08 14:17:04 +02:00
Sebastian Huber
6821a629c3 Add -std=gnu++11 to CXXFLAGS if SMP is enabled
This is necessary to use the <atomic> header file used for the atomic
operations.
2014-09-08 11:13:53 +02:00
Sebastian Huber
d11e6efec5 clockdrv_shell.h: Fix warning 2014-09-08 09:50:35 +02:00
Sebastian Huber
8d30713d42 tmtests/tmcontext01: Improve cache dirty function 2014-09-08 07:53:03 +02:00
Sebastian Huber
33676c8c2b doc/arm: Update floating point unit support 2014-09-08 07:53:03 +02:00
Sebastian Huber
b8662cf632 bsps/arm: Do not build unused file 2014-09-08 07:53:03 +02:00
Sebastian Huber
b802353c33 bsp/leon3: Include missing header file 2014-09-08 07:53:03 +02:00
Sebastian Huber
07b4594cb4 sptests/spcontext01: Fix warning 2014-09-08 07:53:02 +02:00
Sebastian Huber
05ac47d75e posix: Use RTEMS_DECONST() 2014-09-08 07:53:02 +02:00
Sebastian Huber
4d5250c165 posix: Fix warning 2014-09-08 07:53:02 +02:00
Sebastian Huber
8dab980932 libcsupport: Use RTEMS_DECONST() 2014-09-08 07:53:02 +02:00
Sebastian Huber
ddf8d1297f libchip/dwmac: Use RTEMS_DEVOLATILE() 2014-09-08 07:53:02 +02:00
Sebastian Huber
a72f16e47b score: Add RTEMS_DECONST|DEVOLATILE|DEQUALIFY() 2014-09-08 07:53:02 +02:00
Jennifer Averett
2a86615b98 capture: Add support for variable length records. 2014-09-05 06:50:29 -05:00
Jennifer Averett
133962bf2f capture: Split user extension methods out. 2014-09-05 06:50:29 -05:00
Sebastian Huber
b2356837db tmtests/tmcontext01: Plot a legend 2014-09-05 08:24:52 +02:00
Chris Johns
960c9f0298 tools: Remove invalid cpp characters from the header guards.
The waf converter in examples-v2 uses an absolute path and this
creates defines with invalid characters.
2014-09-05 13:29:45 +10:00