Re: [rtems-tools PATCH] rtemstoolkit: Fix conditions using "is" with literals

2022-08-11 Thread Chris Johns
OK and thanks

Chris

On 12/8/2022 5:26 am, Ryan Long wrote:
> Fix warnings that come from python 3.8 about using the "is" operator with
> string literals.
> 
> Closes #4700
> ---
>  rtemstoolkit/config.py |  2 +-
>  rtemstoolkit/macros.py | 58 
> +-
>  2 files changed, 30 insertions(+), 30 deletions(-)
> 
> diff --git a/rtemstoolkit/config.py b/rtemstoolkit/config.py
> index be100f2..8fd4a32 100644
> --- a/rtemstoolkit/config.py
> +++ b/rtemstoolkit/config.py
> @@ -127,7 +127,7 @@ class file(object):
>  self.opts.set_dry_run()
>  
>  def _label(self, name):
> -if name.startswith('%{') and name[-1] is '}':
> +if name.startswith('%{') and name[-1] == '}':
>  return name
>  return '%{' + name.lower() + '}'
>  
> diff --git a/rtemstoolkit/macros.py b/rtemstoolkit/macros.py
> index d8012e1..136f52d 100644
> --- a/rtemstoolkit/macros.py
> +++ b/rtemstoolkit/macros.py
> @@ -260,7 +260,7 @@ class macros:
>  return [rm[7:] for rm in self.read_maps]
>  
>  def key_filter(self, key):
> -if key.startswith('%{') and key[-1] is '}':
> +if key.startswith('%{') and key[-1] == '}':
>  key = key[2:-1]
>  return key.lower()
>  
> @@ -295,29 +295,29 @@ class macros:
>  print(' c:%s(%d) s:%s t:"%s" m:%r M:%s' % \
>  (c, ord(c), state, token, macro, map))
>  l_remaining = l_remaining[1:]
> -if c is '#' and not state.startswith('value'):
> +if c == '#' and not state.startswith('value'):
>  break
>  if c == '\n' or c == '\r':
> -if not (state is 'key' and len(token) == 0) and \
> +if not (state == 'key' and len(token) == 0) and \
>  not state.startswith('value-multiline'):
>  self.macros = orig_macros
>  raise error.general('malformed macro line:%d: %s' % 
> (lc, l))
> -if state is 'key':
> +if state == 'key':
>  if c not in string.whitespace:
> -if c is '[':
> +if c == '[':
>  state = 'map'
> -elif c is '%':
> +elif c == '%':
>  state = 'directive'
> -elif c is ':':
> +elif c == ':':
>  macro += [token]
>  token = ''
>  state = 'attribs'
> -elif c is '#':
> +elif c == '#':
>  break
>  else:
>  token += c
> -elif state is 'map':
> -if c is ']':
> +elif state == 'map':
> +if c == ']':
>  if token not in self.macros:
>  self.macros[token] = {}
>  map = token
> @@ -328,7 +328,7 @@ class macros:
>  else:
>  self.macros = orig_macros
>  raise error.general('invalid macro map:%d: %s' % 
> (lc, l))
> -elif state is 'directive':
> +elif state == 'directive':
>  if c in string.whitespace:
>  if token == 'include':
>  self.load(_clean(l_remaining))
> @@ -340,7 +340,7 @@ class macros:
>  else:
>  self.macros = orig_macros
>  raise error.general('invalid macro directive:%d: %s' 
> % (lc, l))
> -elif state is 'include':
> +elif state == 'include':
>  if c is string.whitespace:
>  if token == 'include':
>  state = 'include'
> @@ -349,49 +349,49 @@ class macros:
>  else:
>  self.macros = orig_macros
>  raise error.general('invalid macro directive:%d: %s' 
> % (lc, l))
> -elif state is 'attribs':
> +elif state == 'attribs':
>  if c not in string.whitespace:
> -if c is ',':
> +if c == ',':
>  macro += [token]
>  token = ''
>  if len(macro) == 3:
>  state = 'value-start'
>  else:
>  token += c
> -elif state is 'value-start':
> -if c is "'":
> +elif state == 'value-start':
> +if c == "'":
>  

Re: [rtems-tools 5 PATCH] Python 3.8 warning about "is" vs "==" in comparisons of literals

2022-08-11 Thread Chris Johns
OK and thanks

Chris

On 12/8/2022 5:25 am, Ryan Long wrote:
> From: Konrad Schwarz 
> 
> Signed-off-by: Konrad Schwarz 
> 
> Closes #4692
> ---
>  rtemstoolkit/config.py |  2 +-
>  rtemstoolkit/macros.py | 58 
> +-
>  2 files changed, 30 insertions(+), 30 deletions(-)
> 
> diff --git a/rtemstoolkit/config.py b/rtemstoolkit/config.py
> index be100f2..8fd4a32 100644
> --- a/rtemstoolkit/config.py
> +++ b/rtemstoolkit/config.py
> @@ -127,7 +127,7 @@ class file(object):
>  self.opts.set_dry_run()
>  
>  def _label(self, name):
> -if name.startswith('%{') and name[-1] is '}':
> +if name.startswith('%{') and name[-1] == '}':
>  return name
>  return '%{' + name.lower() + '}'
>  
> diff --git a/rtemstoolkit/macros.py b/rtemstoolkit/macros.py
> index d8012e1..136f52d 100644
> --- a/rtemstoolkit/macros.py
> +++ b/rtemstoolkit/macros.py
> @@ -260,7 +260,7 @@ class macros:
>  return [rm[7:] for rm in self.read_maps]
>  
>  def key_filter(self, key):
> -if key.startswith('%{') and key[-1] is '}':
> +if key.startswith('%{') and key[-1] == '}':
>  key = key[2:-1]
>  return key.lower()
>  
> @@ -295,29 +295,29 @@ class macros:
>  print(' c:%s(%d) s:%s t:"%s" m:%r M:%s' % \
>  (c, ord(c), state, token, macro, map))
>  l_remaining = l_remaining[1:]
> -if c is '#' and not state.startswith('value'):
> +if c == '#' and not state.startswith('value'):
>  break
>  if c == '\n' or c == '\r':
> -if not (state is 'key' and len(token) == 0) and \
> +if not (state == 'key' and len(token) == 0) and \
>  not state.startswith('value-multiline'):
>  self.macros = orig_macros
>  raise error.general('malformed macro line:%d: %s' % 
> (lc, l))
> -if state is 'key':
> +if state == 'key':
>  if c not in string.whitespace:
> -if c is '[':
> +if c == '[':
>  state = 'map'
> -elif c is '%':
> +elif c == '%':
>  state = 'directive'
> -elif c is ':':
> +elif c == ':':
>  macro += [token]
>  token = ''
>  state = 'attribs'
> -elif c is '#':
> +elif c == '#':
>  break
>  else:
>  token += c
> -elif state is 'map':
> -if c is ']':
> +elif state == 'map':
> +if c == ']':
>  if token not in self.macros:
>  self.macros[token] = {}
>  map = token
> @@ -328,7 +328,7 @@ class macros:
>  else:
>  self.macros = orig_macros
>  raise error.general('invalid macro map:%d: %s' % 
> (lc, l))
> -elif state is 'directive':
> +elif state == 'directive':
>  if c in string.whitespace:
>  if token == 'include':
>  self.load(_clean(l_remaining))
> @@ -340,7 +340,7 @@ class macros:
>  else:
>  self.macros = orig_macros
>  raise error.general('invalid macro directive:%d: %s' 
> % (lc, l))
> -elif state is 'include':
> +elif state == 'include':
>  if c is string.whitespace:
>  if token == 'include':
>  state = 'include'
> @@ -349,49 +349,49 @@ class macros:
>  else:
>  self.macros = orig_macros
>  raise error.general('invalid macro directive:%d: %s' 
> % (lc, l))
> -elif state is 'attribs':
> +elif state == 'attribs':
>  if c not in string.whitespace:
> -if c is ',':
> +if c == ',':
>  macro += [token]
>  token = ''
>  if len(macro) == 3:
>  state = 'value-start'
>  else:
>  token += c
> -elif state is 'value-start':
> -if c is "'":
> +elif state == 'value-start':
> +if c == "'":
>  state = 'value-line-start'
> -   

Re: [PATCH] 6: Enable some libstdc++ features

2022-08-11 Thread Chris Johns
On 12/8/2022 12:48 am, Sebastian Huber wrote:
> Hello Chris,
> 
> On 08.08.22 13:46, Sebastian Huber wrote:
>> Enable TLS support for all RTEMS targets except bfin, lm32, m68k, mips, 
>> moxie,
>> or1k, and v850.  For all RTEMS targets, define HAVE_ALIGNED_ALLOC,
>> HAVE_AT_QUICK_EXIT, HAVE_LINK, HAVE_QUICK_EXIT, HAVE_READLINK, HAVE_SETENV,
>> HAVE_SLEEP, HAVE_STRERROR_L, HAVE_SYMLINK, HAVE_TRUNCATE, and HAVE_USLEEP.
>>
>> Update #4668.
> 
> did you already have time to test the TLS support for libstdc++?

Not yet. The base line testing is almost done. It was restarted for the TLS
newlib change.

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

rtems-docs fail to build

2022-08-11 Thread Joel Sherrill
Hi

Subject says it. This is the error and a git bisect which points to Chris
updating the arm section of the user guide. I don't see the issue looking
at the patch.

>From f028448e5f21f4317a0a7b9b336d7e492ebea6c7 Mon Sep 17 00:00:00 2001
From: Chris Johns 
Date: Wed, 3 Aug 2022 14:20:52 +1000
Subject: [PATCH rtems-docs] versions: Update arm

Error output followed by git bisect.

Build: 6.f028448 (3rd August 2022)
[4/7] Compiling build/user/latex/user.tex
first pass on pdflatex
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded
format=pdflatex)
 \write18 enabled.
entering extended mode

Waf: Leaving directory `/home/joel/rtems-work/rtems-docs/build'
Build failed
Traceback (most recent call last):
  File
"/home/joel/rtems-work/rtems-docs/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Task.py",
line 180, in process
ret=self.run()
  File
"/home/joel/rtems-work/rtems-docs/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Tools/tex.py",
line 204, in run
self.call_latex()
  File
"/home/joel/rtems-work/rtems-docs/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Tools/tex.py",
line 234, in call_latex
self.check_status('error when calling latex',self.texfun())
  File
"/home/joel/rtems-work/rtems-docs/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Tools/tex.py",
line 119, in check_status
raise Errors.WafError('%r command exit status %r'%(msg,retcode))
waflib.Errors.WafError: 'error when calling latex' command exit status 1

(rtemsdocs) [joel@localhost rtems-docs]$ git bisect log
git bisect start
# good: [f1eb94b1430b63f0818dea5b047e3ebbcb7f370f] c-user: Do not mention
pseudo-interrupt priority
git bisect good f1eb94b1430b63f0818dea5b047e3ebbcb7f370f
# bad: [7757c19ccce545b5552c084cf530faadbac8dbfd] eng/req/howto.rst: Fix
./spec2dmodules.py to ./spec2modules.py typo
git bisect bad 7757c19ccce545b5552c084cf530faadbac8dbfd
# good: [e551cc743527b43de5559d4635b85c32b8d29d27] versions: Update aarch64
git bisect good e551cc743527b43de5559d4635b85c32b8d29d27
# bad: [3859073d5be52c7161e734067748d5dba9a67bc4] versions: Update
microblaze, powerpc, riscv and x86_64
git bisect bad 3859073d5be52c7161e734067748d5dba9a67bc4
# bad: [f028448e5f21f4317a0a7b9b336d7e492ebea6c7] versions: Update arm
git bisect bad f028448e5f21f4317a0a7b9b336d7e492ebea6c7
# first bad commit: [f028448e5f21f4317a0a7b9b336d7e492ebea6c7] versions:
Update arm

Hopefully someone spots it.

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

[rtems-tools PATCH] rtemstoolkit: Fix conditions using "is" with literals

2022-08-11 Thread Ryan Long
Fix warnings that come from python 3.8 about using the "is" operator with
string literals.

Closes #4700
---
 rtemstoolkit/config.py |  2 +-
 rtemstoolkit/macros.py | 58 +-
 2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/rtemstoolkit/config.py b/rtemstoolkit/config.py
index be100f2..8fd4a32 100644
--- a/rtemstoolkit/config.py
+++ b/rtemstoolkit/config.py
@@ -127,7 +127,7 @@ class file(object):
 self.opts.set_dry_run()
 
 def _label(self, name):
-if name.startswith('%{') and name[-1] is '}':
+if name.startswith('%{') and name[-1] == '}':
 return name
 return '%{' + name.lower() + '}'
 
diff --git a/rtemstoolkit/macros.py b/rtemstoolkit/macros.py
index d8012e1..136f52d 100644
--- a/rtemstoolkit/macros.py
+++ b/rtemstoolkit/macros.py
@@ -260,7 +260,7 @@ class macros:
 return [rm[7:] for rm in self.read_maps]
 
 def key_filter(self, key):
-if key.startswith('%{') and key[-1] is '}':
+if key.startswith('%{') and key[-1] == '}':
 key = key[2:-1]
 return key.lower()
 
@@ -295,29 +295,29 @@ class macros:
 print(' c:%s(%d) s:%s t:"%s" m:%r M:%s' % \
 (c, ord(c), state, token, macro, map))
 l_remaining = l_remaining[1:]
-if c is '#' and not state.startswith('value'):
+if c == '#' and not state.startswith('value'):
 break
 if c == '\n' or c == '\r':
-if not (state is 'key' and len(token) == 0) and \
+if not (state == 'key' and len(token) == 0) and \
 not state.startswith('value-multiline'):
 self.macros = orig_macros
 raise error.general('malformed macro line:%d: %s' % 
(lc, l))
-if state is 'key':
+if state == 'key':
 if c not in string.whitespace:
-if c is '[':
+if c == '[':
 state = 'map'
-elif c is '%':
+elif c == '%':
 state = 'directive'
-elif c is ':':
+elif c == ':':
 macro += [token]
 token = ''
 state = 'attribs'
-elif c is '#':
+elif c == '#':
 break
 else:
 token += c
-elif state is 'map':
-if c is ']':
+elif state == 'map':
+if c == ']':
 if token not in self.macros:
 self.macros[token] = {}
 map = token
@@ -328,7 +328,7 @@ class macros:
 else:
 self.macros = orig_macros
 raise error.general('invalid macro map:%d: %s' % (lc, 
l))
-elif state is 'directive':
+elif state == 'directive':
 if c in string.whitespace:
 if token == 'include':
 self.load(_clean(l_remaining))
@@ -340,7 +340,7 @@ class macros:
 else:
 self.macros = orig_macros
 raise error.general('invalid macro directive:%d: %s' % 
(lc, l))
-elif state is 'include':
+elif state == 'include':
 if c is string.whitespace:
 if token == 'include':
 state = 'include'
@@ -349,49 +349,49 @@ class macros:
 else:
 self.macros = orig_macros
 raise error.general('invalid macro directive:%d: %s' % 
(lc, l))
-elif state is 'attribs':
+elif state == 'attribs':
 if c not in string.whitespace:
-if c is ',':
+if c == ',':
 macro += [token]
 token = ''
 if len(macro) == 3:
 state = 'value-start'
 else:
 token += c
-elif state is 'value-start':
-if c is "'":
+elif state == 'value-start':
+if c == "'":
 state = 'value-line-start'
-elif state is 'value-line-start':
-if c is "'":
+elif state == 'value-line-start':
+if c == "'":
 state = 'value-multiline-start'
 else:
 

[rtems-tools 5 PATCH] Python 3.8 warning about "is" vs "==" in comparisons of literals

2022-08-11 Thread Ryan Long
From: Konrad Schwarz 

Signed-off-by: Konrad Schwarz 

Closes #4692
---
 rtemstoolkit/config.py |  2 +-
 rtemstoolkit/macros.py | 58 +-
 2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/rtemstoolkit/config.py b/rtemstoolkit/config.py
index be100f2..8fd4a32 100644
--- a/rtemstoolkit/config.py
+++ b/rtemstoolkit/config.py
@@ -127,7 +127,7 @@ class file(object):
 self.opts.set_dry_run()
 
 def _label(self, name):
-if name.startswith('%{') and name[-1] is '}':
+if name.startswith('%{') and name[-1] == '}':
 return name
 return '%{' + name.lower() + '}'
 
diff --git a/rtemstoolkit/macros.py b/rtemstoolkit/macros.py
index d8012e1..136f52d 100644
--- a/rtemstoolkit/macros.py
+++ b/rtemstoolkit/macros.py
@@ -260,7 +260,7 @@ class macros:
 return [rm[7:] for rm in self.read_maps]
 
 def key_filter(self, key):
-if key.startswith('%{') and key[-1] is '}':
+if key.startswith('%{') and key[-1] == '}':
 key = key[2:-1]
 return key.lower()
 
@@ -295,29 +295,29 @@ class macros:
 print(' c:%s(%d) s:%s t:"%s" m:%r M:%s' % \
 (c, ord(c), state, token, macro, map))
 l_remaining = l_remaining[1:]
-if c is '#' and not state.startswith('value'):
+if c == '#' and not state.startswith('value'):
 break
 if c == '\n' or c == '\r':
-if not (state is 'key' and len(token) == 0) and \
+if not (state == 'key' and len(token) == 0) and \
 not state.startswith('value-multiline'):
 self.macros = orig_macros
 raise error.general('malformed macro line:%d: %s' % 
(lc, l))
-if state is 'key':
+if state == 'key':
 if c not in string.whitespace:
-if c is '[':
+if c == '[':
 state = 'map'
-elif c is '%':
+elif c == '%':
 state = 'directive'
-elif c is ':':
+elif c == ':':
 macro += [token]
 token = ''
 state = 'attribs'
-elif c is '#':
+elif c == '#':
 break
 else:
 token += c
-elif state is 'map':
-if c is ']':
+elif state == 'map':
+if c == ']':
 if token not in self.macros:
 self.macros[token] = {}
 map = token
@@ -328,7 +328,7 @@ class macros:
 else:
 self.macros = orig_macros
 raise error.general('invalid macro map:%d: %s' % (lc, 
l))
-elif state is 'directive':
+elif state == 'directive':
 if c in string.whitespace:
 if token == 'include':
 self.load(_clean(l_remaining))
@@ -340,7 +340,7 @@ class macros:
 else:
 self.macros = orig_macros
 raise error.general('invalid macro directive:%d: %s' % 
(lc, l))
-elif state is 'include':
+elif state == 'include':
 if c is string.whitespace:
 if token == 'include':
 state = 'include'
@@ -349,49 +349,49 @@ class macros:
 else:
 self.macros = orig_macros
 raise error.general('invalid macro directive:%d: %s' % 
(lc, l))
-elif state is 'attribs':
+elif state == 'attribs':
 if c not in string.whitespace:
-if c is ',':
+if c == ',':
 macro += [token]
 token = ''
 if len(macro) == 3:
 state = 'value-start'
 else:
 token += c
-elif state is 'value-start':
-if c is "'":
+elif state == 'value-start':
+if c == "'":
 state = 'value-line-start'
-elif state is 'value-line-start':
-if c is "'":
+elif state == 'value-line-start':
+if c == "'":
 state = 'value-multiline-start'
 else:
 state = 'value-line'

Re: [PATCH] 6: Enable some libstdc++ features

2022-08-11 Thread Sebastian Huber

Hello Chris,

On 08.08.22 13:46, Sebastian Huber wrote:

Enable TLS support for all RTEMS targets except bfin, lm32, m68k, mips, moxie,
or1k, and v850.  For all RTEMS targets, define HAVE_ALIGNED_ALLOC,
HAVE_AT_QUICK_EXIT, HAVE_LINK, HAVE_QUICK_EXIT, HAVE_READLINK, HAVE_SETENV,
HAVE_SLEEP, HAVE_STRERROR_L, HAVE_SYMLINK, HAVE_TRUNCATE, and HAVE_USLEEP.

Update #4668.


did you already have time to test the TLS support for libstdc++?

--
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: Binary CPU / Thread information.

2022-08-11 Thread Sebastian Huber

Hello Sam,

On 10.08.22 17:03, Sam Price wrote:

I saw that there was a console command to see cpu usage information.
https://docs.rtems.org/branches/master/c-user/cpu_usage_statistics.html 



Is there a binary api to get this, and stack usage?
I want to get this info out and send it in binary packets.

Is this something that I need to just copy whats going on in this file?
cpukit/libmisc/cpuuse/cpuusagereport.c

https://github.com/RTEMS/rtems/blob/fab1a86221e057a93bb9c1423dac81ed2b29ecde/cpukit/libmisc/cpuuse/cpuusagereport.c#L60 



or is there a c api out there that i am missing that fills usage 
information into c structs?


there is currently no API to get the CPU usage information in a 
structure. You can add one if you like.


--
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 automate finding comments in copyright/license block

2022-08-11 Thread Frank Kühndel
Hi Joel,

it of course depends what exactly you are looking for, what you expect
as output and what patterns to match. May be this is an idea but it
still contains a few false positives in its output:

$ cd rtems
$ fgrep -rn -C 3 'COPYRIGHT' cpukit/ | fgrep -C 3 'P1003'

Relicensing is a formidable and tremendous task. I have a lot of respect
for you and all others working on it.

Greetings
fk


On 8/10/22 15:38, Joel Sherrill wrote:
> I've spotted a few cases like this over the past couple of weeks and wonder
> how we can automate finding them:
> 
> /*
>  *  6.7.7 Wait for Asynchronous I/O Request, P1003.1b-1993, p. 164
>  *
>  *  COPYRIGHT (c) 1989-2007.
>  *  On-Line Applications Research Corporation (OAR).
>  *
> 
> The reference to a page in the very old POSIX standard shouldn't be in this
> block.
> 
> This is ignoring that we probably need to figure out what to do with
> references to the paper copy of the 1993 POSIX standard. That's another
> task.
> 
> And ignoring that there are still many files to relicense.
> 
> --joel

-- 
embedded brains GmbH
Herr Frank KÜHNDEL
Dornierstr. 4
82178 Puchheim
Germany
email: frank.kuehn...@embedded-brains.de
phone:  +49-89-18 94 741 - 23
mobile: +49-176-15 22 06 - 11
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

[rtems-tools PATCH] linkers: Update rtems-score-thread.ini

2022-08-11 Thread Duc Doan
The signature for _Thread_Close() was different in rtems-score-thread.ini
and in cpukit/include/rtems/score/threadimpl.h. This changes
_Thread_Close() in the .ini file to comply with the new function
prototype in threadimpl.h.
---
 linkers/rtems-score-thread.ini | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linkers/rtems-score-thread.ini b/linkers/rtems-score-thread.ini
index 974bcfd..f0a1b86 100644
--- a/linkers/rtems-score-thread.ini
+++ b/linkers/rtems-score-thread.ini
@@ -38,7 +38,7 @@ _Thread_Start = Status_Control, Thread_Control*, const 
Thread_Entry_information*
 _Thread_Yield = void, Thread_Control*
 _Thread_Set_life_protection = Thread_Life_state, Thread_Life_state
 _Thread_Kill_zombies = void, void
-_Thread_Close = void, Thread_Control*, Thread_Control*, Thread_Close_context*
+_Thread_Close = Status_Control, Thread_Control*, Thread_Control*, 
Thread_queue_Context*
 _Thread_Clear_state = States_Control, Thread_Control*, States_Control
 _Thread_Set_state = States_Control, Thread_Control*, States_Control
 _Thread_Load_environment = void, Thread_Control*
-- 
2.37.1

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


Re: rtems-central: spec2module fails with no changes to repos

2022-08-11 Thread Sebastian Huber

On 10.08.22 23:11, Joel Sherrill wrote:
It looks like the rtems-central repo fails when spec2modules is run on 
it currently with no local changes.


Sorry, I forgot to update the Git submodules. It should work now.
--
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

[docs] c-user: Clarify BSP related configuration settings

2022-08-11 Thread Sebastian Huber
---
 c-user/config/device-driver.rst |  7 ++--
 c-user/config/general.rst   | 60 ++---
 c-user/config/idle-task.rst | 18 --
 3 files changed, 76 insertions(+), 9 deletions(-)

diff --git a/c-user/config/device-driver.rst b/c-user/config/device-driver.rst
index d84da0a..87ed27a 100644
--- a/c-user/config/device-driver.rst
+++ b/c-user/config/device-driver.rst
@@ -709,7 +709,7 @@ Driver Table.
 .. rubric:: NOTES:
 
 The value of this configuration option is placed after the entries defined by
-:ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
+:c:macro:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device 
driver
 configuration options.
 
 See :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS` for an alternative placement
@@ -858,7 +858,10 @@ options:
 
 * :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`
 
-* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not 
defined and
+the :term:`BSP` provides
+:c:macro:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`, then the BSP-provided
+prerequisite device drivers are also taken into account.
 
 .. rubric:: DESCRIPTION:
 
diff --git a/c-user/config/general.rst b/c-user/config/general.rst
index fa43686..c80d162 100644
--- a/c-user/config/general.rst
+++ b/c-user/config/general.rst
@@ -67,6 +67,55 @@ memory is first dirtied and then zeroed.
 
 See also :ref:`CONFIGURE_MALLOC_DIRTY`.
 
+.. Generated from spec:/acfg/if/disable-bsp-settings
+
+.. raw:: latex
+
+\clearpage
+
+.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
+
+.. _CONFIGURE_DISABLE_BSP_SETTINGS:
+
+CONFIGURE_DISABLE_BSP_SETTINGS
+--
+
+.. rubric:: CONSTANT:
+
+``CONFIGURE_DISABLE_BSP_SETTINGS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
+
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the optional BSP provided
+settings listed below are disabled.
+
+The optional BSP provided default values for the following application
+configuration options are disabled:
+
+* :ref:`CONFIGURE_IDLE_TASK_BODY`
+
+* :ref:`CONFIGURE_IDLE_TASK_STACK_SIZE`
+
+* :ref:`CONFIGURE_INTERRUPT_STACK_SIZE`
+
+The optional BSP provided initial extension set is disabled (see
+:term:`initial extension sets`).  The optional BSP provided
+prerequisite IO device drivers are disabled (see
+Device Driver Configuration).  The optional BSP provided support for
+:c:func:`sbrk` is disabled.
+
+This configuration option provides an all or nothing choice with respect to
+the optional BSP provided settings.
+
 .. Generated from spec:/acfg/if/disable-newlib-reentrancy
 
 .. raw:: latex
@@ -237,8 +286,8 @@ initial user extensions.
 .. rubric:: NOTES:
 
 The value of this configuration option is placed before the entries of
-:ref:`BSP_INITIAL_EXTENSION` and after the entries of all other initial
-user extensions.
+:c:macro:`BSP_INITIAL_EXTENSION` and after the entries of all other
+initial user extensions.
 
 .. rubric:: CONSTRAINTS:
 
@@ -269,8 +318,11 @@ This configuration option is an integer define.
 
 .. rubric:: DEFAULT VALUE:
 
-The default value is :ref:`BSP_INTERRUPT_STACK_SIZE` in case it is defined,
-otherwise the default value is :c:macro:`CPU_STACK_MINIMUM_SIZE`.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not 
defined and
+:c:macro:`BSP_INTERRUPT_STACK_SIZE` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_INTERRUPT_STACK_SIZE`, otherwise the default value is
+:c:macro:`CPU_STACK_MINIMUM_SIZE`.
 
 .. rubric:: DESCRIPTION:
 
diff --git a/c-user/config/idle-task.rst b/c-user/config/idle-task.rst
index 5cf8364..359f862 100644
--- a/c-user/config/idle-task.rst
+++ b/c-user/config/idle-task.rst
@@ -48,8 +48,11 @@ This configuration option is an initializer define.
 
 .. rubric:: DEFAULT VALUE:
 
-If :ref:`BSP_IDLE_TASK_BODY` is defined, then this will be the default value,
-otherwise the default value is ``_CPU_Thread_Idle_body``.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not 
defined and
+:c:macro:`BSP_IDLE_TASK_BODY` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_IDLE_TASK_BODY`, otherwise the default value is
+``_CPU_Thread_Idle_body``.
 
 .. rubric:: DESCRIPTION:
 
@@ -64,6 +67,11 @@ exists.
 IDLE threads can be used to initialize the application, see configuration
 option :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`.
 
+The BSP may have knowledge of the specific CPU model, system controller
+logic, and peripheral buses, so a BSP-specific IDLE task may be capable of
+turning components off to save power during extended periods of no task
+activity.
+
 .. rubric:: CONSTRAINTS:
 
 The value of the configuration option shall be defined to a valid function
@@