Commit Graph

30613 Commits

Author SHA1 Message Date
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
Sebastian Huber
3e7827434d arm: Fix ARMv7-M interrupt processing
Right after a "msr basepri_max, %[basepri]" instruction an interrupt
service may still take place (observed at least on Cortex-M7).  However,
pendable service calls that are activated during this interrupt service
may be delayed until interrupts are enable again.  The
_ARMV7M_Pendable_service_call() did not check that a thread dispatch is
allowed.  Move this test from _ARMV7M_Interrupt_service_leave() to
_ARMV7M_Pendable_service_call().

Update #3060.
2017-07-04 15:15:37 +02:00
Sebastian Huber
550616e528 score: Add assert to _Thread_Dispatch()
Update #3060.
2017-07-04 15:15:10 +02:00
Sebastian Huber
9b07f5efe3 newlib01: Use fopen() instead of freopen()
With global stdio streams, a freopen() would close the global stream
object.

Update #3012.
2017-06-30 14:57:25 +02:00
Sebastian Huber
7adf4941a8 smptests/smpschededf01: New test
Update #3056.
2017-06-29 15:21:30 +02:00
Sebastian Huber
7f7a3e8f70 tests: Move busy loop to test support
Update #3056.
2017-06-29 14:36:58 +02:00