_arch_from_arch_bsp() and _bsp_from_arch_bsp() has overly optimistic
assumptions that the argument must contain a '-'-separated field which
starts with "rtems". These functions are intended to find the target
triplet or the bsp parts of strings like "sparc-gaisler-rtems5-leon3"
and "arm-rtems6-xili
Rework the splitting of arch and bsp to rely on the last field in the
arch section starting with "rtems", instead of relying on the arch being
exactly two fields in size.
This makes sure that toolchains with a vendor field in their target
triplet can be used with this build system.
Toolchains pro
Rework the splitting of arch and bsp to rely on the last field in the
arch section starting with "rtems", instead of relying on the arch being
exactly two fields in size.
This makes sure that toolchains with a vendor field in their target
triplet can be used with this build system.
Toolchains pro
Regenerate message queue directives from the rtems-central spec in
order
to include the detailed note about non-atomicity of broadcast.
This file is selectively added, other changes in generated files are
omitted.
Update #4804.
---
c-user/message/directives.rst | 8
1 file changed, 8 in
rtems_message_queue_broadcast() is not atomic, since it unblocks each
task after copying the message into their message buffer. So remove the
wording indicating that it is atomic.
Also reword the overall description slightly with "each" instead of
"every", and add "until no more tasks remain", in
rtems_message_queue_broadcast() may, under certain circumstances, copy
the message to tasks which were not waiting on the message queue when
the broadcast started, and may copy the message multiple times to the
same task.
This behaviour is, based on discussion in #4804, something that might
be
unl
---
spec/rtems/message/req/broadcast.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spec/rtems/message/req/broadcast.yml
b/spec/rtems/message/req/broadcast.yml
index b0e1af12..4b2d0f41 100644
--- a/spec/rtems/message/req/broadcast.yml
+++ b/spec/rtems/message/req/broadcast
---
Intentionally not part of commit message:
Another minor typo in documentation, discovered by chance while browsing
the doxygen site.
cpukit/include/rtems/score/coremsgimpl.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpukit/include/rtems/score/coremsgimpl.h
b/cpukit/
---
c-user/message/directives.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/c-user/message/directives.rst b/c-user/message/directives.rst
index 9cb88e2..a13e4c7 100644
--- a/c-user/message/directives.rst
+++ b/c-user/message/directives.rst
@@ -727,7 +727,7 @@ Broadcasts t
ry odd to change the interface just to allow this
failure to occur.
Would it be possible to instead specify that if
SIZE_MAX >= UINT32_MAX * (1 + buffer overhead)
then this case should be skipped, or expects success?
--
Martin Erik Werner
Software Developer | AAC Clyd
d to copy documentation to BSD-doxygen.
--
Martin Erik Werner
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel
(By request. Also added to https://devel.rtems.org/ticket/3899)
All previous contributions to the RTEMS documentation authored by me
(Martin Erik Werner) are, unless otherwise specified, licensed under
the terms of either
the Creative Commons Attribution Share Alike 4.0 International license
Remove a spurious "is undefined. " fragment which was likely a leftover
from sentence re-use.
---
c-user/self_contained_objects.rst | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/c-user/self_contained_objects.rst
b/c-user/self_contained_objects.rst
index 1c1e664..0be1423 1
Add a description of the previously missing RTEMS_NOT_DEFINED return
value for rtems_rate_monotonic_get_status().
Update the RTEMS_SUCCESSFUL return value descriptions for
rtems_rate_monotonic_get_status() and
rtems_rate_monotonic_get_statistics() which incorrectly used the same
description as rte
---
The word "suspect" here looked like a mistake and I have changed it
based on this assumption.
If it is not a mistake, what does "suspect" mean in this context?
c-user/self_contained_objects.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/c-user/self_contained_objects.
Modify the status code returned by _CORE_message_queue_Submit() when it
detects a wait bout to happen in an ISR (which would be deadly) to
return a status which translated to EAGAIN instead of ENOMEM.
(This is only relevant for POSIX message queues, since classic message
queues cannot block on sen
The return value RTEMS_UNSATISFIED cannot be returned by message queue
send/urgent in the classical API, so remove this from the documentation.
Based on the discussion in:
https://lists.rtems.org/pipermail/devel/2020-January/056891.html
Message-Id:
---
c-user/message_manager.rst | 4
1 file
that if
RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND is set, the
_CORE_message_queue_Submit() function can return
STATUS_MESSAGE_QUEUE_WAIT_IN_ISR which translates to
RTEMS_INTERNAL_ERROR, is this status deliberately omitted from the
documentation for rtems_message_queue_{send,urgent}?
--
Martin Eri
On Wed, 2019-10-02 at 17:00 -0500, Joel Sherrill wrote:
>
>
> On Wed, Oct 2, 2019 at 2:52 PM Martin Erik Werner <
> martinerikwer...@gmail.com> wrote:
(...)
> > On Tue, 2019-10-01 at 18:02 -0500, Joel Sherrill wrote:
> > >
> > >
> > > O
On Tue, Oct 1, 2019 at 3:53 PM Gedare Bloom
> > wrote:
> > >
> > > On Wed, Sep 4, 2019 at 3:36 PM Martin Erik Werner
> > > wrote:
> > > >
> > > > Remove various incorrect references to "lock" and "obtain" and
> > to an
>
Hi,
I'm re-sending this patch set since I received no reply previously (2019-09-04).
Martin Erik Werner (2):
barrier: Remove leftover semaphore remnants
barrier: Remove unfinished sentence
c-user/barrier_manager.rst | 45 ++---
1 file change
Remove the unfinished sentence
"Since a barrier is, by definition, never immediately [...]"
and jump directly to
"The task may wait [forever or for a timeout]"
instead.
I cannot figure out what the unfinished sentence is supposed to be -
"released"? "passed"?
---
c-user/barrier_manager.rst | 7 ++
Remove various incorrect references to "lock" and "obtain" and to an
option set which is not part of the barrier interface.
It looks like the barrier documentation was started based on a copy of
the semaphore documentation and these things are surviving remnants.
Also remove an unfinished sentenc
Remove the unfinished sentence
"Since a barrier is, by definition, never immediately [...]"
and jump directly to
"The task may wait [forever or for a timeout]"
instead.
I cannot figure out what the unfinished sentence is supposed to be -
"released"? "passed"?
---
c-user/barrier_manager.rst | 7 ++
Remove various incorrect references to "lock" and "obtain" and to an
option set which is not part of the barrier interface.
It looks like the barrier documentation was started based on a copy of
the semaphore documentation and these things are surviving remnants.
Also remove an unfinished sentenc
On Tue, 2019-09-03 at 01:48 +0200, Martin Erik Werner wrote:
> Compiling the code from examples "code-block:: c" along with public
> includes and a bsp exposed a few issues amongst a lot of false
> positives. Address some of these:
(...)
As per the sent patch, I've had
Compiling the code from examples "code-block:: c" along with public
includes and a bsp exposed a few issues amongst a lot of false
positives. Address some of these:
* Terminate struct declarations with ';'. Mainly for pedantic
correctness.
* Show ptrdiff_t instead of size_t for the sbrk() proto
On Mon, 2018-10-08 at 17:33 -0500, Joel Sherrill wrote:
>
>
> On Mon, Oct 8, 2018 at 9:37 AM Martin Erik Werner
> wrote:
> > On Mon, 2018-10-08 at 15:28 +0200, Sebastian Huber wrote:
> > > Are the intentionally unused or is there some bug and the generic cache
>
here, so it might be a special case?
--
Martin Erik Werner
ÅAC Microtec AB | Clyde Space Ltd.
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel
still ongoing work on
this for or1k at https://github.com/stffrdhrn/gcc .
[0]
http://aacmicrotec.com/products/spacecraft-subsystems/avionics/siriusobc/
http://aacmicrotec.com/products/spacecraft-subsystems/avionics/siriustcm/
--
Martin Erik Werner
ÅAC Microtec AB | Clyde Space Ltd.
On Thu, 2018
.)
--
Martin Erik Werner
ÅAC Microtec AB | Clyde Space Ltd.
On Tue, 2018-05-15 at 11:21 +0200, Martin Erik Werner wrote:
> When running the testsuites/psxtests/psxtimer01/ tests on our or1k
> board, I've noticed a common 10ms (one clock tick) time difference when
> measuring the re-armed time
ure in task A and C?
I've made a modification to the failure printout in order to avoid using unset
errno, and to provide information about the time difference, which might be
interesting, if these checks are still valid as certain failures:
Martin Erik Werner (1):
Fix and extend erro
measured.
Signed-off-by: Martin Erik Werner
---
testsuites/psxtests/psxtimer01/psxtimer.c | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/testsuites/psxtests/psxtimer01/psxtimer.c
b/testsuites/psxtests/psxtimer01/psxtimer.c
index 032e9f8e6c..6ec049ac54 100644
--- a
Update comments to reflect that PRIxblksize_t PRIxblkcnt_t is
hexadecimal, not decimal.
Signed-off-by: Martin Erik Werner
---
cpukit/include/rtems/inttypes.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpukit/include/rtems/inttypes.h b/cpukit/include/rtems/inttypes.h
;
update the comments regarding the object lookup error to status map to
match.
Signed-off-by: Martin Erik Werner
---
cpukit/rtems/src/status.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/cpukit/rtems/src/status.c b/cpukit/rtems/src/status.c
index 810c0e18de..3eadea59f0
Signed-off-by: Martin Erik Werner
---
bsp-howto/console.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bsp-howto/console.rst b/bsp-howto/console.rst
index 2bdb3c8..f8ff7ce 100644
--- a/bsp-howto/console.rst
+++ b/bsp-howto/console.rst
@@ -184,6 +184,7 @@ characters from
Change "==" to "=", since "==" for comparison is not available in POSIX
sh.
Signed-off-by: Martin Erik Werner
---
cpukit/sapi/vc-key.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpukit/sapi/vc-key.sh b/cpukit/sapi/vc-key.sh
index c628a
Signed-off-by: Martin Erik Werner
---
rtems/gtest-main.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/rtems/gtest-main.h b/rtems/gtest-main.h
index 81ec91e..797d12e 100644
--- a/rtems/gtest-main.h
+++ b/rtems/gtest-main.h
@@ -39,8 +39,9 @@
extern "C"
If the toolchain has been relocated, the configured-with-prefix will not
match the desired install path. Hence enable setting prefix manually in
the install-target.sh script.
Signed-off-by: Martin Erik Werner
---
rtems/install-target.sh | 21 +++--
1 file changed, 19 insertions
Sometimes, multilib directories have multiple levels, for example
no-delay/soft-float, make sure to handle this by creating directories
before installing.
Signed-off-by: Martin Erik Werner
---
rtems/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/rtems/Makefile b/rtems/Makefile
Based on some experimentation with Google Test on RTEMS, here are some
patches that fell out of that process, which might be interesting?
Martin Erik Werner (3):
rtems: Handle multi-level multilib directories
rtems: Make prefix configurable
rtems: Provide nonzero argc required by gtest init
ermail/devel/2016-February/013637.html), of
which the cache changes are only a subset. I'm thinking we'll hold off
requesting backports until we've managed to clean up and submit the
majority of those to master.
--
Martin Erik Werner
ÅAC Microtec AB
Add functions for flushing and invalidating whole cache.
Since we don't have system calls that can operate on anything more than
a single cache line, these simply retrieves the cache size and iterates
over the full size, invalidating each line.
The current implementation assumes that there's only
commit 5807328.
No testing except compilation has been performed on the rebased patch set on
master.
Martin Erik Werner (5):
or1k: Add functions for entire cache operations
or1k: Indent & comment fix in cache.c
or1k: Avoid excessive ISR toggle in cache manager
or1k: Remove secon
Previously, if the cache range operations were called with a range that
was larger than the cache size, this would lead to multiple iterations
over the cache, which is unnecessary.
Limit this so that if the range is larger than the cache size, the
operations will only iterate over the whole cache
Move the code of the _CPU_OR1K_Cache_{enable,disable}_* functions into the
equivalent exported _CPU_cache_{enable,disable}_* functions instead, and
then delete them, in order to reduce the code indirection and aid
readability.
This does not touch the currently unused prefetch, writeback, and lock
Previously _ISR_Local_{disable,enable}() was executed twice for each
cache line operation, and since operations over the entire cache were
implemented by calling the single-line operations in a loop, this made
those operations rather costly.
Fix the double-toggle by calling _OR1K_mtspr() directly,
* Fix indentation of variable declarations.
* Change commented-out asm -> __asm__ to meet c99 standard if
uncommented.
---
c/src/lib/libcpu/or1k/shared/cache/cache.c | 39 +++---
1 file changed, 25 insertions(+), 14 deletions(-)
diff --git a/c/src/lib/libcpu/or1k/shared
Using the -t|--threads option, it is now possible to specify the
amount of threads to use when running autoreconf, for example:
$ bootstrap -t 5
Since each file is autoreconf'd individually, this should not cause any
sequencing issues.
This reduces bootstrap runtime to about a half when using
Using the -o|--only option, it is now possible to limit the
bootstrapping operation of arch-specific libbsp, libcpu and cpukit paths
to a single arch, for example:
$ bootstrap -p -o or1k
and
$ bootstrap -o or1k
This is a somewhat ugly implementation, but may be sufficient for the
intended
50 matches
Mail list logo