Re: [PATCH 2/3] score: Simplify _Objects_Initialize_information()

2018-11-07 Thread Sebastian Huber

On 07/11/2018 01:11, Chris Johns wrote:

On 06/11/2018 23:37, Sebastian Huber wrote:

There is no need to make the minimum identifier dependent on the maximum
per allocation.
---
  cpukit/score/src/objectinitializeinformation.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/cpukit/score/src/objectinitializeinformation.c 
b/cpukit/score/src/objectinitializeinformation.c
index 23c7819bfa..9905349213 100644
--- a/cpukit/score/src/objectinitializeinformation.c
+++ b/cpukit/score/src/objectinitializeinformation.c
@@ -39,7 +39,6 @@ void _Objects_Do_initialize_information(
  )
  {
static Objects_Control *null_local_table = NULL;
-  uint32_tminimum_index;
Objects_Maximum maximum_per_allocation;
  
information->the_api= the_api;

@@ -88,9 +87,8 @@ void _Objects_Do_initialize_information(
/*
 *  Calculate minimum and maximum Id's
 */
-  minimum_index = (maximum_per_allocation == 0) ? 0 : 1;

I am not sure you can remove this line. Something does not feel right, it was
long ago I wrote the original change and I seem to remember I thought the same
things and added this code after lots of testing. It may be this is not needed
with the way the code initialises managers now, I am not sure. What if someone
pulls in a manager but does not configure any resources?


I added spconfig02 to test managers with a maximum object count of zero.

This change has no impact on the overall test results. I did also a test 
run with the realview_pbx_a9_qemu BSP since it catches NULL pointer 
accesses.


A potential use case of this

minimum_index = (maximum_per_allocation == 0) ? 0 : 1;

could be in:

Objects_Control *_Objects_Get(
  Objects_Id id,
  ISR_lock_Context  *lock_context,
  const Objects_Information *information
)
{
  uint32_t index;

  index = id - information->minimum_id + 1;

  if ( information->maximum >= index ) {
Objects_Control *the_object;

_ISR_lock_ISR_disable( lock_context );

the_object = information->local_table[ index ];
if ( the_object != NULL ) {
  /* ISR disabled on behalf of caller */
  return the_object;
}

_ISR_lock_ISR_enable( lock_context );
  }

  return NULL;
}

With a minimum index of 0 you don't end up in the information->maximum >= index 
case for all indexes 0..65535. This would prevent a NULL pointer access if you do 
this before the corresponding _Objects_Initialize_information(). No matter how you 
set minimum_id you can always construct an invalid identifier to end up in this case.

I would like to statically initialize the object information structures in a 
follow up patch, so this would be no longer an issue.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

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

[PATCH v2 1/2] python: Provide support to select a valid python version.

2018-11-07 Thread chrisj
From: Chris Johns 

- Update imports after wrapping the code.
- Fix python3 issues.
- Fix config path issues for in repo and install runs.

Closes #3537
---
 rtemstoolkit/configuration.py  | 30 +--
 rtemstoolkit/python-wrapper.sh | 54 ++
 rtemstoolkit/rtems.py  | 32 +++--
 rtemstoolkit/wscript   |  3 +++
 tester/rt/check.py | 19 ---
 tester/rt/cmd-bsp-builder.py   | 45 +++
 tester/rt/cmd-run.py   | 44 ++
 tester/rt/cmd-test.py  | 45 +++
 tester/rt/config.py|  6 ++---
 tester/rt/console.py   |  6 +++--
 tester/rt/coverage.py  |  2 +-
 tester/rt/gdb.py   | 12 ++
 tester/rt/run.py   | 19 ++-
 tester/rt/stty.py  |  2 +-
 tester/rt/test.py  | 16 ++---
 tester/rt/tftp.py  |  9 +--
 tester/rtems-bsp-builder   | 29 +++
 tester/rtems-run   | 29 +++
 tester/rtems-test  | 29 +++
 tester/wscript |  3 +++
 20 files changed, 311 insertions(+), 123 deletions(-)
 create mode 100644 rtemstoolkit/python-wrapper.sh
 create mode 100755 tester/rt/cmd-bsp-builder.py
 create mode 100755 tester/rt/cmd-run.py
 create mode 100755 tester/rt/cmd-test.py

diff --git a/rtemstoolkit/configuration.py b/rtemstoolkit/configuration.py
index 10d97e5..3b03296 100644
--- a/rtemstoolkit/configuration.py
+++ b/rtemstoolkit/configuration.py
@@ -37,18 +37,20 @@ from __future__ import print_function
 import os
 import re
 
-try:
-import configparser
-except:
-import ConfigParser as configparser
-
 from rtemstoolkit import error
 from rtemstoolkit import path
 
 class configuration:
 
-def __init__(self):
-self.config = configparser.ConfigParser()
+def __init__(self, raw = True):
+self.raw = True
+try:
+import configparser
+self.config = configparser.ConfigParser(strict = False)
+except:
+# python2
+import ConfigParser as configparser
+self.config = configparser.ConfigParser()
 self.ini = None
 self.macro_filter = re.compile('\$\{.+\}')
 
@@ -66,12 +68,15 @@ class configuration:
 for section in self.config.sections():
 s += [' [%s]' % (section)]
 for option in self.config.options(section):
-s += ['  %s = %s' % (option, self.config.get(section, option))]
+s += ['  %s = %s' % (option,
+ self.config.get(section,
+ option,
+ raw = self.raw))]
 return os.linesep.join(s)
 
 def get_item(self, section, label, err = True):
 try:
-rec = self.config.get(section, label).replace(os.linesep, ' ')
+rec = self.config.get(section, label, raw = 
self.raw).replace(os.linesep, ' ')
 except:
 if err:
 raise error.general('config: no "%s" found in "%s"' % (label, 
section))
@@ -89,7 +94,8 @@ class configuration:
 raise error.general('config: interpolation is 
${section:value}: %s' % (m))
 try:
 ref = self.config.get(section_value[0],
-  section_value[1]).replace(os.linesep, ' 
')
+  section_value[1],
+  raw = self.raw).replace(os.linesep, ' ')
 rec = rec.replace(m, ref)
 except:
 pass
@@ -98,7 +104,7 @@ class configuration:
 def get_items(self, section, err = True, flatten = True):
 try:
 items = []
-for name, key in self.config.items(section):
+for name, key in self.config.items(section, raw = self.raw):
 if flatten:
 items += [(name, key.replace(os.linesep, ' '))]
 else:
@@ -117,7 +123,7 @@ class configuration:
 
 def get_item_names(self, section, err = True):
 try:
-return [item[0] for item in self.config.items(section)]
+return [item[0] for item in self.config.items(section, raw = 
self.raw)]
 except:
 if err:
 raise error.general('config: section "%s" not found' % 
(section))
diff --git a/rtemstoolkit/python-wrapper.sh b/rtemstoolkit/python-wrapper.sh
new file mode 100644
index 000..028e81b
--- /dev/null
+++ b/rtemstoolkit/python-wrapper.sh
@@ -0,0 +1,54 @@
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright 2018 Chris Johns (chr...@rtems.org)
+# All rights reserved.
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# R

[PATCH v2 2/2] tester: Update the Python TFTP server to fix Python3 issues.

2018-11-07 Thread chrisj
From: Chris Johns 

Updated to af2f2fe89a3bf45748b78703820efb0986a8207a.
Repo is https://github.com/msoulier/tftpy.git
---
 tester/rt/tftp.py|   3 +-
 tester/rt/tftpy/TftpClient.py|   9 +-
 tester/rt/tftpy/TftpContexts.py  |  47 ++--
 tester/rt/tftpy/TftpPacketFactory.py |   9 +-
 tester/rt/tftpy/TftpPacketTypes.py   | 217 ---
 tester/rt/tftpy/TftpServer.py|  24 ++--
 tester/rt/tftpy/TftpShared.py|  52 ++---
 tester/rt/tftpy/TftpStates.py|  53 +
 tester/rt/tftpy/__init__.py  |  23 ++--
 9 files changed, 243 insertions(+), 194 deletions(-)

diff --git a/tester/rt/tftp.py b/tester/rt/tftp.py
index 52deabc..c91ae51 100644
--- a/tester/rt/tftp.py
+++ b/tester/rt/tftp.py
@@ -119,7 +119,8 @@ class tftp(object):
 return None
 
 def _listener(self):
-tftpy.log.setLevel(100)
+tftpy_log = logging.getLogger('tftpy')
+tftpy_log.setLevel(100)
 try:
 self.server = tftpy.TftpServer(tftproot = '.',
dyn_file_func = self._exe_handle)
diff --git a/tester/rt/tftpy/TftpClient.py b/tester/rt/tftpy/TftpClient.py
index 2763dda..eb82c05 100644
--- a/tester/rt/tftpy/TftpClient.py
+++ b/tester/rt/tftpy/TftpClient.py
@@ -1,13 +1,18 @@
+# vim: ts=4 sw=4 et ai:
+# -*- coding: utf8 -*-
 """This module implements the TFTP Client functionality. Instantiate an
 instance of the client, and then use its upload or download method. Logging is
 performed via a standard logging object set in TftpShared."""
 
-from __future__ import absolute_import, division, print_function, 
unicode_literals
+
 import types
+import logging
 from .TftpShared import *
 from .TftpPacketTypes import *
 from .TftpContexts import TftpContextClientDownload, TftpContextClientUpload
 
+log = logging.getLogger('tftpy.TftpClient')
+
 class TftpClient(TftpSession):
 """This class is an implementation of a tftp client. Once instantiated, a
 download can be initiated via the download() method, or an upload via the
@@ -23,7 +28,7 @@ class TftpClient(TftpSession):
 self.localip = localip
 if 'blksize' in self.options:
 size = self.options['blksize']
-tftpassert(types.IntType == type(size), "blksize must be an int")
+tftpassert(int == type(size), "blksize must be an int")
 if size < MIN_BLKSIZE or size > MAX_BLKSIZE:
 raise TftpException("Invalid blksize: %d" % size)
 
diff --git a/tester/rt/tftpy/TftpContexts.py b/tester/rt/tftpy/TftpContexts.py
index 271441b..da85886 100644
--- a/tester/rt/tftpy/TftpContexts.py
+++ b/tester/rt/tftpy/TftpContexts.py
@@ -1,3 +1,5 @@
+# vim: ts=4 sw=4 et ai:
+# -*- coding: utf8 -*-
 """This module implements all contexts for state handling during uploads and
 downloads, the main interface to which being the TftpContext base class.
 
@@ -8,12 +10,18 @@ the next packet in the transfer, and returns a state object 
until the transfer
 is complete, at which point it returns None. That is, unless there is a fatal
 error, in which case a TftpException is returned instead."""
 
-from __future__ import absolute_import, division, print_function, 
unicode_literals
+
 from .TftpShared import *
 from .TftpPacketTypes import *
 from .TftpPacketFactory import TftpPacketFactory
 from .TftpStates import *
-import socket, time, sys
+import socket
+import time
+import sys
+import os
+import logging
+
+log = logging.getLogger('tftpy.TftpContext')
 
 ###
 # Utility classes
@@ -120,13 +128,14 @@ class TftpContext(object):
 def start(self):
 raise NotImplementedError("Abstract method")
 
-def end(self):
+def end(self, close_fileobj=True):
 """Perform session cleanup, since the end method should always be
 called explicitely by the calling code, this works better than the
-destructor."""
-log.debug("in TftpContext.end")
+destructor.
+Set close_fileobj to False so fileobj can be returned open."""
+log.debug("in TftpContext.end - closing socket")
 self.sock.close()
-if self.fileobj is not None and not self.fileobj.closed:
+if close_fileobj and self.fileobj is not None and not 
self.fileobj.closed:
 log.debug("self.fileobj is open - closing")
 self.fileobj.close()
 
@@ -159,7 +168,7 @@ class TftpContext(object):
 try:
 (buffer, (raddress, rport)) = self.sock.recvfrom(MAX_BLKSIZE)
 except socket.timeout:
-log.warn("Timeout waiting for traffic, retrying...")
+log.warning("Timeout waiting for traffic, retrying...")
 raise TftpTimeout("Timed-out waiting for traffic")
 
 # Ok, we've received a packet. Log it.
@@ -173,11 +182,11 @@ class TftpContext(object):
 
 # Check for known "connection".
 if raddr

[PATCH 2/2] score: Remove _ISR_Dispatch()

2018-11-07 Thread Sebastian Huber
This function was only used on some m68k variants.  On these m68k
variants there is no need to use a global symbol.  Use a local label
instead.

Remove _ISR_Dispatch() from the architecture-independent layer.
---
 bsps/mips/shared/irq/exception.S   |   2 +-
 cpukit/Makefile.am |   1 -
 cpukit/include/rtems/score/isr.h   |  15 ---
 cpukit/score/cpu/m32c/cpu_asm.c| 106 -
 cpukit/score/cpu/m68k/cpu_asm.S|  10 +-
 cpukit/score/cpu/mips/cpu_asm.S|   2 +-
 cpukit/score/cpu/moxie/cpu_asm.S   |  15 ---
 cpukit/score/cpu/no_cpu/cpu_asm.c  |   4 +-
 cpukit/score/cpu/sparc/cpu.c   |   4 +-
 cpukit/score/cpu/sparc64/cpu.c |   4 +-
 cpukit/score/cpu/sparc64/include/rtems/score/cpu.h |   2 +-
 cpukit/score/cpu/sparc64/interrupt.S   |   3 +-
 12 files changed, 15 insertions(+), 153 deletions(-)
 delete mode 100644 cpukit/score/cpu/m32c/cpu_asm.c

diff --git a/bsps/mips/shared/irq/exception.S b/bsps/mips/shared/irq/exception.S
index 30c733b05e..54462c66bb 100644
--- a/bsps/mips/shared/irq/exception.S
+++ b/bsps/mips/shared/irq/exception.S
@@ -372,7 +372,7 @@ _ISR_Handler_cleanup:
 
   /*
*  prepare to get out of interrupt
-   *  return from interrupt  (maybe to _ISR_Dispatch)
+   *  return from interrupt
*
*  LABEL "exit interrupt (simple case):"
*  prepare to get out of interrupt
diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
index b0d9088d44..b26757fd7d 100644
--- a/cpukit/Makefile.am
+++ b/cpukit/Makefile.am
@@ -1598,7 +1598,6 @@ include $(srcdir)/score/cpu/m32c/headers.am
 
 librtemscpu_a_SOURCES += score/cpu/m32c/context_init.c
 librtemscpu_a_SOURCES += score/cpu/m32c/context_switch.S
-librtemscpu_a_SOURCES += score/cpu/m32c/cpu_asm.c
 librtemscpu_a_SOURCES += score/cpu/m32c/cpu.c
 librtemscpu_a_SOURCES += score/cpu/m32c/m32c-exception-frame-print.c
 librtemscpu_a_SOURCES += score/cpu/m32c/varvects.S
diff --git a/cpukit/include/rtems/score/isr.h b/cpukit/include/rtems/score/isr.h
index 58dbb843c6..f4e2eec3cf 100644
--- a/cpukit/include/rtems/score/isr.h
+++ b/cpukit/include/rtems/score/isr.h
@@ -145,21 +145,6 @@ void _ISR_Handler_initialization ( void );
  */
 void _ISR_Handler( void );
 
-/**
- *  @brief ISR wrapper for thread dispatcher.
- *
- *  This routine provides a wrapper so that the routine
- *  @ref _Thread_Dispatch can be invoked when a reschedule is necessary
- *  at the end of the outermost interrupt service routine.  This
- *  wrapper is necessary to establish the processor context needed
- *  by _Thread_Dispatch and to save the processor context which is
- *  corrupted by _Thread_Dispatch.  This context typically consists
- *  of registers which are not preserved across routine invocations.
- *
- *  @note  Typically mplemented in assembly language.
- */
-void _ISR_Dispatch( void );
-
 /**
  *  @brief Checks if an ISR in progress.
  *
diff --git a/cpukit/score/cpu/m32c/cpu_asm.c b/cpukit/score/cpu/m32c/cpu_asm.c
deleted file mode 100644
index 16a80b2963..00
--- a/cpukit/score/cpu/m32c/cpu_asm.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- *  @file
- *
- *  @brief M32C CPU Assembly File
- */
-
-/*  cpu_asm.c  ===> cpu_asm.S or cpu_asm.s
- *
- *  This file contains the basic algorithms for all assembly code used
- *  in an specific CPU port of RTEMS.  These algorithms must be implemented
- *  in assembly language
- *
- *  NOTE:  This is supposed to be a .S or .s file NOT a C file.
- *
- *  M32C does not yet have interrupt support.  When this functionality
- *  is written, this file should become obsolete.
- *
- *  COPYRIGHT (c) 1989-2008.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.org/license/LICENSE.
- */
-
-/*
- *  This is supposed to be an assembly file.  This means that system.h
- *  and cpu.h should not be included in a "real" cpu_asm file.  An
- *  implementation in assembly should include "cpu_asm.h>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include 
-#include 
-
-void _ISR_Handler(void);
-
-/*  void __ISR_Handler()
- *
- *  This routine provides the RTEMS interrupt management.
- *
- *  M32C Specific Information:
- *
- *  Interrupts are not currently supported.
- */
-void _ISR_Handler(void)
-{
-   /*
-*  This discussion ignores a lot of the ugly details in a real
-*  implementation such as saving enough registers/state to be
-*  able to do something real.  Keep in mind that the goal is
-*  to invoke a user's ISR handler which is written in C and
-*  uses a certain set of registers.
-*
-*  Also note that the exact order is to a large extent flexible.
-*  Hardware will dictate a sequence for a certain subset of
-*  _ISR_Handler while requirement

[PATCH 1/2] score: Rename interrupt stack symbols

2018-11-07 Thread Sebastian Huber
Rename

  * _Configuration_Interrupt_stack_area_begin in _ISR_Stack_area_begin,
  * _Configuration_Interrupt_stack_area_end in _ISR_Stack_area_end, and
  * _Configuration_Interrupt_stack_size in _ISR_Stack_size.

Move definitions to .  The new names are considerable
shorter and in the right namespace.
---
 bsps/arm/csb336/start/start.S|  2 +-
 bsps/arm/csb337/start/start.S|  2 +-
 bsps/arm/edb7312/start/start.S   |  2 +-
 bsps/arm/gumstix/start/start.S   |  2 +-
 bsps/arm/rtl22xx/start/start.S   |  2 +-
 bsps/arm/shared/start/start.S|  8 
 bsps/arm/smdk2410/start/start.S  |  2 +-
 bsps/lm32/shared/start/start.S   |  4 ++--
 bsps/m32c/m32cbsp/start/start.S  |  2 +-
 bsps/m68k/gen68340/start/start.S |  2 +-
 bsps/m68k/gen68360/start/start.S |  2 +-
 bsps/m68k/genmcf548x/start/start.S   |  4 ++--
 bsps/m68k/mcf52235/start/start.S |  6 +++---
 bsps/m68k/mcf5225x/start/start.S |  6 +++---
 bsps/m68k/mcf5329/start/start.S  |  4 ++--
 bsps/m68k/mrm332/start/start.S   |  2 +-
 bsps/m68k/shared/start/start.S   |  2 +-
 bsps/mips/csb350/start/start.S   |  2 +-
 bsps/mips/jmr3904/start/start.S  |  2 +-
 bsps/mips/malta/start/start.S|  2 +-
 bsps/powerpc/gen83xx/start/start.S   |  2 +-
 bsps/powerpc/haleakala/start/dlentry.S   |  4 ++--
 bsps/powerpc/include/bsp/vectors.h   |  2 +-
 bsps/powerpc/mpc55xxevb/start/bspstart.c |  2 +-
 bsps/powerpc/mpc55xxevb/start/start.S|  2 +-
 bsps/powerpc/psim/start/bspstart.c   |  2 +-
 bsps/powerpc/psim/start/start.S  |  2 +-
 bsps/powerpc/qemuppc/start/start.S   |  4 ++--
 bsps/powerpc/qoriq/start/bspstart.c  |  2 +-
 bsps/powerpc/qoriq/start/start.S |  4 ++--
 bsps/powerpc/ss555/start/bspstart.c  |  2 +-
 bsps/powerpc/ss555/start/start.S |  2 +-
 bsps/powerpc/t32mppc/start/bspstart.c|  2 +-
 bsps/powerpc/t32mppc/start/start.S   |  2 +-
 bsps/powerpc/tqm8xx/start/start.S|  2 +-
 bsps/powerpc/virtex/start/bspstart.c |  2 +-
 bsps/powerpc/virtex4/start/start.S   |  4 ++--
 bsps/powerpc/virtex5/start/start.S   |  4 ++--
 bsps/riscv/riscv/start/start.S   |  6 +++---
 bsps/sh/gensh1/start/start.S |  2 +-
 bsps/sh/gensh2/start/start.S |  2 +-
 bsps/sh/gensh2/start/start.ram   |  2 +-
 bsps/sh/gensh2/start/start.rom   |  2 +-
 bsps/sh/gensh4/start/start.S |  2 +-
 bsps/sh/shsim/start/start.S  |  2 +-
 bsps/sparc/shared/start/start.S  |  4 ++--
 bsps/v850/gdbv850sim/start/start.S   |  6 +++---
 cpukit/include/rtems/confdefs.h  |  6 +++---
 cpukit/include/rtems/config.h| 29 ++---
 cpukit/include/rtems/score/isr.h | 26 ++
 cpukit/libmisc/stackchk/check.c  |  2 +-
 cpukit/score/cpu/m68k/cpu.c  |  2 +-
 cpukit/score/src/isr.c   |  2 +-
 53 files changed, 101 insertions(+), 100 deletions(-)

diff --git a/bsps/arm/csb336/start/start.S b/bsps/arm/csb336/start/start.S
index 2ef4cb71fa..acb75debad 100644
--- a/bsps/arm/csb336/start/start.S
+++ b/bsps/arm/csb336/start/start.S
@@ -27,7 +27,7 @@ _start:
  */
 
 /* Set end of interrupt stack area */
-ldr r7, =_Configuration_Interrupt_stack_area_end
+ldr r7, =_ISR_Stack_area_end
 
 /* Enter FIQ mode and set up the FIQ stack pointer */
 mov r0, #(ARM_PSR_M_FIQ | ARM_PSR_I | ARM_PSR_F)
diff --git a/bsps/arm/csb337/start/start.S b/bsps/arm/csb337/start/start.S
index a755864d0d..d2487278d8 100644
--- a/bsps/arm/csb337/start/start.S
+++ b/bsps/arm/csb337/start/start.S
@@ -20,7 +20,7 @@ _start:
  */
 
 /* Set end of interrupt stack area */
-ldr r7, =_Configuration_Interrupt_stack_area_end
+ldr r7, =_ISR_Stack_area_end
 
 /* Enter FIQ mode and set up the FIQ stack pointer */
 mov r0, #(ARM_PSR_M_FIQ | ARM_PSR_I | ARM_PSR_F)
diff --git a/bsps/arm/edb7312/start/start.S b/bsps/arm/edb7312/start/start.S
index 5806d41ce4..bc70f97293 100644
--- a/bsps/arm/edb7312/start/start.S
+++ b/bsps/arm/edb7312/start/start.S
@@ -60,7 +60,7 @@ handler_addr_fiq:
.globl  _start
 _start:
 /* Set end of interrupt stack area */
-ldr r7, =_Configuration_Interrupt_stack_area_end
+ldr r7, =_ISR_Stack_area_end
 
 /* Enter FIQ mode and set up the FIQ stack pointer */
 mov r0, #(ARM_PSR_M_FIQ | ARM_PSR_I | ARM_PSR_F)
diff --git a/bsps/arm/gumstix/start/start.S b/bsps/arm/gumstix/start/start.S
index 7c71bdacf1..55eb1106a8 100644
--- a/bsps/arm/gumstix/start/start.S
+++ b/bsps/arm/gumstix/start/start.S
@@ -19,7 +19,7 @@ _start:
  */
 
 /* Set end of interrupt stack area */
-ldr r7, =_Configuration_Interrupt_stack_area_end
+ldr 

Move *_Control types of API objects to separate header file

2018-11-07 Thread Sebastian Huber

Hello,

the  header file still exposes a lot of implementation details 
via the definition of the *_Control structures of the API objects. They 
are only necessary for the application configuration. I would like to 
move them to separate header files. Currently we have:





I need a new name for this header file. For example:



An example patch is attached. Comments?

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

>From 55c6c844fa78117e01ec5a95f8c67c483f9daf09 Mon Sep 17 00:00:00 2001
From: Sebastian Huber 
Date: Wed, 7 Nov 2018 14:12:52 +0100
Subject: [PATCH] rtems: Move internal structures to ratemondata.h

---
 cpukit/include/rtems/confdefs.h  |   1 +
 cpukit/include/rtems/rtems/ratemon.h | 111 +---
 cpukit/include/rtems/rtems/ratemondata.h | 123 +++
 cpukit/include/rtems/rtems/ratemonimpl.h |   1 +
 4 files changed, 126 insertions(+), 110 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/ratemondata.h

diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 15d0947ea3..c5ab9c409e 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -32,6 +32,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/ratemon.h b/cpukit/include/rtems/rtems/ratemon.h
index ca48a92983..f624adeb14 100644
--- a/cpukit/include/rtems/rtems/ratemon.h
+++ b/cpukit/include/rtems/rtems/ratemon.h
@@ -35,7 +35,7 @@
 
 #include 
 #include 
-#include 
+#include 
 #include 
 
 struct rtems_printer;
@@ -60,20 +60,8 @@ extern "C" {
  */
 /**@{*/
 
-/**
- *  This is the public type used for the rate monotonic timing
- *  statistics.
- */
-#include 
-
 typedef struct timespec rtems_rate_monotonic_period_time_t;
 
-/**
- *  This is the internal type used for the rate monotonic timing
- *  statistics.
- */
-#include 
-
 /**
  *  The following enumerated type defines the states in which a
  *  period may be.
@@ -134,31 +122,6 @@ typedef struct {
   rtems_rate_monotonic_period_time_t   total_wall_time;
 }  rtems_rate_monotonic_period_statistics;
 
-/**
- *  The following defines the INTERNAL data structure that has the
- *  statistics kept on each period instance.
- */
-typedef struct {
-  /** This field contains the number of periods executed. */
-  uint32_t count;
-  /** This field contains the number of periods missed. */
-  uint32_t missed_count;
-
-  /** This field contains the least amount of CPU time used in a period. */
-  Timestamp_Control min_cpu_time;
-  /** This field contains the highest amount of CPU time used in a period. */
-  Timestamp_Control max_cpu_time;
-  /** This field contains the total amount of wall time used in a period. */
-  Timestamp_Control total_cpu_time;
-
-  /** This field contains the least amount of wall time used in a period. */
-  Timestamp_Control min_wall_time;
-  /** This field contains the highest amount of wall time used in a period. */
-  Timestamp_Control max_wall_time;
-  /** This field contains the total amount of CPU time used in a period. */
-  Timestamp_Control total_wall_time;
-}  Rate_monotonic_Statistics;
-
 /**
  *  The following defines the period status structure.
  */
@@ -187,78 +150,6 @@ typedef struct {
   uint32_t postponed_jobs_count;
 }  rtems_rate_monotonic_period_status;
 
-/**
- * @brief The following structure defines the control block used to manage each
- * period.
- *
- * State changes are protected by the default thread lock of the owner thread.
- * The owner thread is the thread that created the period object.  The owner
- * thread field is immutable after object creation.
- */
-typedef struct {
-  /** This field is the object management portion of a Period instance. */
-  Objects_Control Object;
-
-  /**
-   * @brief Protects the rate monotonic period state.
-   */
-  ISR_LOCK_MEMBER(Lock )
-
-  /** This is the timer used to provide the unblocking mechanism. */
-  Watchdog_ControlTimer;
-
-  /** This field indicates the current state of the period. */
-  rtems_rate_monotonic_period_states  state;
-
-  /**
-   * @brief A priority node for use by the scheduler job release and cancel
-   * operations.
-   */
-  Priority_Node   Priority;
-
-  /**
-   * This field contains the length of the next period to be
-   * executed.
-   */
-  uint32_tnext_length;
-
-  /**
-   * This field contains a pointer to the TCB for the thread
-   * which owns and uses this period instance.
-   */
-  Thread_Control *owner;
-
-  /**
-   * This field c

[PATCH] score: Use RTEMS_DEPRECATED for deprecated types

2018-11-07 Thread Sebastian Huber
Update #3584.
---
 cpukit/include/rtems/rtems/types.h| 6 +++---
 cpukit/include/rtems/score/basedefs.h | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 82c0edd3c3..806fa44eb6 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -47,21 +47,21 @@ extern "C" {
  *
  * @deprecated Use @c float instead.
  */
-typedef single_precision rtems_single;
+typedef single_precision rtems_single RTEMS_DEPRECATED;
 
 /**
  * @brief Double precision float type.
  *
  * @deprecated Use @c double instead.
  */
-typedef double_precision rtems_double;
+typedef double_precision rtems_double RTEMS_DEPRECATED;
 
 /**
  * @brief RTEMS boolean type.
  *
  * @deprecated Use @c bool instead
  */
-typedef boolean  rtems_boolean;
+typedef boolean  rtems_boolean RTEMS_DEPRECATED;
 #endif
 
 /**
diff --git a/cpukit/include/rtems/score/basedefs.h 
b/cpukit/include/rtems/score/basedefs.h
index 0a2bf8dd17..5e425cedf0 100644
--- a/cpukit/include/rtems/score/basedefs.h
+++ b/cpukit/include/rtems/score/basedefs.h
@@ -460,9 +460,9 @@ extern void RTEMS_DEQUALIFY_types_not_compatible(void);
 
 #ifndef ASM
   #ifdef RTEMS_DEPRECATED_TYPES
-typedef bool boolean;
-typedef float single_precision;
-typedef double double_precision;
+typedef bool boolean RTEMS_DEPRECATED;
+typedef float single_precision RTEMS_DEPRECATED;
+typedef double double_precision RTEMS_DEPRECATED;
   #endif
 
   /**
-- 
2.16.4

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


v850 tool chain broken with -fdata-sections

2018-11-07 Thread Sebastian Huber

Hello,

I noticed a problem with the latest v850 tool chain which uses 
-fdata-sections for Newlib:


gmake[1]: Entering directory 
'/build/git-build/b-all-v850-5/v850-rtems5/c/v850e1sim/testsuites/samples'
v850-rtems5-gcc  -mv850e1 -O2 -g -ffunction-sections -fdata-sections 
-Wall -Wmissing-prototypes -Wimplicit-function-declaration 
-Wstrict-prototypes -Wnested-externs -Wl,-Map,map.txt 
-B./../../lib/libbsp/v850/gdbv850sim 
-B/home/EB/sebastian_h/git-rtems-5/bsps/v850/gdbv850sim/start -specs 
bsp_specs -qrtems -L./../../cpukit 
-L/home/EB/sebastian_h/git-rtems-5/bsps/v850/shared/start 
-Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections 
-o base_sp.exe base_sp/base_sp-init.o base_sp/base_sp-apptask.o 
./../../lib/libbsp/v850/gdbv850sim/librtemsbsp.a 
./../../cpukit/librtemscpu.a
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/bin/ld: 
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-exit.o): 
in function `exit':
/scratch/git-rtems-source-builder/rtems/build/v850-rtems5-gcc-7.3.0-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1/build/v850-rtems5/v850e/newlib/libc/stdlib/../../../../../../gcc-7.3.0/newlib/libc/stdlib/exit.c:62:(.text.exit+0xe): 
relocation truncated to fit: R_V810_GPWLO_1 against symbol 
`_global_impure_ptr' defined in .rodata._global_impure_ptr section in 
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-impure.o)
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/bin/ld: 
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-reent.o): 
in function `reclaim_reent':
/scratch/git-rtems-source-builder/rtems/build/v850-rtems5-gcc-7.3.0-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1/build/v850-rtems5/v850e/newlib/libc/reent/../../../../../../gcc-7.3.0/newlib/libc/reent/reent.c:46:(.text._reclaim_reent+0x6): 
relocation truncated to fit: R_V810_GPWLO_1 against symbol `_impure_ptr' 
defined in .data._impure_ptr section in 
/build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-impure.o)

collect2: error: ld returned 1 exit status
gmake[1]: *** [Makefile:733: base_sp.exe] Error 1
gmake[1]: Leaving directory 
'/build/git-build/b-all-v850-5/v850-rtems5/c/v850e1sim/testsuites/samples'


I guess this is somehow related to this definition in Newlib:

#ifdef __v850
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
#endif

User of _global_impure_ptr thinks it is in the small-data area, but 
definition is elsewhere.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

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

Re: v850 tool chain broken with -fdata-sections

2018-11-07 Thread Joel Sherrill
On Wed, Nov 7, 2018 at 7:57 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> Hello,
>
> I noticed a problem with the latest v850 tool chain which uses
> -fdata-sections for Newlib:
>
> gmake[1]: Entering directory
> '/build/git-build/b-all-v850-5/v850-rtems5/c/v850e1sim/testsuites/samples'
> v850-rtems5-gcc  -mv850e1 -O2 -g -ffunction-sections -fdata-sections
> -Wall -Wmissing-prototypes -Wimplicit-function-declaration
> -Wstrict-prototypes -Wnested-externs -Wl,-Map,map.txt
> -B./../../lib/libbsp/v850/gdbv850sim
> -B/home/EB/sebastian_h/git-rtems-5/bsps/v850/gdbv850sim/start -specs
> bsp_specs -qrtems -L./../../cpukit
> -L/home/EB/sebastian_h/git-rtems-5/bsps/v850/shared/start
> -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections
> -o base_sp.exe base_sp/base_sp-init.o base_sp/base_sp-apptask.o
> ./../../lib/libbsp/v850/gdbv850sim/librtemsbsp.a
> ./../../cpukit/librtemscpu.a
> /build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/bin/ld:
> /build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-exit.o):
>
> in function `exit':
> /scratch/git-rtems-source-builder/rtems/build/v850-rtems5-gcc-7.3.0-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1/build/v850-rtems5/v850e/newlib/libc/stdlib/../../../../../../gcc-7.3.0/newlib/libc/stdlib/exit.c:62:(.text.exit+0xe):
>
> relocation truncated to fit: R_V810_GPWLO_1 against symbol
> `_global_impure_ptr' defined in .rodata._global_impure_ptr section in
>
> /build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-impure.o)
> /build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/bin/ld:
> /build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-reent.o):
>
> in function `reclaim_reent':
> /scratch/git-rtems-source-builder/rtems/build/v850-rtems5-gcc-7.3.0-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1/build/v850-rtems5/v850e/newlib/libc/reent/../../../../../../gcc-7.3.0/newlib/libc/reent/reent.c:46:(.text._reclaim_reent+0x6):
>
> relocation truncated to fit: R_V810_GPWLO_1 against symbol `_impure_ptr'
> defined in .data._impure_ptr section in
>
> /build/rtems/5/lib/gcc/v850-rtems5/7.3.0/../../../../v850-rtems5/lib/v850e/libc.a(lib_a-impure.o)
> collect2: error: ld returned 1 exit status
> gmake[1]: *** [Makefile:733: base_sp.exe] Error 1
> gmake[1]: Leaving directory
> '/build/git-build/b-all-v850-5/v850-rtems5/c/v850e1sim/testsuites/samples'
>
> I guess this is somehow related to this definition in Newlib:
>
> #ifdef __v850
> #define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
> #endif
>
> User of _global_impure_ptr thinks it is in the small-data area, but
> definition is elsewhere.
>

The small data areas are usually finite resources. I don't like
infrastructure putting
burden on it. Would it make sense to not put this is the sda for RTEMS?

--joel

>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax : +49 89 189 47 41-09
> E-Mail  : sebastian.hu...@embedded-brains.de
> PGP : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [rtems commit] psxtmonce01: New test written by Himanshu40 as part of GCI2018

2018-11-07 Thread Gedare Bloom
We will ensure this policy. This is a good reminder that we had encountered
some problems last time with non-code churn caused by GCI 2015.

On Wed, Nov 7, 2018 at 1:40 AM, Chris Johns  wrote:

> On 07/11/2018 17:36, Sebastian Huber wrote:
> > It would be nice if GCI2018 patches are sent to devel@rtems.org for
> review
> > before they are committed.
>
> I agree. I will post to the gci mentors list asking if this can be done.
>
> Chris
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [rtems commit] psxtmonce01: New test written by Himanshu40 as part of GCI2018

2018-11-07 Thread Gedare Bloom
p.s. I asked Joel to look at the feedback on this patch. some of these
issues may be part of his templates.

On Wed, Nov 7, 2018 at 10:59 AM, Gedare Bloom  wrote:

> We will ensure this policy. This is a good reminder that we had
> encountered some problems last time with non-code churn caused by GCI 2015.
>
> On Wed, Nov 7, 2018 at 1:40 AM, Chris Johns  wrote:
>
>> On 07/11/2018 17:36, Sebastian Huber wrote:
>> > It would be nice if GCI2018 patches are sent to devel@rtems.org for
>> review
>> > before they are committed.
>>
>> I agree. I will post to the gci mentors list asking if this can be done.
>>
>> Chris
>>
>> ___
>> devel mailing list
>> devel@rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
>>
>
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [rtems commit] psxtmonce01: New test written by Himanshu40 as part of GCI2018

2018-11-07 Thread Joel Sherrill
On Wed, Nov 7, 2018 at 12:36 AM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> It would be nice if GCI2018 patches are sent to devel@rtems.org for
> review before they are committed.
>

We will do this in the future and I will fix these but it also would have
been nice to
have gotten this feedback when it was on the templates that I posted
patches to
update at least a week ago and no one said a word.

>
> On 07/11/2018 01:36, Joel Sherrill wrote:
> > Module:rtems
> > Branch:master
> > Commit:9bb395167a1cc7d8551d217825313bffcd0d8e1b
> > Changeset:
> http://git.rtems.org/rtems/commit/?id=9bb395167a1cc7d8551d217825313bffcd0d8e1b
> >
> > Author:Himanshu40 
> > Date:  Wed Nov  7 00:17:10 2018 +0530
> >
> > psxtmonce01: New test written by Himanshu40 as part of GCI2018
> >
> > ---
> >
> >   testsuites/psxtmtests/Makefile.am | 11 +++
> >   testsuites/psxtmtests/configure.ac|  1 +
> >   testsuites/psxtmtests/psxtmonce01/Makefile.am | 27 
> >   testsuites/psxtmtests/psxtmonce01/init.c  | 82
> +++
> >   testsuites/psxtmtests/psxtmonce01/psxtmonce01.doc | 18 +
> >   5 files changed, 139 insertions(+)
> >
> > diff --git a/testsuites/psxtmtests/Makefile.am
> b/testsuites/psxtmtests/Makefile.am
> > index 2669107..1607ac6 100644
> > --- a/testsuites/psxtmtests/Makefile.am
> > +++ b/testsuites/psxtmtests/Makefile.am
> > @@ -338,6 +338,17 @@ psxtmnanosleep02_CPPFLAGS = $(AM_CPPFLAGS) \
> >   -DOPERATION_COUNT=$(OPERATION_COUNT)
> >   endif
> >
> > +if TEST_psxtmonce01
> > +psxtm_tests += psxtmonce01
> > +psxtm_docs += psxtmonce01/psxtmonce01.doc
> > +psxtmonce01_SOURCES = psxtmonce01/init.c \
> > + ../tmtests/include/timesys.h
> ../support/src/tmtests_empty_function.c \
> > + ../support/src/tmtests_support.c
> > +psxtmonce01_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_psxtmonce01) \
> > + $(support_includes) -I$(top_srcdir)/../tmtests/include \
> > + -DOPERATION_COUNT=$(OPERATION_COUNT)
> > +endif
> > +
> >   if TEST_psxtmrwlock01
> >   psxtm_tests += psxtmrwlock01
> >   psxtm_docs += psxtmrwlock01/psxtmrwlock01.doc
> > diff --git a/testsuites/psxtmtests/configure.ac b/testsuites/psxtmtests/
> configure.ac
> > index 59192d0..0c3b143 100644
> > --- a/testsuites/psxtmtests/configure.ac
> > +++ b/testsuites/psxtmtests/configure.ac
> > @@ -59,6 +59,7 @@ RTEMS_TEST_CHECK([psxtmmutex06])
> >   RTEMS_TEST_CHECK([psxtmmutex07])
> >   RTEMS_TEST_CHECK([psxtmnanosleep01])
> >   RTEMS_TEST_CHECK([psxtmnanosleep02])
> > +RTEMS_TEST_CHECK([psxtmonce01])
> >   RTEMS_TEST_CHECK([psxtmrwlock01])
> >   RTEMS_TEST_CHECK([psxtmrwlock02])
> >   RTEMS_TEST_CHECK([psxtmrwlock03])
> > diff --git a/testsuites/psxtmtests/psxtmonce01/Makefile.am
> b/testsuites/psxtmtests/psxtmonce01/Makefile.am
> > new file mode 100644
> > index 000..242e393
> > --- /dev/null
> > +++ b/testsuites/psxtmtests/psxtmonce01/Makefile.am
> > @@ -0,0 +1,27 @@
> > +MANAGERS = all
> > +
> > +rtems_tests_PROGRAMS = psxtmonce01
> > +psxtmonce01_SOURCES  = init.c
> > +psxtmonce01_SOURCES += ../../tmtests/include/timesys.h
> > +psxtmonce01_SOURCES += ../../support/src/tmtests_empty_function.c
> > +psxtmonce01_SOURCES += ../../support/src/tmtests_support.c
> > +
> > +dist_rtems_tests_DATA = psxtmonce01.doc
> > +
> > +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
> > +include $(top_srcdir)/../automake/compile.am
> > +include $(top_srcdir)/../automake/leaf.am
> > +
> > +OPERATION_COUNT = @OPERATION_COUNT@
> > +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include
> > +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT)
> > +AM_CPPFLAGS += -I$(top_srcdir)/../support/include
> > +
> > +LINK_OBJS = $(psxtmonce01_OBJECTS) $(psxtmonce01_LDADD)
> > +LINK_LIBS = $(psxtmonce01_LDLIBS)
> > +
> > +psxtmonce01$(EXEEXT): $(psxtmonce01_OBJECTS) $(psxtmonce01_DEPENDENCIES)
> > + @rm -f psxtmonce01$(EXEEXT)
> > + $(make-exe)
> > +
> > +include $(top_srcdir)/../automake/local.am
>
> This testsuites/psxtmtests/psxtmonce01/Makefile.am is superfluous.
>
> > diff --git a/testsuites/psxtmtests/psxtmonce01/init.c
> b/testsuites/psxtmtests/psxtmonce01/init.c
> > new file mode 100644
> > index 000..5f8391a
> > --- /dev/null
> > +++ b/testsuites/psxtmtests/psxtmonce01/init.c
> > @@ -0,0 +1,82 @@
> > +/*
> > + *  COPYRIGHT (c) 2018.
> > + *  Himanshu Sekhar Nayak GCI 2018
> > + *
> > + *  Permission to use, copy, modify, and/or distribute this software
> > + *  for any purpose with or without fee is hereby granted.
> > + *
> > + *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
> > + *  WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
> > + *  WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
> AUTHOR
> > + *  BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
> DAMAGES
> > + *  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
> PROFITS,
> > + *  WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 

Counter vs Btimer for tmtests

2018-11-07 Thread Joel Sherrill
Hi

Do these report the same units?

If not, there are only *tmtests which use rtems/counter.h and thus would be
reporting numbers with different units than the btimer.

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

Re: Counter vs Btimer for tmtests

2018-11-07 Thread Sebastian Huber
- Am 7. Nov 2018 um 18:13 schrieb joel j...@rtems.org:

> Hi
> 
> Do these report the same units?

Not necessarily.

> 
> If not, there are only *tmtests which use rtems/counter.h and thus would be
> reporting numbers with different units than the btimer.

You can convert the counter value to nanoseconds:

https://docs.rtems.org/doxygen/branches/master/group__ClassicCounter.html#ga3e50a042e60bfcafdff5dbd46cad8947

This is used by some tests for the XML output which can be used to plot some 
graphs:

https://git.rtems.org/rtems/tree/testsuites/tmtests/tmcontext01/tmcontext01.scn
https://git.rtems.org/rtems/tree/testsuites/tmtests/tmcontext01/plot.py
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: Counter vs Btimer for tmtests

2018-11-07 Thread Joel Sherrill
Thanks.

A ticket needs to be filed to convert the tests if the counter works on all
BSPs.
What are the BSP requirements for counter?

Also, it likely means that results need to be recalibrated and cannot be
compared
for historical purposes.

At this point, I consider the two tests using counter future looking and
outliers.

--joel

On Wed, Nov 7, 2018 at 12:00 PM Sebastian Huber <
sebastian.hu...@embedded-brains.de> wrote:

> - Am 7. Nov 2018 um 18:13 schrieb joel j...@rtems.org:
>
> > Hi
> >
> > Do these report the same units?
>
> Not necessarily.
>
> >
> > If not, there are only *tmtests which use rtems/counter.h and thus would
> be
> > reporting numbers with different units than the btimer.
>
> You can convert the counter value to nanoseconds:
>
>
> https://docs.rtems.org/doxygen/branches/master/group__ClassicCounter.html#ga3e50a042e60bfcafdff5dbd46cad8947
>
> This is used by some tests for the XML output which can be used to plot
> some graphs:
>
>
> https://git.rtems.org/rtems/tree/testsuites/tmtests/tmcontext01/tmcontext01.scn
> https://git.rtems.org/rtems/tree/testsuites/tmtests/tmcontext01/plot.py
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

[PATCH] m68k/mcf52235: Add missing Copyright/License notices

2018-11-07 Thread Joel Sherrill
From: Marçal Comajoan Cara 

Closes #2541.
---
 bsps/m68k/mcf52235/btimer/btimer.c   | 11 +++
 bsps/m68k/mcf52235/clock/clock.c | 13 +
 bsps/m68k/mcf52235/console/console.c | 26 +-
 bsps/m68k/mcf52235/console/debugio.c | 19 ++-
 bsps/m68k/mcf52235/include/bsp.h | 14 +-
 bsps/m68k/mcf52235/include/tm27.h| 10 +-
 bsps/m68k/mcf52235/start/init52235.c | 12 
 bsps/m68k/mcf52235/start/linkcmds| 11 ---
 bsps/m68k/mcf52235/start/start.S |  9 +++--
 9 files changed, 104 insertions(+), 21 deletions(-)

diff --git a/bsps/m68k/mcf52235/btimer/btimer.c 
b/bsps/m68k/mcf52235/btimer/btimer.c
index f912254..5987481 100644
--- a/bsps/m68k/mcf52235/btimer/btimer.c
+++ b/bsps/m68k/mcf52235/btimer/btimer.c
@@ -2,10 +2,13 @@
  *  Timer Init
  *
  *  Use the last DMA timer (DTIM3) as the diagnostic timer.
- *
- *  Author: W. Eric Norum 
- *
- *  COPYRIGHT (c) 2005.
+ */
+
+/*
+ *  COPYRIGHT (c) 2018
+ *  Eric Norum 
+ *  Matthew Riek 
+ *  Ralf Corsepius 
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
diff --git a/bsps/m68k/mcf52235/clock/clock.c b/bsps/m68k/mcf52235/clock/clock.c
index d5e1817..f40abbc 100644
--- a/bsps/m68k/mcf52235/clock/clock.c
+++ b/bsps/m68k/mcf52235/clock/clock.c
@@ -2,6 +2,19 @@
  * Use the last periodic interval timer (PIT2) as the system clock.
  */
 
+/*
+ *  COPYRIGHT (c) 2018
+ *  Alexander Krutwig 
+ *  Matthew Riek 
+ *  Ralf Corsepius 
+ *  Sebastian Huber 
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
+ */
+
 #include 
 #include 
 #include 
diff --git a/bsps/m68k/mcf52235/console/console.c 
b/bsps/m68k/mcf52235/console/console.c
index c2b6e36..68d2b5e 100644
--- a/bsps/m68k/mcf52235/console/console.c
+++ b/bsps/m68k/mcf52235/console/console.c
@@ -1,8 +1,24 @@
- /*
-  *  Multi UART console serial I/O.
-  *
-  * TO DO: Add DMA input/output
-  */
+/*
+ *  Multi UART console serial I/O.
+ *
+ *  TO DO: Add DMA input/output
+ */
+
+/*
+ *  COPYRIGHT (c) 2018
+ *  Eric Norum 
+ *  Kevin Kirspel 
+ *  Matthew Riek 
+ *  Mike Bertosh 
+ *  Ralf Corsepius 
+ *  Sebastian Huber 
+ *  Thomas Doerfler 
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
+ */
 
 #include 
 #include 
diff --git a/bsps/m68k/mcf52235/console/debugio.c 
b/bsps/m68k/mcf52235/console/debugio.c
index 1fbf4b0..e1c1aaa 100644
--- a/bsps/m68k/mcf52235/console/debugio.c
+++ b/bsps/m68k/mcf52235/console/debugio.c
@@ -1,8 +1,17 @@
- /*
-  *  Multi UART console serial I/O.
-  *
-  * TO DO: Add DMA input/output
-  */
+/*
+ *  Multi UART console serial I/O.
+ *
+ *  TO DO: Add DMA input/output
+ */
+
+/*
+ *  COPYRIGHT (c) 2018
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
+ */
 
 #include 
 #include 
diff --git a/bsps/m68k/mcf52235/include/bsp.h b/bsps/m68k/mcf52235/include/bsp.h
index ef3b928..465ecdd 100644
--- a/bsps/m68k/mcf52235/include/bsp.h
+++ b/bsps/m68k/mcf52235/include/bsp.h
@@ -7,7 +7,19 @@
  */
 
 /*
- *  mcf52235 BSP header file
+ *  COPYRIGHT (c) 2018
+ *  Chris Johns 
+ *  Eric Norum 
+ *  Gedare Bloom 
+ *  Matthew Riek 
+ *  Mike Bertosh 
+ *  Ralf Corsepius 
+ *  Sebastian Huber 
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
  */
 
 #ifndef LIBBSP_M68K_MCF52235_BSP_H
diff --git a/bsps/m68k/mcf52235/include/tm27.h 
b/bsps/m68k/mcf52235/include/tm27.h
index b4b62ef..9d3af4b 100644
--- a/bsps/m68k/mcf52235/include/tm27.h
+++ b/bsps/m68k/mcf52235/include/tm27.h
@@ -1,10 +1,18 @@
-/*
+/**
  * @file
+ *
  * @ingroup m68k_mcf52235
+ *
  * @brief Implementations for interrupt mechanisms for Time Test 27
  */
 
 /*
+ *  COPYRIGHT (c) 2018
+ *  Chris Johns 
+ *  Matthew Riek 
+ *  Mike Bertosh 
+ *  Ralf Corsepius 
+ *
  *  The license and distribution terms for this file may be
  *  found in the file LICENSE in this distribution or at
  *  http://www.rtems.org/license/LICENSE.
diff --git a/bsps/m68k/mcf52235/start/init52235.c 
b/bsps/m68k/mcf52235/start/init52235.c
index d54b624..505d9ac 100644
--- a/bsps/m68k/mcf52235/start/init52235.c
+++ b/bsps/m68k/mcf52235/start/init52235.c
@@ -4,6 +4,18 @@
  *  functions can be called from here.
  */
 
+/*
+ *  COPYRIGHT (c) 2018
+ *  Chris Johns 
+ *  Matthew Riek 
+ *  Sebastian Huber 
+ *  On-Line Applications Researc

[PATCH v2] m68k/mcf52235: Add missing Copyright/License notices

2018-11-07 Thread Joel Sherrill
From: Sal 

This work was part of GCI 2018.

Closes #2541.
---
 bsps/m68k/mcf52235/btimer/btimer.c   | 11 +++
 bsps/m68k/mcf52235/clock/clock.c | 13 +
 bsps/m68k/mcf52235/console/console.c | 26 +-
 bsps/m68k/mcf52235/console/debugio.c | 19 ++-
 bsps/m68k/mcf52235/include/bsp.h | 14 +-
 bsps/m68k/mcf52235/include/tm27.h| 10 +-
 bsps/m68k/mcf52235/start/init52235.c | 12 
 bsps/m68k/mcf52235/start/linkcmds| 11 ---
 bsps/m68k/mcf52235/start/start.S |  9 +++--
 9 files changed, 104 insertions(+), 21 deletions(-)

diff --git a/bsps/m68k/mcf52235/btimer/btimer.c 
b/bsps/m68k/mcf52235/btimer/btimer.c
index f912254..5987481 100644
--- a/bsps/m68k/mcf52235/btimer/btimer.c
+++ b/bsps/m68k/mcf52235/btimer/btimer.c
@@ -2,10 +2,13 @@
  *  Timer Init
  *
  *  Use the last DMA timer (DTIM3) as the diagnostic timer.
- *
- *  Author: W. Eric Norum 
- *
- *  COPYRIGHT (c) 2005.
+ */
+
+/*
+ *  COPYRIGHT (c) 2018
+ *  Eric Norum 
+ *  Matthew Riek 
+ *  Ralf Corsepius 
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
diff --git a/bsps/m68k/mcf52235/clock/clock.c b/bsps/m68k/mcf52235/clock/clock.c
index d5e1817..f40abbc 100644
--- a/bsps/m68k/mcf52235/clock/clock.c
+++ b/bsps/m68k/mcf52235/clock/clock.c
@@ -2,6 +2,19 @@
  * Use the last periodic interval timer (PIT2) as the system clock.
  */
 
+/*
+ *  COPYRIGHT (c) 2018
+ *  Alexander Krutwig 
+ *  Matthew Riek 
+ *  Ralf Corsepius 
+ *  Sebastian Huber 
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
+ */
+
 #include 
 #include 
 #include 
diff --git a/bsps/m68k/mcf52235/console/console.c 
b/bsps/m68k/mcf52235/console/console.c
index c2b6e36..68d2b5e 100644
--- a/bsps/m68k/mcf52235/console/console.c
+++ b/bsps/m68k/mcf52235/console/console.c
@@ -1,8 +1,24 @@
- /*
-  *  Multi UART console serial I/O.
-  *
-  * TO DO: Add DMA input/output
-  */
+/*
+ *  Multi UART console serial I/O.
+ *
+ *  TO DO: Add DMA input/output
+ */
+
+/*
+ *  COPYRIGHT (c) 2018
+ *  Eric Norum 
+ *  Kevin Kirspel 
+ *  Matthew Riek 
+ *  Mike Bertosh 
+ *  Ralf Corsepius 
+ *  Sebastian Huber 
+ *  Thomas Doerfler 
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
+ */
 
 #include 
 #include 
diff --git a/bsps/m68k/mcf52235/console/debugio.c 
b/bsps/m68k/mcf52235/console/debugio.c
index 1fbf4b0..e1c1aaa 100644
--- a/bsps/m68k/mcf52235/console/debugio.c
+++ b/bsps/m68k/mcf52235/console/debugio.c
@@ -1,8 +1,17 @@
- /*
-  *  Multi UART console serial I/O.
-  *
-  * TO DO: Add DMA input/output
-  */
+/*
+ *  Multi UART console serial I/O.
+ *
+ *  TO DO: Add DMA input/output
+ */
+
+/*
+ *  COPYRIGHT (c) 2018
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
+ */
 
 #include 
 #include 
diff --git a/bsps/m68k/mcf52235/include/bsp.h b/bsps/m68k/mcf52235/include/bsp.h
index ef3b928..465ecdd 100644
--- a/bsps/m68k/mcf52235/include/bsp.h
+++ b/bsps/m68k/mcf52235/include/bsp.h
@@ -7,7 +7,19 @@
  */
 
 /*
- *  mcf52235 BSP header file
+ *  COPYRIGHT (c) 2018
+ *  Chris Johns 
+ *  Eric Norum 
+ *  Gedare Bloom 
+ *  Matthew Riek 
+ *  Mike Bertosh 
+ *  Ralf Corsepius 
+ *  Sebastian Huber 
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
  */
 
 #ifndef LIBBSP_M68K_MCF52235_BSP_H
diff --git a/bsps/m68k/mcf52235/include/tm27.h 
b/bsps/m68k/mcf52235/include/tm27.h
index b4b62ef..9d3af4b 100644
--- a/bsps/m68k/mcf52235/include/tm27.h
+++ b/bsps/m68k/mcf52235/include/tm27.h
@@ -1,10 +1,18 @@
-/*
+/**
  * @file
+ *
  * @ingroup m68k_mcf52235
+ *
  * @brief Implementations for interrupt mechanisms for Time Test 27
  */
 
 /*
+ *  COPYRIGHT (c) 2018
+ *  Chris Johns 
+ *  Matthew Riek 
+ *  Mike Bertosh 
+ *  Ralf Corsepius 
+ *
  *  The license and distribution terms for this file may be
  *  found in the file LICENSE in this distribution or at
  *  http://www.rtems.org/license/LICENSE.
diff --git a/bsps/m68k/mcf52235/start/init52235.c 
b/bsps/m68k/mcf52235/start/init52235.c
index d54b624..505d9ac 100644
--- a/bsps/m68k/mcf52235/start/init52235.c
+++ b/bsps/m68k/mcf52235/start/init52235.c
@@ -4,6 +4,18 @@
  *  functions can be called from here.
  */
 
+/*
+ *  COPYRIGHT (c) 2018
+ *  Chris Johns 
+ *  Matthew Riek 
+ *  Sebastian Huber 
+ *  On-Line Appl

arm/altera-cyclone-v doxygen patch

2018-11-07 Thread Gedare Bloom
Attached is a patch from GCI 2018 adding doxygen to the altera-cyclone-v.


6545323948244992_1541638792_0001-arm-altera-cyclone-v-Update-Doxygen-GCI-2018.patch
Description: Binary data
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: Move *_Control types of API objects to separate header file

2018-11-07 Thread Chris Johns
On 08/11/2018 00:14, Sebastian Huber wrote:
> 
> the  header file still exposes a lot of implementation details via 
> the
> definition of the *_Control structures of the API objects. They are only
> necessary for the application configuration. I would like to move them to
> separate header files. Currently we have:
> 
> 
> 
> 
> I need a new name for this header file. For example:
> 
> 
> 
> An example patch is attached. Comments?
> 
>  cpukit/include/rtems/confdefs.h  |   1 +
>  cpukit/include/rtems/rtems/ratemon.h | 111 +---
>  cpukit/include/rtems/rtems/ratemondata.h | 123 
> +++

This is the ratemon "control struct" so does `ratemonctrl.h` work?

Which ever way you go please make sure it will work for all the cases you wish
to change, for example these do not work `foodatadata.h`, or `fooctrlctrl.h`.

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


Re: Counter vs Btimer for tmtests

2018-11-07 Thread Sebastian Huber

On 07/11/2018 19:05, Joel Sherrill wrote:

Thanks.

A ticket needs to be filed to convert the tests if the counter works 
on all BSPs.


https://devel.rtems.org/ticket/2847


What are the BSP requirements for counter?


The BSP needs a free running counter which is not affected by power 
saving states of the processor.




Also, it likely means that results need to be recalibrated and cannot 
be compared

for historical purposes.


The CPU counter will likely use the same device as the timer driver.



At this point, I consider the two tests using counter future looking 
and outliers.


--joel

On Wed, Nov 7, 2018 at 12:00 PM Sebastian Huber 
> wrote:


- Am 7. Nov 2018 um 18:13 schrieb joel j...@rtems.org
:

> Hi
>
> Do these report the same units?

Not necessarily.

>
> If not, there are only *tmtests which use rtems/counter.h and
thus would be
> reporting numbers with different units than the btimer.

You can convert the counter value to nanoseconds:


https://docs.rtems.org/doxygen/branches/master/group__ClassicCounter.html#ga3e50a042e60bfcafdff5dbd46cad8947

This is used by some tests for the XML output which can be used to
plot some graphs:


https://git.rtems.org/rtems/tree/testsuites/tmtests/tmcontext01/tmcontext01.scn
https://git.rtems.org/rtems/tree/testsuites/tmtests/tmcontext01/plot.py



--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

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

Re: Move *_Control types of API objects to separate header file

2018-11-07 Thread Sebastian Huber

On 08/11/2018 05:36, Chris Johns wrote:

On 08/11/2018 00:14, Sebastian Huber wrote:

the  header file still exposes a lot of implementation details via the
definition of the *_Control structures of the API objects. They are only
necessary for the application configuration. I would like to move them to
separate header files. Currently we have:




I need a new name for this header file. For example:



An example patch is attached. Comments?

  cpukit/include/rtems/confdefs.h  |   1 +
  cpukit/include/rtems/rtems/ratemon.h | 111 +---
  cpukit/include/rtems/rtems/ratemondata.h | 123 +++

This is the ratemon "control struct" so does `ratemonctrl.h` work?


It contains also Rate_monotonic_Statistics, but most of the time it is 
just XYZ_Control.




Which ever way you go please make sure it will work for all the cases you wish
to change, for example these do not work `foodatadata.h`, or `fooctrlctrl.h`.


It would be:

rtems/posix/mqueuectrl.h
rtems/posix/psignalctrl.h
rtems/posix/semaphorectrl.h
rtems/posix/shmctrl.h
rtems/posix/timerctrl.h
rtems/rtems/asrctrl.h
rtems/rtems/attrctrl.h
rtems/rtems/barrierctrl.h
rtems/rtems/dpmemctrl.h
rtems/rtems/eventctrl.h
rtems/rtems/messagectrl.h
rtems/rtems/modesctrl.h
rtems/rtems/optionsctrl.h
rtems/rtems/partctrl.h
rtems/rtems/ratemonctrl.h
rtems/rtems/regionctrl.h
rtems/rtems/semctrl.h
rtems/rtems/signalctrl.h
rtems/rtems/statusctrl.h
rtems/rtems/tasksctrl.h
rtems/rtems/timerctrl.h

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

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

Re: [PATCH v2] m68k/mcf52235: Add missing Copyright/License notices

2018-11-07 Thread Sebastian Huber

On 07/11/2018 19:22, Joel Sherrill wrote:

From: Sal

This work was part of GCI 2018.

Closes #2541.
---
  bsps/m68k/mcf52235/btimer/btimer.c   | 11 +++
  bsps/m68k/mcf52235/clock/clock.c | 13 +
  bsps/m68k/mcf52235/console/console.c | 26 +-
  bsps/m68k/mcf52235/console/debugio.c | 19 ++-
  bsps/m68k/mcf52235/include/bsp.h | 14 +-
  bsps/m68k/mcf52235/include/tm27.h| 10 +-
  bsps/m68k/mcf52235/start/init52235.c | 12 
  bsps/m68k/mcf52235/start/linkcmds| 11 ---
  bsps/m68k/mcf52235/start/start.S |  9 +++--
  9 files changed, 104 insertions(+), 21 deletions(-)

diff --git a/bsps/m68k/mcf52235/btimer/btimer.c 
b/bsps/m68k/mcf52235/btimer/btimer.c
index f912254..5987481 100644
--- a/bsps/m68k/mcf52235/btimer/btimer.c
+++ b/bsps/m68k/mcf52235/btimer/btimer.c
@@ -2,10 +2,13 @@
   *  Timer Init
   *
   *  Use the last DMA timer (DTIM3) as the diagnostic timer.
- *
- *  Author: W. Eric Norum
- *
- *  COPYRIGHT (c) 2005.
+ */
+
+/*
+ *  COPYRIGHT (c) 2018


Is the Copyright date correct?

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

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

Re: arm/altera-cyclone-v doxygen patch

2018-11-07 Thread Sebastian Huber

On 08/11/2018 04:52, Gedare Bloom wrote:

Attached is a patch from GCI 2018 adding doxygen to the altera-cyclone-v.

6545323948244992_1541638792_0001-arm-altera-cyclone-v-Update-Doxygen-GCI-2018.patch

 From f69a935ea34fb617cab4632830e60184fe380d30 Mon Sep 17 00:00:00 2001
From: shashvatjain
Date: Thu, 8 Nov 2018 06:17:49 +0530
Subject: [PATCH] arm/altera cyclone v: Update Doxygen (GCI 2018)

---
  bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h |  9 
  bsps/arm/altera-cyclone-v/include/bsp.h   | 18 +++
  bsps/arm/altera-cyclone-v/include/bsp/hwlib.h | 16 ++
  .../arm/altera-cyclone-v/include/bsp/i2cdrv.h | 17 ++
  bsps/arm/altera-cyclone-v/include/bsp/irq.h   | 22 ++-
  5 files changed, 81 insertions(+), 1 deletion(-)

diff --git a/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h 
b/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
index 650974751e..529d19980f 100644
--- a/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
+++ b/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h
@@ -1,3 +1,12 @@
+/**
+ * @file
+ *
+ * @ingroup altera-cyclone-v_i2c


I think CamelCase is used in most places for Doxygen internal names.


+ *
+ * @brief Drivers for I2C
+ *
+ */
+
  /*
   * Copyright (c) 2014 embedded brains GmbH.  All rights reserved.
   *
diff --git a/bsps/arm/altera-cyclone-v/include/bsp.h 
b/bsps/arm/altera-cyclone-v/include/bsp.h
index 860a15c5bf..92bc95531b 100644
--- a/bsps/arm/altera-cyclone-v/include/bsp.h
+++ b/bsps/arm/altera-cyclone-v/include/bsp.h
@@ -1,3 +1,11 @@
+/**
+ * @file
+ *
+ * @ingroup arm_altera-cyclone-v
+ *
+ * @brief Global BSP definitions.
+ */
+
  /*
   * Copyright (c) 2013, 2018 embedded brains GmbH.  All rights reserved.
   *
@@ -50,3 +58,13 @@ extern "C" {
  #endif /* ASM */
  
  #endif /* LIBBSP_ARM_ALTERA_CYCLONE_V_BSP_H */

+
+/**
+ * @defgroup arm_altera-cyclone-v Altera Cyclone V Support
+ *
+ * @ingroup bsp_arm
+ *
+ * @brief Altera Cyclone V support package.
+ *
+ * @{
+ */
diff --git a/bsps/arm/altera-cyclone-v/include/bsp/hwlib.h 
b/bsps/arm/altera-cyclone-v/include/bsp/hwlib.h
index aba7e877c4..8aad5d7b32 100644
--- a/bsps/arm/altera-cyclone-v/include/bsp/hwlib.h
+++ b/bsps/arm/altera-cyclone-v/include/bsp/hwlib.h
@@ -1,3 +1,11 @@
+/**
+ * @file
+ *
+ * @ingroup altera-cyclone-v_hwlib
+ *
+ * @brief The type definition for status codes returned by the HWLIB.
+ */
+
  
/**
  *
  * Copyright 2013 Altera Corporation. All Rights Reserved.
@@ -48,6 +56,14 @@ extern "C"
  {
  #endif  /* __cplusplus */
  
+/**

+ * @defgroup altera-cyclone-v_hwlib Hwlib
+ *
+ * @ingroup arm_altera-cyclone-v
+ *
+ * @brief The type definition for status codes returned by the HWLIB.
+ */
+
  /*!
   * The type definition for status codes returned by the HWLIB.
   */
diff --git a/bsps/arm/altera-cyclone-v/include/bsp/i2cdrv.h 
b/bsps/arm/altera-cyclone-v/include/bsp/i2cdrv.h
index 9a4411d637..114d8a6219 100644
--- a/bsps/arm/altera-cyclone-v/include/bsp/i2cdrv.h
+++ b/bsps/arm/altera-cyclone-v/include/bsp/i2cdrv.h
@@ -1,3 +1,11 @@
+/**
+ * @file
+ *
+ * @ingroup altera-cyclone-v_i2c
+ *
+ * @brief Drivers for I2C
+ */
+
  /*
   * Copyright (c) 2014 embedded brains GmbH.  All rights reserved.
   *
@@ -21,6 +29,15 @@
  extern "C" {
  #endif /* __cplusplus */
  
+/**

+ * @defgroup altera-cyclone-v_i2c I2C Support
+ *
+ * @ingroup arm_altera-cyclone-v
+ *
+ * @brief I2C Support
+ *
+ */
+
  rtems_device_driver i2cdrv_initialize(
rtems_device_major_number major,
rtems_device_minor_number minor,
diff --git a/bsps/arm/altera-cyclone-v/include/bsp/irq.h 
b/bsps/arm/altera-cyclone-v/include/bsp/irq.h
index c136500415..f7455af9b4 100644
--- a/bsps/arm/altera-cyclone-v/include/bsp/irq.h
+++ b/bsps/arm/altera-cyclone-v/include/bsp/irq.h
@@ -1,3 +1,11 @@
+/**
+ * @file
+ *
+ * @ingroup altera-cyclone-v_interrupt
+ *
+ * @brief Interrupt definitions.
+ */
+
  /*
   * Copyright (c) 2013 embedded brains GmbH.  All rights reserved.
   *
@@ -28,6 +36,18 @@
  extern "C" {
  #endif /* __cplusplus */
  
+/**

+ * @defgroup altera-cyclone-v_interrupt Interrupt Support
+ *
+ * @ingroup arm_altera-cyclone-v
+ *
+ * @ingroup bsp_interrupt


Does it work to place it into two groups?


+ *
+ * @brief Interrupt Support for Altera cyclone V


Cyclone


+ *
+ * @{
+ */
+
  /* Use interrupt IDs as defined in alt_interrupt_common.h */
  #define BSP_INTERRUPT_VECTOR_MIN ALT_INT_INTERRUPT_SGI0
  #define BSP_INTERRUPT_VECTOR_MAX ALT_INT_INTERRUPT_RAM_ECC_UNCORRECTED_IRQ
@@ -38,4 +58,4 @@ extern "C" {
  
  #endif /* ASM */
  
-#endif /* LIBBSP_ARM_ALTERA_CYCLONE_V_IRQ_H */

\ No newline at end of file
+#endif /* LIBBSP_ARM_ALTERA_CYCLONE_V_IRQ_H */
-- 2.17.1


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Dies

Re: Move *_Control types of API objects to separate header file

2018-11-07 Thread Chris Johns
On 08/11/2018 17:22, Sebastian Huber wrote:
> On 08/11/2018 05:36, Chris Johns wrote:
>> On 08/11/2018 00:14, Sebastian Huber wrote:
>>> the  header file still exposes a lot of implementation details via 
>>> the
>>> definition of the *_Control structures of the API objects. They are only
>>> necessary for the application configuration. I would like to move them to
>>> separate header files. Currently we have:
>>>
>>> 
>>> 
>>>
>>> I need a new name for this header file. For example:
>>>
>>> 
>>>
>>> An example patch is attached. Comments?
>>>
>>>   cpukit/include/rtems/confdefs.h  |   1 +
>>>   cpukit/include/rtems/rtems/ratemon.h | 111 
>>> +---
>>>   cpukit/include/rtems/rtems/ratemondata.h | 123 
>>> +++
>> This is the ratemon "control struct" so does `ratemonctrl.h` work?
> 
> It contains also Rate_monotonic_Statistics, but most of the time it is just
> XYZ_Control.
> 
>>
>> Which ever way you go please make sure it will work for all the cases you 
>> wish
>> to change, for example these do not work `foodatadata.h`, or `fooctrlctrl.h`.
> 
> It would be:
> 
> rtems/posix/mqueuectrl.h
> rtems/posix/psignalctrl.h
> rtems/posix/semaphorectrl.h
> rtems/posix/shmctrl.h
> rtems/posix/timerctrl.h
> rtems/rtems/asrctrl.h
> rtems/rtems/attrctrl.h
> rtems/rtems/barrierctrl.h
> rtems/rtems/dpmemctrl.h
> rtems/rtems/eventctrl.h
> rtems/rtems/messagectrl.h
> rtems/rtems/modesctrl.h
> rtems/rtems/optionsctrl.h
> rtems/rtems/partctrl.h
> rtems/rtems/ratemonctrl.h
> rtems/rtems/regionctrl.h
> rtems/rtems/semctrl.h
> rtems/rtems/signalctrl.h
> rtems/rtems/statusctrl.h
> rtems/rtems/tasksctrl.h
> rtems/rtems/timerctrl.h
> 

Thanks for the list. Both work. I will let you decide :)

Chris

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

[PATCH 0/5] Deprecate some types

2018-11-07 Thread Sebastian Huber
Sebastian Huber (5):
  rtems: Deprecate rtems_context
  rtems: Deprecate rtems_context_fp
  rtems: Deprecate region_information_block
  rtems: Deprecate rtems_thread_cpu_usage_t
  rtems: Deprecate rtems_rate_monotonic_period_time_t

 cpukit/include/rtems/rtems/ratemon.h   | 18 +-
 cpukit/include/rtems/rtems/types.h |  8 
 cpukit/libmisc/cpuuse/cpuusagetop.c|  2 +-
 cpukit/libmisc/shell/main_mallocinfo.c |  2 +-
 4 files changed, 15 insertions(+), 15 deletions(-)

-- 
2.16.4

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


[PATCH 3/5] rtems: Deprecate region_information_block

2018-11-07 Thread Sebastian Huber
The region_information_block typedef as no corresponding API.  It has no
proper namespace prefix.  A user can do nothing with it.

Close #3591.
---
 cpukit/include/rtems/rtems/types.h | 2 +-
 cpukit/libmisc/cpuuse/cpuusagetop.c| 2 +-
 cpukit/libmisc/shell/main_mallocinfo.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 710e878666..d551fce213 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -115,7 +115,7 @@ typedef CPU_Interrupt_framertems_interrupt_frame;
  * @brief Information structure returned by the Heap Handler via the Region
  * Manager.
  */
-typedef Heap_Information_block region_information_block;
+typedef Heap_Information_block region_information_block RTEMS_DEPRECATED;
 
 /**
  * @brief Used to manage and manipulate intervals specified by
diff --git a/cpukit/libmisc/cpuuse/cpuusagetop.c 
b/cpukit/libmisc/cpuuse/cpuusagetop.c
index ee5d79051f..8e0063bc88 100644
--- a/cpukit/libmisc/cpuuse/cpuusagetop.c
+++ b/cpukit/libmisc/cpuuse/cpuusagetop.c
@@ -395,7 +395,7 @@ rtems_cpuusage_top_thread (rtems_task_argument arg)
 }
 else
 {
-  region_information_block libc_heap;
+  Heap_Information_block libc_heap;
   malloc_info(&libc_heap);
   rtems_printf(data->printer, "\nMem: Wksp: ");
   print_memsize(data, wksp.Free.total, "free");
diff --git a/cpukit/libmisc/shell/main_mallocinfo.c 
b/cpukit/libmisc/shell/main_mallocinfo.c
index 43e988376a..f5e6309211 100644
--- a/cpukit/libmisc/shell/main_mallocinfo.c
+++ b/cpukit/libmisc/shell/main_mallocinfo.c
@@ -31,7 +31,7 @@ static int rtems_shell_main_malloc_info(
   if ( argc == 2 && strcmp( argv[ 1 ], "walk" ) == 0 ) {
 malloc_walk( 0, true );
   } else {
-region_information_block info;
+Heap_Information_block info;
 
 rtems_shell_print_unified_work_area_message();
 malloc_info( &info );
-- 
2.16.4

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


[PATCH 1/5] rtems: Deprecate rtems_context

2018-11-07 Thread Sebastian Huber
The rtems_context typedef as no corresponding API.  A user can do
nothing with it.

Close #3587.
---
 cpukit/include/rtems/rtems/types.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 806fa44eb6..144b3cddb1 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -89,7 +89,7 @@ typedef Objects_Id   rtems_id;
 /**
  * @brief Public name for task context area.
  */
-typedef Context_Controlrtems_context;
+typedef Context_Controlrtems_context RTEMS_DEPRECATED;
 
 #if (CPU_HARDWARE_FP == TRUE) || (CPU_SOFTWARE_FP == TRUE)
 /**
-- 
2.16.4

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


[PATCH 2/5] rtems: Deprecate rtems_context_fp

2018-11-07 Thread Sebastian Huber
The rtems_context_fp typedef as no corresponding API.  A user can do
nothing with it.

Close #3589.
---
 cpukit/include/rtems/rtems/types.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index 144b3cddb1..710e878666 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -95,7 +95,7 @@ typedef Context_Controlrtems_context 
RTEMS_DEPRECATED;
 /**
  * @brief Public name for task floating point context area.
  */
-typedef Context_Control_fp rtems_context_fp;
+typedef Context_Control_fp rtems_context_fp RTEMS_DEPRECATED;
 #endif
 
 #if (CPU_ISR_PASSES_FRAME_POINTER == TRUE)
-- 
2.16.4

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


[PATCH 4/5] rtems: Deprecate rtems_thread_cpu_usage_t

2018-11-07 Thread Sebastian Huber
The rtems_thread_cpu_usage_t typedef as no corresponding API.  It
violates the POSIX namespace.  A user can do nothing with it.

Close #3593.
---
 cpukit/include/rtems/rtems/ratemon.h | 8 
 cpukit/include/rtems/rtems/types.h   | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/cpukit/include/rtems/rtems/ratemon.h 
b/cpukit/include/rtems/rtems/ratemon.h
index ca48a92983..eec5e48fea 100644
--- a/cpukit/include/rtems/rtems/ratemon.h
+++ b/cpukit/include/rtems/rtems/ratemon.h
@@ -120,11 +120,11 @@ typedef struct {
   uint32_t missed_count;
 
   /** This field contains the least amount of CPU time used in a period. */
-  rtems_thread_cpu_usage_t min_cpu_time;
+  struct timespec min_cpu_time;
   /** This field contains the highest amount of CPU time used in a period. */
-  rtems_thread_cpu_usage_t max_cpu_time;
+  struct timespec max_cpu_time;
   /** This field contains the total amount of wall time used in a period. */
-  rtems_thread_cpu_usage_t total_cpu_time;
+  struct timespec total_cpu_time;
 
   /** This field contains the least amount of wall time used in a period. */
   rtems_rate_monotonic_period_time_t   min_wall_time;
@@ -181,7 +181,7 @@ typedef struct {
*  was last initiated.  If the period is expired or has not been initiated,
*  then this field has no meaning.
*/
-  rtems_thread_cpu_usage_t executed_since_last_period;
+  struct timespec  executed_since_last_period;
 
   /** This is the count of postponed jobs of this period. */
   uint32_t postponed_jobs_count;
diff --git a/cpukit/include/rtems/rtems/types.h 
b/cpukit/include/rtems/rtems/types.h
index d551fce213..bb98100ead 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -129,7 +129,7 @@ typedef Watchdog_Interval rtems_interval;
  * When using nanoseconds granularity timing, RTEMS may internally use a
  * variety of representations.
  */
-typedef struct timespec rtems_thread_cpu_usage_t;
+typedef struct timespec rtems_thread_cpu_usage_t RTEMS_DEPRECATED;
 
 /**
  * @brief Data structure to manage and manipulate calendar
-- 
2.16.4

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


[PATCH 5/5] rtems: Deprecate rtems_rate_monotonic_period_time_t

2018-11-07 Thread Sebastian Huber
The rtems_rate_monotonic_period_time_t typedef as no corresponding API.
It violates the POSIX namespace.  A user can do nothing with it.

Close #3595.
---
 cpukit/include/rtems/rtems/ratemon.h | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/cpukit/include/rtems/rtems/ratemon.h 
b/cpukit/include/rtems/rtems/ratemon.h
index eec5e48fea..738dc5244d 100644
--- a/cpukit/include/rtems/rtems/ratemon.h
+++ b/cpukit/include/rtems/rtems/ratemon.h
@@ -66,7 +66,7 @@ extern "C" {
  */
 #include 
 
-typedef struct timespec rtems_rate_monotonic_period_time_t;
+typedef struct timespec rtems_rate_monotonic_period_time_t RTEMS_DEPRECATED;
 
 /**
  *  This is the internal type used for the rate monotonic timing
@@ -127,11 +127,11 @@ typedef struct {
   struct timespec total_cpu_time;
 
   /** This field contains the least amount of wall time used in a period. */
-  rtems_rate_monotonic_period_time_t   min_wall_time;
+  struct timespec min_wall_time;
   /** This field contains the highest amount of wall time used in a period. */
-  rtems_rate_monotonic_period_time_t   max_wall_time;
+  struct timespec max_wall_time;
   /** This field contains the total amount of CPU time used in a period. */
-  rtems_rate_monotonic_period_time_t   total_wall_time;
+  struct timespec total_wall_time;
 }  rtems_rate_monotonic_period_statistics;
 
 /**
@@ -174,7 +174,7 @@ typedef struct {
*  was last initiated.  If the period is expired or has not been initiated,
*  then this field has no meaning.
*/
-  rtems_rate_monotonic_period_time_t   since_last_period;
+  struct timespec  since_last_period;
 
   /**
*  This is the amount of CPU time that has been used since this period
-- 
2.16.4

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


Re: Move *_Control types of API objects to separate header file

2018-11-07 Thread Sebastian Huber

I added a ticket for this:

https://devel.rtems.org/ticket/3598

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

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

[PATCH] rtems: Move internal structures to ratemondata.h

2018-11-07 Thread Sebastian Huber
Update #3598.
---
 cpukit/headers.am|   1 +
 cpukit/include/rtems/confdefs.h  |   1 +
 cpukit/include/rtems/rtems/ratemon.h | 110 ---
 cpukit/include/rtems/rtems/ratemondata.h | 124 +++
 cpukit/include/rtems/rtems/ratemonimpl.h |   2 +-
 cpukit/include/rtems/rtems/types.h   |   1 +
 6 files changed, 128 insertions(+), 111 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/ratemondata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 3c5e7fe207..6e2b690cd5 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -251,6 +251,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/part.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/partimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/partmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/ratemon.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/ratemondata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/ratemonimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/region.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/regionimpl.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index b7ba7e9d11..410a4366a5 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -32,6 +32,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/cpukit/include/rtems/rtems/ratemon.h 
b/cpukit/include/rtems/rtems/ratemon.h
index 738dc5244d..747d967af2 100644
--- a/cpukit/include/rtems/rtems/ratemon.h
+++ b/cpukit/include/rtems/rtems/ratemon.h
@@ -35,7 +35,6 @@
 
 #include 
 #include 
-#include 
 #include 
 
 struct rtems_printer;
@@ -60,20 +59,8 @@ extern "C" {
  */
 /**@{*/
 
-/**
- *  This is the public type used for the rate monotonic timing
- *  statistics.
- */
-#include 
-
 typedef struct timespec rtems_rate_monotonic_period_time_t RTEMS_DEPRECATED;
 
-/**
- *  This is the internal type used for the rate monotonic timing
- *  statistics.
- */
-#include 
-
 /**
  *  The following enumerated type defines the states in which a
  *  period may be.
@@ -134,31 +121,6 @@ typedef struct {
   struct timespec total_wall_time;
 }  rtems_rate_monotonic_period_statistics;
 
-/**
- *  The following defines the INTERNAL data structure that has the
- *  statistics kept on each period instance.
- */
-typedef struct {
-  /** This field contains the number of periods executed. */
-  uint32_t count;
-  /** This field contains the number of periods missed. */
-  uint32_t missed_count;
-
-  /** This field contains the least amount of CPU time used in a period. */
-  Timestamp_Control min_cpu_time;
-  /** This field contains the highest amount of CPU time used in a period. */
-  Timestamp_Control max_cpu_time;
-  /** This field contains the total amount of wall time used in a period. */
-  Timestamp_Control total_cpu_time;
-
-  /** This field contains the least amount of wall time used in a period. */
-  Timestamp_Control min_wall_time;
-  /** This field contains the highest amount of wall time used in a period. */
-  Timestamp_Control max_wall_time;
-  /** This field contains the total amount of CPU time used in a period. */
-  Timestamp_Control total_wall_time;
-}  Rate_monotonic_Statistics;
-
 /**
  *  The following defines the period status structure.
  */
@@ -187,78 +149,6 @@ typedef struct {
   uint32_t postponed_jobs_count;
 }  rtems_rate_monotonic_period_status;
 
-/**
- * @brief The following structure defines the control block used to manage each
- * period.
- *
- * State changes are protected by the default thread lock of the owner thread.
- * The owner thread is the thread that created the period object.  The owner
- * thread field is immutable after object creation.
- */
-typedef struct {
-  /** This field is the object management portion of a Period instance. */
-  Objects_Control Object;
-
-  /**
-   * @brief Protects the rate monotonic period state.
-   */
-  ISR_LOCK_MEMBER(Lock )
-
-  /** This is the timer used to provide the unblocking mechanism. */
-  Watchdog_ControlTimer;
-
-  /** This field indicates the current state of the period. */
-  rtems_rate_monotonic_period_states  state;
-
-  /**
-   * @brief A priority node for use by the scheduler job release and cancel
-   * operations.
-   */
-  Priority_Node   Priority;
-
-  /**
-   * This field contains the length of the next period to be
-   * executed.
-   */
-  uint32_tnext_length;
-
-  /**
-   * This field contains a pointer to the TCB for the thread
-   * which owns and uses this period instance.
-   */
-  Thread_Control *owner;
-
-  /**
-   * This field contains the cpu usage value of the owning thread when
-   * the period was initiated.  It is used to compute the period's
-   * s