Commit Graph

30591 Commits

Author SHA1 Message Date
Sebastian Huber
cd7991b8df bsps/powerpc: Fix warning 2017-07-28 13:50:12 +02:00
Sebastian Huber
9379c705a8 bsps/sparc64: Fix warning 2017-07-28 13:40:45 +02:00
Sebastian Huber
1d894f5528 untar: Fix compile error 2017-07-28 13:34:46 +02:00
Sebastian Huber
f1355f2211 untar: Fix use of uninitialized variable 2017-07-28 13:31:51 +02:00
Sebastian Huber
9d1522ed32 Fix IO control request type 2017-07-28 13:28:11 +02:00
Sebastian Huber
0684f3592b bsp/i386: Fix warning 2017-07-28 13:10:19 +02:00
Sebastian Huber
fd3437c1af bsp/gen5200: Fix warnings 2017-07-28 13:06:55 +02:00
Sebastian Huber
a9f5812505 bsp/qoriq: Fix warning 2017-07-28 13:06:41 +02:00
Sebastian Huber
7f1e6fa369 libtests/block08: Fix format warning 2017-07-28 12:19:05 +02:00
Sebastian Huber
0db7c550ac bsp/qoriq: New BSP names
Due to the FDT support we can now reduce the BSP variants.  Use the
processor core to define the BSP variants.

Update #3082.
Update #3085.
2017-07-28 10:12:36 +02:00
Sebastian Huber
b615e9b3ee bsp/qoriq: Simplify initialization
Do not flush/invalidate the caches. Instead enable the cache during the
low-level initialization and perform an explicit cache flush for the
read-only and fast-text sections.

Update #3082.
Update #3085.
2017-07-28 10:12:28 +02:00
Joel Sherrill
3fd019739f psxmmap01/test_helper.c: Use correct printf format for size_t 2017-07-27 17:29:24 -05:00
Joel Sherrill
3a3d85c606 psxmmap01/test_driver.c: Fix mmap_h handler type mismatch 2017-07-27 17:29:02 -05:00
Sebastian Huber
146adb1edf sparc: Add lazy floating point switch
The SPARC ABI is a bit special with respect to the floating point context.
The complete floating point context is volatile.  Thus, from an ABI point
of view nothing needs to be saved and restored during a context switch.
Instead the floating point context must be saved and restored during
interrupt processing.  Historically, the deferred floating point switch was
used for SPARC and the complete floating point context is saved and
restored during a context switch to the new floating point unit owner.
This is a bit dangerous since post-switch actions (e.g. signal handlers)
and context switch extensions may silently corrupt the floating point
context.

The floating point unit is disabled for interrupt handlers.  Thus, in case
an interrupt handler uses the floating point unit then this will result in a
trap (INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT).

In uniprocessor configurations, a lazy floating point context switch is
used.  In case an active floating point thread is interrupted (PSR[EF] == 1)
and a thread dispatch is carried out, then this thread is registered as the
floating point owner.  When a floating point owner is present during a
context switch, the floating point unit is disabled for the heir thread
(PSR[EF] == 0).  The floating point disabled trap checks that the use of the
floating point unit is allowed and saves/restores the floating point context
on demand.

Update #3077.
2017-07-25 11:41:12 +02:00
Sebastian Huber
600d88dfd7 INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT
Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT.

Update #3077.
2017-07-25 11:41:11 +02:00
Sebastian Huber
a400d06f48 sparc: Rename SPARC_USE_SAFE_FP_SUPPORT
Rename SPARC_USE_SAFE_FP_SUPPORT in SPARC_USE_SYNCHRONOUS_FP_SWITCH.
Update comment.

Update #3077.
2017-07-25 11:41:11 +02:00
Sebastian Huber
b2e1bded07 score: Add optional _CPU_Context_Destroy()
Update #3077.
2017-07-25 11:41:10 +02:00
Sebastian Huber
671efc50a3 bsp/leon2: Add at697f variant 2017-07-25 11:41:10 +02:00
Sebastian Huber
9f84bdb09a bsp/leon2: Use hard-float by default 2017-07-25 11:41:09 +02:00
Gedare Bloom
c6d897e544 posix: fix warnings with mmap from heap/wkspace
Avoid void pointer arithmetic.

Updates #2859.
2017-07-24 15:11:00 -04:00
Gedare Bloom
b264998fa9 posix: replace mmap mappings lock with libio lock
Use the libio mutex lock instead of the mmap mappings lock.

Updates #2859.
2017-07-24 14:46:49 -04:00
Sebastian Huber
1c256e6fbe tmtests/tmcontext01: Prevent GCC 7.1 optimizations
It is getting harder to prevent the compiler from optimizing away the
recursive function calls.
2017-07-20 11:39:07 +02:00
Sebastian Huber
b965f461a8 posix: Use unprotected chain operations
Operarations are already protected by mmap_mappings_lock.

Updates #2859.
2017-07-20 07:26:27 +02:00
Kevin Kirspel
bb01a36dfb Fixed issue with searching mapped addresses
The loop that checks if the current address is already mapped uses
the same local variable for the chanin node as the newly allocated
chain node so the allocated chain node gets over written.

Added a new local variable for the loop that checks the address

Updates #2859.
2017-07-20 07:25:43 +02:00
Sebastian Huber
5f1ae90e18 sptests/sptls02: Use standard test IO
Update #3076.
2017-07-19 16:01:09 +02:00
Sebastian Huber
7ed8ad0adb bsps/sparc: Fix cache support
Fix infinite loop in rtems_invalidate_multiple_instruction_lines().
Implement this function.

Close #3080.
2017-07-19 15:55:44 +02:00
Sebastian Huber
0ea7ca9ea8 sptests/spcache01: Use standard test IO
Update #3076.
2017-07-19 15:55:44 +02:00
Sebastian Huber
a0271a704b tests: Use floating point task
These tests directly or indirectly use fprintf(), etc. which may use the
floating point unit.

Update #3076.
2017-07-19 15:55:43 +02:00
Sebastian Huber
734444ce62 libchip: Fix format warning 2017-07-19 14:38:00 +02:00
Sebastian Huber
dcc3ccc0a0 bsps: Fix warning
Update #3071.
2017-07-19 14:38:00 +02:00
Sebastian Huber
96ce1ec743 smptests/smpscheduler02: Remove invalid assert
Update #3059.
2017-07-19 13:03:13 +02:00
Sebastian Huber
7ad82395c4 smptests/smpscheduler01: Use right scheduler
Update #3063.
2017-07-19 12:58:55 +02:00
Sebastian Huber
6f46848079 tests: Use floating point task
These tests directly or indirectly use fprintf(), etc. which may use the
floating point unit.

Update #3076.
2017-07-19 11:57:01 +02:00
Sebastian Huber
852d7059b6 score: Fix warning
Update #3059.
2017-07-18 14:38:33 +02:00
Sebastian Huber
07e178005a tests: Use floating point task
These tests directly or indirectly use fprintf(), etc. which may use the
floating point unit.

Update #3076.
2017-07-18 14:14:34 +02:00
Sebastian Huber
b682f4cb21 dumpbuf: Simplify rtems_print_buffer()
This avoids an unnecessary use of the floating point unit.

Update #3076.
2017-07-18 14:13:48 +02:00
Sebastian Huber
533ac1126c tests: Use more integer print functions
This avoids an unnecessary use of the floating point unit.

Update #3076.
2017-07-18 14:13:47 +02:00
Sebastian Huber
08586e5b94 ftpd: Use floating point tasks
Update #3076.
2017-07-18 14:13:47 +02:00
Sebastian Huber
9598e737f6 i2c: Point to most relevant Linux documentation 2017-07-17 08:27:19 +02:00
Daniel Cederman
4debaca6d2 bsps/sparc: Add leon3 BSP variants
Rename NGMP to GR740 and add configs for UT699, UT700, and GR712RC

The UT699 requires -mcpu=leon as it does not support the CAS instruction
provided by -mcpu=leon3. It also requires -mfix-ut699 for errata fixes.

UT700 and GR712RC requires the -mfix-ut700 and -mfix-gr712rc flags that
have been recently added to GCC's master and 7-branch.

Remove -msoft-float from the leon3 config to make the more common case
of using the FPU the default.

Update #3057.
2017-07-17 07:43:20 +02:00
Daniel Cederman
2f8704b6c8 sparc: Add assembly workaround for LEON3FT B2BST errata
This patch adds NOP instructions to prevent instruction sequences
that are sensitive to the LEON3FT B2BST errata. See GRLIB-TN-0009:
"LEON3FT Stale Cache Entry After Store with Data Tag Parity Error"
for more information.

The sequences are only modified if __FIX_LEON3FT_B2BST is defined.

The patch works in conjunction with the -mfix-ut700, -mfix-gr712rc,
and -mfix-ut699 GCC flags that prevents the sensitive sequences from
being generated.

Update #3057.
2017-07-17 07:41:38 +02:00
Kevin Kirspel
1549beb15b psxtests: Add a mmap dedicated test case
Updates #2859
2017-07-14 16:04:05 -04:00
Kevin Kirspel
c6bb1c33bc posix/mmap: Add support for file handler and MAP_ANON
Added a mmap file handler to struct _rtems_filesystem_file_handlers_r.
Updated each file handler object to support the default mmap handler.
Updated mmap() to call the mmap handler for MAP_SHARED.
Added a mmap file handler for shm

Added support for MAP_ANON in mmap().

Updates #2859
2017-07-14 16:04:05 -04:00
Sebastian Huber
e19da87ad7 bsps: Include missing header file
Update #3071.
2017-07-12 10:56:20 +02:00
Sebastian Huber
e2623038f0 score: Fix typo
Update #3059.
2017-07-12 10:44:57 +02:00
Sichen Zhao
f6115d7cd2 bsp/beagle: Add FDT support for Beaglebone Black 2017-07-12 08:38:20 +02:00
Sebastian Huber
af207fa9f6 Add interrupt vector set/get affinity
Close #3071.
2017-07-12 08:00:13 +02:00
Sebastian Huber
ccc87c8b9e Add interrupt server move
Update #3071.
2017-07-12 07:46:55 +02:00
Sebastian Huber
d1841406b3 Add interrupt server set affinity
Update #3071.
2017-07-12 07:46:52 +02:00
Sebastian Huber
a961e1980c Add interrupt server suspend/resume
This mechanism can be used to safely move the interrupt server from one
scheduler instance to another for example.

Update #3071.
2017-07-12 07:46:49 +02:00