Re: [RTEMS Project] #3569: waf version in rtems-tools incompatible with python3

2018-12-18 Thread RTEMS trac
#3569: waf version in rtems-tools incompatible with python3
-+--
 Reporter:  Malte Münch  |   Owner:  Chris Johns
 Type:  defect   |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  tool/rsb | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:  waf, python  |  Blocked By:
 Blocking:   |
-+--

Comment (by Christian Mauderer):

 This is a problem with old waf versions and python 3.7. See
 https://gitlab.com/ita1024/waf/commit/facdc0b173d933073832c768ec1917c553cb369c
 for details.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3569: waf version in rtems-tools incompatible with python3

2018-12-18 Thread RTEMS trac
#3569: waf version in rtems-tools incompatible with python3
-+--
 Reporter:  Malte Münch  |   Owner:  Chris Johns
 Type:  defect   |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  tool/rsb | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:  waf, python  |  Blocked By:
 Blocking:   |
-+--

Comment (by Christian Mauderer ):

 In [changeset:"e59f4ee300ba71db46b35e04afe541d9125eb8d6/rtems-tools"
 e59f4ee/rtems-tools]:
 {{{
 #!CommitTicketReference repository="rtems-tools"
 revision="e59f4ee300ba71db46b35e04afe541d9125eb8d6"
 waf: Update to waf-2.0.13.

 This fixes a problem with python 3.7.

 Update #3569.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3053: Change RTEMS License to Two Paragraph BSD

2018-12-18 Thread RTEMS trac
#3053: Change RTEMS License to Two Paragraph BSD
---+-
 Reporter:  Joel Sherrill  |   Owner:  (none)
 Type:  enhancement|  Status:  new
 Priority:  high   |   Milestone:  Indefinite
Component:  unspecified| Version:  5
 Severity:  normal |  Resolution:
 Keywords:  license, BSD   |  Blocked By:
 Blocking: |
---+-

Comment (by Gedare):

 I sent in a letter to grant permission for re-licensing.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

[RTEMS Project] #3665: Add low level event recording infrastructure

2018-12-18 Thread RTEMS trac
#3665: Add low level event recording infrastructure
--+-
  Reporter:  Sebastian Huber  |  Owner:  Sebastian Huber
  Type:  enhancement  | Status:  assigned
  Priority:  normal   |  Milestone:  5.1
 Component:  lib  |Version:  5
  Severity:  normal   |   Keywords:
Blocked By:   |   Blocking:
--+-
 Add low level event recording infrastructure for system and user defined
 events. The infrastructure should be able to record high frequency events
 such as

 * SMP lock acquire/release,
 * interrupt entry/exit,
 * thread switches,
 * UMA zone allocate/free,
 * Ethernet packet input/output, etc.

 It should allow post-mortem analysis in fatal error handlers, e.g. the
 last events should be in the record buffer, the newest event overwrites
 the oldest event. It should be possible to detect record buffer overflows
 for consumers that expect a continuous stream of events, e.g. to display
 the system state in real-time.

 The framework should support high-end SMP machines (more than 1GHz
 processor frequency, more than four processors).

 The existing capture engine tries to solve this problem, but its
 performance is not good enough for high-end production systems. The main
 issues are the variable-size buffers and the use of SMP locks for
 synchronization. To fix this, the API would change significantly.

 Add a new API instead. The implementation should use per-processor data
 structures and no atomic read-modify-write operations. It is pretty much a
 per-processor ring buffer for record events.

 Use the CPU counter to get the time of events. Combine it with periodic
 uptime events to synchronize it with CLOCK_REALTIME.

 Here is an example of the
 {{{
 /**
  * @brief Produces a record item.
  *
  * @param event The record event without a time stamp for the item.
  * @param data The record data for the item.
  */
 void rtems_record_produce( rtems_record_event event, rtems_record_data
 data );
 }}}
 function PowerPC machine code generated by GCC:
 {{{
  :
0:   7d 00 00 a6 mfmsr   r8
4:   7c 00 01 46 wrteei  0
8:   7d 2e 82 a6 mfspr   r9,526
c:   7d 50 42 a6 mfsprg  r10,0
   10:   81 4a 02 b4 lwz r10,692(r10)
   14:   55 29 50 2a rlwinm  r9,r9,10,0,21
   18:   7d 23 1b 78 or  r3,r9,r3
   1c:   81 2a 00 00 lwz r9,0(r10)
   20:   80 ca 00 08 lwz r6,8(r10)
   24:   38 e9 00 01 addir7,r9,1
   28:   7d 29 30 38 and r9,r9,r6
   2c:   55 29 18 38 rlwinm  r9,r9,3,0,28
   30:   7d 2a 4a 14 add r9,r10,r9
   34:   90 69 00 48 stw r3,72(r9)
   38:   90 89 00 4c stw r4,76(r9)
   3c:   7c 20 04 ac lwsync
   40:   90 ea 00 00 stw r7,0(r10)
   44:   7d 00 01 06 wrtee   r8
   48:   4e 80 00 20 blr
 }}}
 Just 19 instructions, no branches, no stack frame, no atomic-read-modify-
 write, just a light weight synchronization to ensure that the consumer
 reads not half finished items.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

[RTEMS Project] #3666: Add support for C++17 std::aligned_alloc

2018-12-18 Thread RTEMS trac
#3666: Add support for C++17 std::aligned_alloc
--+-
  Reporter:  Sebastian Huber  |  Owner:  Sebastian Huber
  Type:  enhancement  | Status:  assigned
  Priority:  normal   |  Milestone:  5.1
 Component:  lib  |Version:  5
  Severity:  normal   |   Keywords:
Blocked By:   |   Blocking:
--+-
 In C++17 there is a std::aligned_alloc():

 https://en.cppreference.com/w/cpp/memory/c/aligned_alloc

 Unfortunately, it doesn't work with RTEMS currently:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85904

 Provide aligned_alloc() and memalign() (as a strong alias to
 aligned_alloo()) by RTEMS.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs