Commit Graph
30568 Commits
Author SHA1 Message Date
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
Sebastian Huber e7ee719f79 Create one interrupt server per processor
This allows load balancing of interrupt processing in SMP
configurations.

Update #3071.
2017-07-12 07:46:40 +02:00
Sebastian Huber ecabd38496 rtems: Add rtems_scheduler_ident_by_processor_set
Update #3070.
2017-07-11 14:16:59 +02:00
Sebastian Huber 548d65a52b rtems: Add rtems_scheduler_ident_by_processor()
Update #3069.
2017-07-11 14:16:58 +02:00
Sebastian Huber c29eb085f2 bsps/sparc: Fix ambapp_int_set_affinity()
Update #3059.
2017-07-11 14:15:47 +02:00
Sebastian Huber 3b14e7aa6e rtems: Fix warning
Update #3059.
2017-07-11 13:51:10 +02:00
Sebastian Huber 21389c0613 score: Make EDF the default SMP scheduler
The EDF SMP scheduler supports simple thread processor affinities
(see #3059) with a small run-time overhead. The current default SMP
scheduler lacks support for thread processor affinities at all. The EDF
SMP scheduler offers a good feature set for most applications. So, use
it by default. Run-time libraries like libgomp, MTAPI, work stealing
schedulers, language interpreters (e.g. Erlang virtual machine),
maintainence of per-processor data (e.g. Universal Memory Allocator
(UMA)), etc. use a one-to-one thread processor affinity for example.

Update #3063.
2017-07-10 07:49:40 +02:00
Sebastian Huber 4a1bdd3045 score: Fix set scheduler
Ensure that the thread processor affinity fits the new scheduler
instance.

Update #3059.
2017-07-10 07:49:40 +02:00
Sebastian Huber 34487537ce score: Add simple affinity support to EDF SMP
Update #3059.
2017-07-10 07:49:36 +02:00
Sebastian Huber d19dc071a2 score: Pass scheduler nodes to processor allocator
This allows scheduler implementations to easily access
scheduler-specific data.

Update #3059.
2017-07-07 09:40:06 +02:00
Sebastian Huber e745ec59d8 smptests/smpstrongapa01: Simplify
Update #3059.
2017-07-07 07:56:25 +02:00
Sebastian Huber 197a614209 score: Add scheduler node to set affinity op
Update #3059.
2017-07-07 07:56:24 +02:00
Sebastian Huber 16347a6b39 score: Fix default set affinity
The set of online processors must be a subset of the thread processor
affinity for the schedulers without arbitrary processor affinity support
to avoid problems in case of processor addition and removal.

Update #3059.
2017-07-07 07:56:24 +02:00
Sebastian Huber 76d119857f score: Introduce _SMP_Get_online_processors()
Update #3059.
2017-07-07 07:55:03 +02:00
Sebastian Huber 0232b28df1 score: Use processor mask for set affinity
Update #3059.
2017-07-07 07:36:31 +02:00
Sebastian Huber 1ec9c86fb6 rtems: Fix rtems_scheduler_remove_processor()
Account for the thread processor affinity and make sure that it is
possible to allocate a processor to each thread dedicated to a scheduler
instance.

Update #3059.
2017-07-07 07:28:35 +02:00
Sebastian Huber 6b1d8c7865 score: Add processor set to scheduler context
Replace the simple processor count with the processor set owned by the
scheduler instance.

Update #3059.
2017-07-07 07:28:35 +02:00
Sebastian Huber 78515554fd score: Move processor affinity to Thread_Control
Update #3059.
2017-07-07 07:28:29 +02:00
Sebastian Huber 6223097a8d score: Add some processor mask functions
Update #3059.
2017-07-06 15:32:48 +02:00
Sebastian Huber 7a5e4d9477 score: Add processor mask to/from cpu_set_t
Update #3059.
2017-07-06 15:29:27 +02:00
Sebastian Huber 3dfe55ee15 score: Use <sys/bitset.h> for Processor_mask
Implement the Processor_mask via <sys/bitset.h>.  Provide
_Processor_mask_To_uint32_t() to enable its use in device specific
routines, e.g. interrupt affinity register in an interrupt controller.

Update #3059.
2017-07-06 15:29:16 +02:00
Sebastian Huber 71943dd4d2 xz: Suppress attribute warnings
Update #2909.
2017-07-05 08:15:34 +02:00
Sebastian Huber fab446f03f score: Fix format 2017-07-05 08:10:11 +02:00
Sebastian Huber 4cd52cc456 score: Avoid clash with <strings.h> provided fls() 2017-07-05 08:08:24 +02:00