Commit Graph

28367 Commits

Author SHA1 Message Date
hselasky
b5b8116d20 timecounter: Synchronize with FreeBSD
Add mutex support to the pps_ioctl() API in the kernel.
Bump kernel version to reflect structure change.

PR:		196897
MFC after:	1 week
2015-06-09 14:56:02 +02:00
Sebastian Huber
2ccd150d28 sptests/sptimecounter03: New test 2015-06-09 14:56:02 +02:00
Sebastian Huber
7919f70e8f score: Fix compiler memory barriers for atomic ops 2015-06-09 14:56:02 +02:00
Sebastian Huber
30f8412ab3 bsps/sparc: tlib clock driver timecounter support 2015-06-09 10:01:50 +02:00
Sebastian Huber
b88d346fbd sptests/spcontext01: Add second volatile clobber
Do a volatile clobber in the context switch extension to cover the path
through _Thread_Do_dispatch() invoked after interrupt processing.
2015-06-09 09:28:36 +02:00
Sebastian Huber
a51b3526ea sparc: Add SPARC_USE_SAFE_FP_SUPPORT
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 is
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.

On SMP configurations the deferred floating point switch is not
supported in principle.  So use here a safe floating point support.  Safe
means that the volatile floating point context is saved and restored
around a thread dispatch issued during interrupt processing.  Thus
post-switch actions and context switch extensions may safely use the
floating point unit.

Update #2270.
2015-06-09 09:05:50 +02:00
Sebastian Huber
335e5caa9a score: Add Thread_Control::is_fp
Store the floating-point unit property in the thread control block
regardless of the CPU_HARDWARE_FP and CPU_SOFTWARE_FP settings.  Make
sure the floating-point unit is only enabled for the corresponding
multilibs.  This helps targets which have a volatile only floating point
context like SPARC for example.
2015-06-09 09:05:50 +02:00
Sebastian Huber
b276507552 sptests/spcontext01: Improve output 2015-06-03 10:07:23 +02:00
Sebastian Huber
f455cdeabe rtems: Change CONTEXT_FP_SIZE define
Define CONTEXT_FP_SIZE to zero in case hardware and software floating
point support is disabled.  The problem is that empty structures have a
different size in C and C++.  In C++ they have a non-zero size leading
to an overestimate of the workspace size.
2015-06-03 09:20:51 +02:00
Sebastian Huber
43d7005829 smptests/smpscheduler02: Reduce required CPU count 2015-06-03 09:19:34 +02:00
Sebastian Huber
2c14e67342 smptests/smpmrsp01: Reduce required CPU count 2015-06-03 09:19:34 +02:00
Sebastian Huber
f48b73deb6 smptests/smpscheduler03: Use proper lock 2015-06-03 09:19:34 +02:00
Sebastian Huber
863dcf458b score: Remove assert
With the introduction of fine grained locking there is no longer a
one-to-one connection between the Giant lock nest level and the thread
dispatch disable level.
2015-06-03 09:19:34 +02:00
Sebastian Huber
f9a2d36455 posix: Fix _POSIX_Timer_Insert_helper() locking
Close #2358.
2015-06-03 09:18:52 +02:00
Alexander Krutwig
2764bd43d0 sparc: Disable FPU in interrupt context
Update #2270.
2015-05-30 16:46:36 +02:00
Sebastian Huber
1f6cdba6e1 sparc: Remove superfluous FP enable
The FP context save/restore makes only sense in the context of FP
threads.

Update #2270.
2015-05-30 16:46:36 +02:00
Sebastian Huber
8a1dc71b8e sparc: Avoid new window for FP save/restore
Update #2270.
2015-05-30 16:46:34 +02:00
Sebastian Huber
18d18e1c4b tmtests/tm26: Fix context switch to FP task
It is wrong to restore the floating point context here.  The
_Context_Switch() ends up in _Thread_Handler() which will call
_Thread_Restore_fp().  In _Thread_Do_dispatch() the FP restore is after
the context switch.
2015-05-29 21:20:31 +02:00
Sebastian Huber
b17fb17a56 Revert "tmtests/tm26: Avoid NULL pointer access"
There is no NULL pointer access.  Please note that
_Thread_Get_executing() != executing variable in Low_task().

This reverts commit 5611839a7e.
2015-05-29 17:51:38 +02:00
Alexander Krutwig
4a5a45045a sparc: Improve _CPU_Context_validate()
Write the pattern only once to the entry register window and the
floating point registers.

Update #2270.
2015-05-29 15:36:40 +02:00
Sebastian Huber
5611839a7e tmtests/tm26: Avoid NULL pointer access 2015-05-29 15:06:53 +02:00
Sebastian Huber
8f6a31459c posix: Fix clock_gettime()
The _TOD_Get_zero_based_uptime_as_timespec() returns already the right
value.
2015-05-29 15:03:46 +02:00
Sebastian Huber
aff220db7a bsps/powerpc: Fix potential integer overflow
Update #2356.
2015-05-29 08:59:59 +02:00
Ben Gras
3b8e3953c7 MAINTAINERS: added self 2015-05-28 14:41:37 +02:00
ragunath
d55d7a067f beagle bsp: RTC support for BBB 2015-05-28 14:41:37 +02:00
Gedare Bloom
92422be16c dosfs: avoid buffer-overread. closes #2292. 2015-05-27 11:21:12 -04:00
Sebastian Huber
9d0913d16c libtests/i2c01: Avoid stack overflow 2015-05-27 12:48:53 +02:00
Sebastian Huber
ec84273de4 score: Replace _API_Mutex_Is_locked()
Replace _API_Mutex_Is_locked() with _API_Mutex_Is_owner().
2015-05-27 12:24:24 +02:00
Sebastian Huber
ffe14b26c8 sapi: Fix workspace size estimate
Reserve a full minimum block to account for the heap protection enabled
via RTEMS_DEBUG.
2015-05-27 10:46:30 +02:00
Sebastian Huber
3f1bf0ce4b sapi: Fix workspace size estimate 2015-05-27 09:04:25 +02:00
Sebastian Huber
67901a8265 sapi: Simplify confdefs.h
The _Configure_From_workspace() already takes care that zero size
allocations contribute nothing to the workspace size estimate.
2015-05-27 08:55:51 +02:00
Sebastian Huber
ee4e7f09b4 jffs2: Move into separate library
In case the zlib compression was used, then the librtemscpu.a depended
on libz.a.  To avoid a GCC patch or complicated link flags move the
JFFS2 support into a separate library to use a simple "-ljffs2 -lz" to
link the executable.
2015-05-27 08:53:05 +02:00
Hesham ALMatary
5774c41455 generic_or1k: Fix a typo in a comment 2015-05-26 11:34:06 -05:00
Hesham ALMatary
5b1a10a01c generic_or1k: Use the correct bsp_specs file 2015-05-26 11:34:06 -05:00
Jan Dolezal
6f79310889 i386/pc386: default graphics driver changed from VGA to VESA based
basic VGA driver can be enabled during configure phase by exporting variable
USE_VGA=1 so that it is available in configure environment
cirrus driver is enabled the same way by exporting variable
USE_CIRRUS_GD5446=1
2015-05-26 11:26:54 -05:00
Jan Dolezal
56399c3bc8 i386/pc386/VESA framebuffer driver: modified and extended initialization options
driver is not initialized by default
initialization is possible through multiboot command line option or
through the string variable (see fb_default_mode.h) set in user's module
allowing the driver to evaluate this variable after the two
modules are linked together
2015-05-26 11:26:46 -05:00
Joel Sherrill
7c5f37d1af Merge branch 'master' of ssh://dispatch.rtems.org/data/git/rtems 2015-05-26 10:17:03 -05:00
Sebastian Huber
76030c703b sparc: Add static assertion 2015-05-26 14:13:44 +02:00
Sebastian Huber
422de7f77d sparc: Delete unused CONTEXT_CONTROL_SIZE 2015-05-26 14:09:11 +02:00
Sebastian Huber
139c0dce69 sparc: Delete unused ISF_STACK_FRAME_OFFSET 2015-05-26 14:08:11 +02:00
Sebastian Huber
fedc682870 sparc: Add static offset assertions 2015-05-26 14:05:57 +02:00
Alexander Krutwig
cba07fcc7a sptests/spcontext01: Test deferred FP context 2015-05-26 10:29:38 +02:00
Sebastian Huber
10454223a9 bsps/sparc: Delete unused local labels 2015-05-26 10:02:27 +02:00
Sebastian Huber
26ffb8c21c bsps/sparc: Change tabs to spaces 2015-05-26 10:02:11 +02:00
Sebastian Huber
1cfae28722 rtems/endian.h: Reduce header dependencies 2015-05-22 08:20:41 +02:00
Joel Sherrill
24acc6d0c0 Merge branch 'master' of ssh://dispatch.rtems.org/data/git/rtems 2015-05-21 18:08:32 -05:00
Hesham ALMatary
10504d3ca4 doc: Add new documentation section for Epiphany architecture 2015-05-21 16:03:34 -04:00
Hesham ALMatary
6f71dcb7cd Epiphany: Add the first epiphany_sim BSP v4
This BSP in intended to run on the simulator that should be built
from RSB. When building RTEMS for Epiphany --disable-networking must
be provided part of the configure command.
2015-05-21 16:03:34 -04:00
Hesham ALMatary
66a5000d78 cpukit: Add Epiphany architecture port v4 2015-05-21 16:03:34 -04:00
Joel Sherrill
63c68cfcaf region*.c: Ensure return_status is set when RTEMS_MULTIPROCESSING is enabled 2015-05-21 08:28:58 -07:00