Re: Fwd: [rtems-bsp-builder] 2020-12-11 12:57:21: Profile(s): everything

2020-12-16 Thread Sebastian Huber

Hello Joel,

On 14/12/2020 15:23, Joel Sherrill wrote:


OK. I'll start another sweep when this goes in.
I updated the RSB to fetch the latest tools today. Now, the failures 
should be fixed.


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

[PATCH] tester: Add support for arm/fvp_cortex_r52 BSP

2020-12-16 Thread Sebastian Huber
Update #4202.
---
 .../rtems/testing/bsps/fvp_cortex_r52x1.ini   | 38 +++
 .../rtems/testing/bsps/fvp_cortex_r52x2.ini   | 38 +++
 .../rtems/testing/bsps/fvp_cortex_r52x4.ini   | 38 +++
 3 files changed, 114 insertions(+)
 create mode 100644 tester/rtems/testing/bsps/fvp_cortex_r52x1.ini
 create mode 100644 tester/rtems/testing/bsps/fvp_cortex_r52x2.ini
 create mode 100644 tester/rtems/testing/bsps/fvp_cortex_r52x4.ini

diff --git a/tester/rtems/testing/bsps/fvp_cortex_r52x1.ini 
b/tester/rtems/testing/bsps/fvp_cortex_r52x1.ini
new file mode 100644
index 000..d1e42c6
--- /dev/null
+++ b/tester/rtems/testing/bsps/fvp_cortex_r52x1.ini
@@ -0,0 +1,38 @@
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# The arm/fvp_cortex_r52 BSP
+#
+[fvp_cortex_r52x1]
+bsp  = fvp_cortex_r52
+arch = arm
+tester   = %{_rtscripts}/run.cfg
+bsp_run_cmd  = FVP_BaseR_Cortex-R52x1
+bsp_run_opts = -C bp.vis.disable_visualisation=1 -a
diff --git a/tester/rtems/testing/bsps/fvp_cortex_r52x2.ini 
b/tester/rtems/testing/bsps/fvp_cortex_r52x2.ini
new file mode 100644
index 000..e8e8bf1
--- /dev/null
+++ b/tester/rtems/testing/bsps/fvp_cortex_r52x2.ini
@@ -0,0 +1,38 @@
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# The arm/fvp_cortex_r52 BSP
+#
+[fvp_cortex_r52x2]
+bsp  = fvp_cortex_r52
+arch = arm
+tester   = %{_rtscripts}/run.cfg
+bsp_run_cmd  = FVP_BaseR_Cortex-R52x2
+bsp_run_opts = -C bp.vis.disable_visualisation=1 -a
diff --git a/tester/rtems/testing/bsps/fvp_cortex_r52x4.ini 
b/tester/rtems/testing/bsps/fvp_cortex_r52x4.ini
new file mode 100644
index 000..5b64a8b
--- /dev/null
+++ b/tester/rtems/testing/bsps/fvp_cortex_r52x4.ini
@@ -0,0 +1,38 @@
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are me

Planning for RTEMS 6 Branch

2020-12-16 Thread Joel Sherrill
Hi

It took a long time to get from 4.10 to 4.11 and then on to 5. I don't see
any reason getting from 5 to 6 should be such a long period of time. It
seems as if we focus on a few major changes and see what happens while
those go in. Right now, I'd be prone to say 6 is ready to branch from a
feature perspective if we get the following:

+ Waf switchover complete
+ NFSv4
+ aarch64 on real hardware and SMP

I would expect all of this to be available in early 2021.

There are already new BSPs (stm, etc), tool updates, etc. that are a normal
part of RTEMS moving forward. These don't really play into my thoughts.
They show up when they show up and we can delay branching a very short time
if something is on the cusp. But they don't drive release planning.

In my opinion, the big question is addressing RTEMS for EPICS. Most of the
BSPs I know that are used for EPICS are still only supported by the legacy
stack. I'm ignoring some known BSP regressions that will get fixed as a
normal part of moving forward. If RTEMS 5 + EPICS uses the legacy stack,
that's OK. But I'd like to move the legacy stack to its own repository.
Downgrading the legacy stack that way while BSPs used by EPICS users
haven't been updated to libbsd is not a good thing. I expect
motorola_powerpc and beatnik/mvme5500 to be on libbsd sometime in the near
future but that leaves other EPICS BSPs. We need to include EPICS
considerations in our roadmap. This means the legacy stack can't be moved
out without considering them. And we need to figure out how to bring them
up to date. This needs to be part of release planning.

The other big work is the qualification effort. It would be nice for it to
be complete but I don't see that as a blocker for RTEMS 6. It could be the
driving factor for RTEMS 7 if the timeline doesn't work out.

Basically, I'd like a quicker RTEMS 6 even if 7 comes out quickly to
address the legacy stack. Each of these still has major user facing
considerations. Let's just be quicker.

Thoughts?

--joel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Possible Bug in

2020-12-16 Thread Joel Sherrill
Hi

The context switch recorder code -- _Record_Thread_switch in
record-userext.c has this code:

  items[ 0 ].event = RTEMS_RECORD_THREAD_SWITCH_OUT;
  items[ 0 ].data = executing->Object.id;
  items[ 1 ].event = RTEMS_RECORD_THREAD_STACK_CURRENT;
  items[ 1 ].data =
#if defined(__GNUC__)
(uintptr_t) __builtin_frame_address( 0 )
  - (uintptr_t) executing->Start.Initial_stack.area;

There isn't a comment about what items[1].data is supposed to be but I am
assuming it is intended to be stack used. Unfortunately, it doesn't
conditionalize on stack growing up or down. On the ARM, the stack grows
down This means on the ARM, it is stack memory remaining.

I think this needs a comment as to the intent and then some conditional
logic on CPU_STACK_GROWS_UP like the stack checker has.

Anyone know what the meaning of the value should be? I suppose remaining is
good for quick monitoring if the size is captured on say create.

Thanks.

--joel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

How to Get Predefined Capture Records

2020-12-16 Thread Joel Sherrill
Hi

First, we have successfully managed to get the user extension and IRQ trace
records off a target and see them on the host. Now I'm wondering how more
of the predefined ones get turned on.

In recorddata.h, I see 100s of events defined for standard RTEMS operations
but there don't appear to be calls which record those events. How do those
get turned on?

We haven't tried the GCC option -finstrument-functions but that seems more
geared to user code and wouldn't generate the standard predefined events.

How are the RTEMS_RECORD_xxx that are already defined enabled to be
generated?

Thanks.

--joel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Planning for RTEMS 6 Branch

2020-12-16 Thread small...@aliyun.com
Hi, joel
Our team is developing a pcie card running rtems. The stability is very 
important for us.
Currently we are using rtems 5.1. Are there plans for rtems 5.x ? Such as bug 
fixes, new features, etc.
"aarch64 on real hardware and SMP" is what we really wanted. Does this feature 
will be supported by rtems 5.x ?



small...@aliyun.com
 
From: Joel Sherrill
Date: 2020-12-17 03:39
To: rtems-de...@rtems.org; David Edelsohn
Subject: Planning for RTEMS 6 Branch
Hi

It took a long time to get from 4.10 to 4.11 and then on to 5. I don't see any 
reason getting from 5 to 6 should be such a long period of time. It seems as if 
we focus on a few major changes and see what happens while those go in. Right 
now, I'd be prone to say 6 is ready to branch from a feature perspective if we 
get the following:

+ Waf switchover complete
+ NFSv4
+ aarch64 on real hardware and SMP

I would expect all of this to be available in early 2021.

There are already new BSPs (stm, etc), tool updates, etc. that are a normal 
part of RTEMS moving forward. These don't really play into my thoughts. They 
show up when they show up and we can delay branching a very short time if 
something is on the cusp. But they don't drive release planning.

In my opinion, the big question is addressing RTEMS for EPICS. Most of the BSPs 
I know that are used for EPICS are still only supported by the legacy stack. 
I'm ignoring some known BSP regressions that will get fixed as a normal part of 
moving forward. If RTEMS 5 + EPICS uses the legacy stack, that's OK. But I'd 
like to move the legacy stack to its own repository. Downgrading the legacy 
stack that way while BSPs used by EPICS users haven't been updated to libbsd is 
not a good thing. I expect motorola_powerpc and beatnik/mvme5500 to be on 
libbsd sometime in the near future but that leaves other EPICS BSPs. We need to 
include EPICS considerations in our roadmap. This means the legacy stack can't 
be moved out without considering them. And we need to figure out how to bring 
them up to date. This needs to be part of release planning.

The other big work is the qualification effort. It would be nice for it to be 
complete but I don't see that as a blocker for RTEMS 6. It could be the driving 
factor for RTEMS 7 if the timeline doesn't work out.

Basically, I'd like a quicker RTEMS 6 even if 7 comes out quickly to address 
the legacy stack. Each of these still has major user facing considerations. 
Let's just be quicker.

Thoughts?

--joel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Planning for RTEMS 6 Branch

2020-12-16 Thread Joel Sherrill
On Wed, Dec 16, 2020, 6:38 PM small...@aliyun.com 
wrote:

> Hi, joel
> Our team is developing a pcie card running rtems. The stability is very
> important for us.
> Currently we are using rtems 5.1. Are there plans for rtems 5.x ? Such as
> bug fixes, new features, etc.
> "aarch64 on real hardware and SMP" is what we really wanted. Does this
> feature will be supported by rtems 5.x ?
>

RTEMS release branches are considered feature complete and the focus is on
bug fixes.

Currently the master has aarch64 (64 bit ARM) support that is not on the 5
branch and won't be added. The only BSP at this time is for qemu. The
libbsd networking support for aarch64 is being tested now. The next step is
to verify it on a Xilinx reference board. After that SMP support for that
architecture.

I hope this helps. Bug fixes in release branches and features added on
master working to the next release.




> --
> small...@aliyun.com
>
>
> *From:* Joel Sherrill 
> *Date:* 2020-12-17 03:39
> *To:* rtems-de...@rtems.org ; David Edelsohn
> 
> *Subject:* Planning for RTEMS 6 Branch
> Hi
>
> It took a long time to get from 4.10 to 4.11 and then on to 5. I don't see
> any reason getting from 5 to 6 should be such a long period of time. It
> seems as if we focus on a few major changes and see what happens while
> those go in. Right now, I'd be prone to say 6 is ready to branch from a
> feature perspective if we get the following:
>
> + Waf switchover complete
> + NFSv4
> + aarch64 on real hardware and SMP
>
> I would expect all of this to be available in early 2021.
>
> There are already new BSPs (stm, etc), tool updates, etc. that are a
> normal part of RTEMS moving forward. These don't really play into my
> thoughts. They show up when they show up and we can delay branching a very
> short time if something is on the cusp. But they don't drive release
> planning.
>
> In my opinion, the big question is addressing RTEMS for EPICS. Most of the
> BSPs I know that are used for EPICS are still only supported by the legacy
> stack. I'm ignoring some known BSP regressions that will get fixed as a
> normal part of moving forward. If RTEMS 5 + EPICS uses the legacy stack,
> that's OK. But I'd like to move the legacy stack to its own repository.
> Downgrading the legacy stack that way while BSPs used by EPICS users
> haven't been updated to libbsd is not a good thing. I expect
> motorola_powerpc and beatnik/mvme5500 to be on libbsd sometime in the near
> future but that leaves other EPICS BSPs. We need to include EPICS
> considerations in our roadmap. This means the legacy stack can't be moved
> out without considering them. And we need to figure out how to bring them
> up to date. This needs to be part of release planning.
>
> The other big work is the qualification effort. It would be nice for it to
> be complete but I don't see that as a blocker for RTEMS 6. It could be the
> driving factor for RTEMS 7 if the timeline doesn't work out.
>
> Basically, I'd like a quicker RTEMS 6 even if 7 comes out quickly to
> address the legacy stack. Each of these still has major user facing
> considerations. Let's just be quicker.
>
> Thoughts?
>
> --joel
>
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Re: Planning for RTEMS 6 Branch

2020-12-16 Thread small...@aliyun.com
Hi,joel
Your reply is helpful and fast as usual. Thanks very much!



small...@aliyun.com
 
From: Joel Sherrill
Date: 2020-12-17 08:44
To: smallphd
CC: devel; David Edelsohn
Subject: Re: Planning for RTEMS 6 Branch


On Wed, Dec 16, 2020, 6:38 PM small...@aliyun.com  wrote:
Hi, joel
Our team is developing a pcie card running rtems. The stability is very 
important for us.
Currently we are using rtems 5.1. Are there plans for rtems 5.x ? Such as bug 
fixes, new features, etc.
"aarch64 on real hardware and SMP" is what we really wanted. Does this feature 
will be supported by rtems 5.x ?

RTEMS release branches are considered feature complete and the focus is on bug 
fixes.

Currently the master has aarch64 (64 bit ARM) support that is not on the 5 
branch and won't be added. The only BSP at this time is for qemu. The libbsd 
networking support for aarch64 is being tested now. The next step is to verify 
it on a Xilinx reference board. After that SMP support for that architecture.

I hope this helps. Bug fixes in release branches and features added on master 
working to the next release.






small...@aliyun.com
 
From: Joel Sherrill
Date: 2020-12-17 03:39
To: rtems-de...@rtems.org; David Edelsohn
Subject: Planning for RTEMS 6 Branch
Hi

It took a long time to get from 4.10 to 4.11 and then on to 5. I don't see any 
reason getting from 5 to 6 should be such a long period of time. It seems as if 
we focus on a few major changes and see what happens while those go in. Right 
now, I'd be prone to say 6 is ready to branch from a feature perspective if we 
get the following:

+ Waf switchover complete
+ NFSv4
+ aarch64 on real hardware and SMP

I would expect all of this to be available in early 2021.

There are already new BSPs (stm, etc), tool updates, etc. that are a normal 
part of RTEMS moving forward. These don't really play into my thoughts. They 
show up when they show up and we can delay branching a very short time if 
something is on the cusp. But they don't drive release planning.

In my opinion, the big question is addressing RTEMS for EPICS. Most of the BSPs 
I know that are used for EPICS are still only supported by the legacy stack. 
I'm ignoring some known BSP regressions that will get fixed as a normal part of 
moving forward. If RTEMS 5 + EPICS uses the legacy stack, that's OK. But I'd 
like to move the legacy stack to its own repository. Downgrading the legacy 
stack that way while BSPs used by EPICS users haven't been updated to libbsd is 
not a good thing. I expect motorola_powerpc and beatnik/mvme5500 to be on 
libbsd sometime in the near future but that leaves other EPICS BSPs. We need to 
include EPICS considerations in our roadmap. This means the legacy stack can't 
be moved out without considering them. And we need to figure out how to bring 
them up to date. This needs to be part of release planning.

The other big work is the qualification effort. It would be nice for it to be 
complete but I don't see that as a blocker for RTEMS 6. It could be the driving 
factor for RTEMS 7 if the timeline doesn't work out.

Basically, I'd like a quicker RTEMS 6 even if 7 comes out quickly to address 
the legacy stack. Each of these still has major user facing considerations. 
Let's just be quicker.

Thoughts?

--joel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Possible Bug in

2020-12-16 Thread Sebastian Huber


On 16/12/2020 21:01, Joel Sherrill wrote:

Hi

The context switch recorder code -- _Record_Thread_switch in 
record-userext.c has this code:


  items[ 0 ].event = RTEMS_RECORD_THREAD_SWITCH_OUT;
  items[ 0 ].data = executing->Object.id;
  items[ 1 ].event = RTEMS_RECORD_THREAD_STACK_CURRENT;
  items[ 1 ].data =
#if defined(__GNUC__)
    (uintptr_t) __builtin_frame_address( 0 )
      - (uintptr_t) executing->Start.Initial_stack.area;

There isn't a comment about what items[1].data is supposed to be but I 
am assuming it is intended to be stack used. Unfortunately, it doesn't 
conditionalize on stack growing up or down. On the ARM, the stack 
grows down This means on the ARM, it is stack memory remaining.


I think this needs a comment as to the intent and then some 
conditional logic on CPU_STACK_GROWS_UP like the stack checker has.


Anyone know what the meaning of the value should be? I suppose 
remaining is good for quick monitoring if the size is captured on say 
create.


Yes, this code is broken. Another issue is that the current stack 
pointer belongs to different tasks in SMP and non-SMP configurations. I 
am not sure if there is a LTTNG event for the thread stack.


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: How to Get Predefined Capture Records

2020-12-16 Thread Sebastian Huber

Hello Joel,

On 16/12/2020 22:59, Joel Sherrill wrote:

Hi

First, we have successfully managed to get the user extension and IRQ 
trace records off a target and see them on the host. Now I'm wondering 
how more of the predefined ones get turned on.


In recorddata.h, I see 100s of events defined for standard RTEMS 
operations but there don't appear to be calls which record those 
events. How do those get turned on?


the original plan was to add a wrapper library and then use the GNU ld 
--wrap feature:


https://lists.rtems.org/pipermail/devel/2019-August/027574.html

This could be used to map the record events to LTTNG user space events:

https://archive.eclipse.org/tracecompass/doc/stable/org.eclipse.tracecompass.doc.user/LTTng-UST-Analyses.html



We haven't tried the GCC option -finstrument-functions but that seems 
more geared to user code and wouldn't generate the standard predefined 
events.
This works quite well. For custom instrumentation you can use the 
rtems_record_line* rtems_record_caller_* functions.


How are the RTEMS_RECORD_xxx that are already defined enabled to be 
generated?

There is no out of the box support for them.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel