Re: capture engine ref_count question

2014-08-27 Thread Daniel Hellstrom

Hi,

On 08/27/2014 02:39 AM, Chris Johns wrote:

On 27/08/2014 3:50 am, Jennifer Averett wrote:


  We suggest to remove the ref_count of the task structures to save
  time and locking. Otherwise we need atomic counters here?


You need a means of tracking the logged references to the task data in the 
trace log. The log can exist well past the life time of the task and the data.


Yes, I thought that was inline with what we suggested.




  We suggest to free task structures when reading, by recording time of
  task deletion event we know when last event referencing the task
occurred,


I do not like this approach.


Allocating and freeing memory in the trace recording path introduces jitter in 
adding records, it requires taking a SMP lock.




  when that time have passed it should be okay to free the task structure?

Can anyone see a problem with this.   My question is will this always
work based on the zombie state of the thread?  I thought I saw


You cannot remove the ref_counts without an equivalent. The data is referenced 
beyond the life of a task.


Do you mean that there will be references to the task struct after the task 
delete record has been read? I assumed that the task delete was the last record 
referencing the task struct?



Another approach could involve adding the task data to the trace buffer when the first reference to the task is added to the trace buffer. You would add the task data tagging it with some sort of 
id. When added events related to the task the id is used. The trace buffer decoder extracts the task data building a suitable table to decode the following id references. There is a small 
extra bump filling the trace buffer with the task details but this is the cost of tracing in software. This approach helps solves the problem of off board streaming of the trace data.


I like this approach much better, but I assumed it would be harder to 
implement. Then we could basically remove the task struct.. That would solve 
allocation/freeing of the task structs too?

Thanks,
Daniel Hellstrom

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


[PATCH] Adding eth linker script section for arm bsp.

2014-08-27 Thread Federico Casares
Hi, attached the patch for:

- Adding eth linker script section for arm bsp.
- Adding new  linker comands for LPC176x bsp that includes eth section.

This patch is useful useful when working with DMA devices, so we can put
ethernet memory in specific locations.

Regards

-- 
[image: http://www.tallertechnologies.com]
http://www.tallertechnologies.com
Casares, Federico
Sr. Software Engineer
Taller Technologies Argentina

San Lorenzo 47, 3rd Floor, Office 5
Córdoba, Argentina
From 6c1f50a00a43cb9128441195508f5a0563907440 Mon Sep 17 00:00:00 2001
From: Federico Casares federico.casa...@tallertechnologies.com
Date: Wed, 27 Aug 2014 10:12:30 -0300
Subject: [PATCH] Adding eth linker script section for arm bsp. Adding new
 linker comands for LPC176x bsp that includes eth section.

---
 c/src/lib/libbsp/arm/lpc176x/Makefile.am   |  1 +
 .../startup/linkcmds.lpc1768_mbed_ahb_ram_eth  | 30 ++
 c/src/lib/libbsp/arm/shared/startup/linkcmds.base  |  7 +
 3 files changed, 38 insertions(+)
 create mode 100644 c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth

diff --git a/c/src/lib/libbsp/arm/lpc176x/Makefile.am b/c/src/lib/libbsp/arm/lpc176x/Makefile.am
index 3a1d4b2..36711a6 100644
--- a/c/src/lib/libbsp/arm/lpc176x/Makefile.am
+++ b/c/src/lib/libbsp/arm/lpc176x/Makefile.am
@@ -69,6 +69,7 @@ project_lib_DATA += startup/linkcmds
 EXTRA_DIST =
 EXTRA_DIST += startup/linkcmds.lpc1768_mbed
 EXTRA_DIST += startup/linkcmds.lpc1768_mbed_ahb_ram
+EXTRA_DIST += startup/linkcmds.lpc1768_mbed_ahb_ram_eth
 
 
 # 
diff --git a/c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth b/c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth
new file mode 100644
index 000..5ea4c70
--- /dev/null
+++ b/c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth
@@ -0,0 +1,30 @@
+/* LPC1768 OEM Board from Embedded Artists */
+
+MEMORY {
+	ROM_INT (RX)  : ORIGIN = 0x, LENGTH = 512k
+	RAM_INT (AIW) : ORIGIN = 0x1000, LENGTH = 32k
+	RAM_AHB1 (AIW) : ORIGIN = 0x2007C000, LENGTH = 16k
+	RAM_AHB2 (AIW) : ORIGIN = 0x2008, LENGTH = 16k
+}
+
+REGION_ALIAS (REGION_START, ROM_INT);
+REGION_ALIAS (REGION_VECTOR, RAM_INT);
+REGION_ALIAS (REGION_TEXT, ROM_INT);
+REGION_ALIAS (REGION_TEXT_LOAD, ROM_INT);
+REGION_ALIAS (REGION_RODATA, ROM_INT);
+REGION_ALIAS (REGION_RODATA_LOAD, ROM_INT);
+REGION_ALIAS (REGION_DATA, RAM_INT);
+REGION_ALIAS (REGION_DATA_LOAD, ROM_INT);
+REGION_ALIAS (REGION_FAST_TEXT, RAM_INT);
+REGION_ALIAS (REGION_FAST_TEXT_LOAD, ROM_INT);
+REGION_ALIAS (REGION_FAST_DATA, RAM_INT);
+REGION_ALIAS (REGION_FAST_DATA_LOAD, ROM_INT);
+REGION_ALIAS (REGION_BSS, RAM_AHB1);
+REGION_ALIAS (REGION_WORK, RAM_INT);
+REGION_ALIAS (REGION_STACK, RAM_INT);
+REGION_ALIAS (REGION_ETH, RAM_AHB2);
+
+bsp_stack_main_size = DEFINED (bsp_stack_main_size) ? bsp_stack_main_size : 1024;
+bsp_stack_main_size = ALIGN (bsp_stack_main_size, bsp_stack_align);
+
+INCLUDE linkcmds.armv7m
diff --git a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base
index 04f3308..c03cbca 100644
--- a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base
+++ b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base
@@ -397,6 +397,13 @@ SECTIONS {
 	}  REGION_STACK AT  REGION_STACK
 	bsp_section_stack_size = bsp_section_stack_end - bsp_section_stack_begin;
 
+.eth (NOLOAD) : ALIGN_WITH_INPUT {
+bsp_section_eth_begin = .;
+*(.eth)
+bsp_section_eth_end = .;
+}  REGION_ETH AT  REGION_ETH
+bsp_section_eth_size = bsp_section_eth_end - bsp_section_eth_begin;
+
 	/* FIXME */
 	RamBase = ORIGIN (REGION_WORK);
 	RamSize = LENGTH (REGION_WORK);
-- 
1.9.1

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

Re: [PATCH] Adding eth linker script section for arm bsp.

2014-08-27 Thread Sebastian Huber

On 27/08/14 15:18, Federico Casares wrote:

Hi, attached the patch for:

- Adding eth linker script section for arm bsp.
- Adding new  linker comands for LPC176x bsp that includes eth section.

This patch is useful useful when working with DMA devices, so we can put
ethernet memory in specific locations.

Regards

--
http://www.tallertechnologies.com http://www.tallertechnologies.com
Casares, Federico
Sr. Software Engineer
Taller Technologies Argentina

San Lorenzo 47, 3rd Floor, Office 5
Córdoba, Argentina

0001-Adding-eth-linker-script-section-for-arm-bsp.patch


 From 6c1f50a00a43cb9128441195508f5a0563907440 Mon Sep 17 00:00:00 2001
From: Federico Casaresfederico.casa...@tallertechnologies.com
Date: Wed, 27 Aug 2014 10:12:30 -0300
Subject: [PATCH] Adding eth linker script section for arm bsp. Adding new
  linker comands for LPC176x bsp that includes eth section.

---
  c/src/lib/libbsp/arm/lpc176x/Makefile.am   |  1 +
  .../startup/linkcmds.lpc1768_mbed_ahb_ram_eth  | 30 ++
  c/src/lib/libbsp/arm/shared/startup/linkcmds.base  |  7 +


If you add this section to linkcmds.base, then every ARM BSP must define this 
region.  I don't think this makes sense.



  3 files changed, 38 insertions(+)
  create mode 100644 
c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth

diff --git a/c/src/lib/libbsp/arm/lpc176x/Makefile.am 
b/c/src/lib/libbsp/arm/lpc176x/Makefile.am
index 3a1d4b2..36711a6 100644
--- a/c/src/lib/libbsp/arm/lpc176x/Makefile.am
+++ b/c/src/lib/libbsp/arm/lpc176x/Makefile.am
@@ -69,6 +69,7 @@ project_lib_DATA += startup/linkcmds
  EXTRA_DIST =
  EXTRA_DIST += startup/linkcmds.lpc1768_mbed
  EXTRA_DIST += startup/linkcmds.lpc1768_mbed_ahb_ram
+EXTRA_DIST += startup/linkcmds.lpc1768_mbed_ahb_ram_eth


Do you really need a lpc1768_mbed_ahb_ram and a lpc1768_mbed_ahb_ram_eth 
variant?

--
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] ESA SOCIS 2014 contribution - coverage analysis within rtems-tools

2014-08-27 Thread Krzysztof Mięsowicz
Hi,

I am sending patches for rtems-tools repo. These patches are results of my
development during ESA SOCIS 2014. They introduces coverage analysis into
rtems-test command in rtems-tools repo.

Blog post about how to setup the environment and get coverage analysis
working in new way can be found here:
http://kmiesowicz.blogspot.com/2014/08/new-approach-to-coverage-analysis-in.html

There are still some issues - for example symbol set configuration file
which now has to be manually adjusted to RTEMS build path. This is
inconvenient and I will continue work to improve this.

I'm looking forward to your reviews and comments.

Regards
Krzysztof Miesowicz
From 6b7b2937eb25b31d1c1162efd95b6a18365cb277 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Krzysztof=20Mi=C4=99sowicz?= krzysztof.miesow...@gmail.com
Date: Wed, 27 Aug 2014 13:16:17 +0200
Subject: [PATCH 01/12] --coverage feature added to rtems-test command + pc386
 BSP support for rtems-test

---
 rtemstoolkit/options.py|   2 +
 tester/rt/coverage.py  | 264 +
 tester/rt/test.py  |  20 ++-
 tester/rtems/testing/bsps/pc386.mc |  57 
 tester/rtems/testing/coverage.mc   |  48 +++
 tester/rtems/testing/gdb.cfg   |   7 +
 tester/rtems/testing/qemu.cfg  |  17 ++-
 7 files changed, 412 insertions(+), 3 deletions(-)
 create mode 100644 tester/rt/coverage.py
 create mode 100644 tester/rtems/testing/bsps/pc386.mc
 create mode 100644 tester/rtems/testing/coverage.mc

diff --git a/rtemstoolkit/options.py b/rtemstoolkit/options.py
index 97b8ba7..5aa1ed3 100644
--- a/rtemstoolkit/options.py
+++ b/rtemstoolkit/options.py
@@ -91,6 +91,7 @@ class command_line(object):
 '--keep-going' : ('_keep_going',   self._lo_bool, False, '0',   True),
 '--always-clean'   : ('_always_clean', self._lo_bool, False, '0',   True),
 '--no-install' : ('_no_install',   self._lo_bool, False, '0',   True),
+'--coverage'   : ('_coverage', self._lo_bool, False, '0',   False),
 '--help'   : (None,self._lo_help, False, None,  False)
 }
 self.long_opts_help = {
@@ -105,6 +106,7 @@ class command_line(object):
 '--jobs=[0..n,none,half,full]': 'Run with specified number of jobs, default: num CPUs.',
 '--macros file[,file]': 'Macro format files to load after the defaults',
 '--log file':   'Log file where all build out is written too',
+'--coverage':   'Perform coverage analysis'
 }
 self.opts = { 'params' : [] }
 self.command_path = command_path
diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py
new file mode 100644
index 000..e170607
--- /dev/null
+++ b/tester/rt/coverage.py
@@ -0,0 +1,264 @@
+'''
+Created on Jul 7, 2014
+
+@author: Krzysztof Mięsowicz krzysztof.miesow...@gmail.com
+'''
+from rtemstoolkit import path
+from rtemstoolkit import log
+from rtemstoolkit import execute
+from rtemstoolkit import macros
+import os
+from datetime import datetime
+
+class summary:
+def __init__(self, p_summaryDir):
+self.summaryFilePath = path.join(p_summaryDir, summary.txt)
+self.indexFilePath = path.join(p_summaryDir, index.html)
+self.bytes_analyzed = 0
+self.bytes_notExecuted = 0
+self.percentage_executed = 0.0
+self.percentage_notExecuted = 100.0
+self.ranges_uncovered = 0
+self.branches_uncovered = 0
+self.branches_total = 0
+self.branches_alwaysTaken = 0
+self.branches_neverTaken = 0
+self.percentage_branchesCovered = 0.0
+
+def parse(self):
+if(not path.exists(self.summaryFilePath)):
+log.warning(Summary file  + self.summaryFilePath +  does not exist!)
+return
+
+summaryFile = open(self.summaryFilePath,'r')
+self.bytes_analyzed = self._getValueFromNextLineWithColon(summaryFile)
+self.bytes_notExecuted = self._getValueFromNextLineWithColon(summaryFile)
+self.percentage_executed = self._getValueFromNextLineWithColon(summaryFile)
+self.percentage_notExecuted = self._getValueFromNextLineWithColon(summaryFile)
+self.ranges_uncovered = self._getValueFromNextLineWithColon(summaryFile)
+self.branches_total = self._getValueFromNextLineWithColon(summaryFile)
+self.branches_uncovered = self._getValueFromNextLineWithColon(summaryFile)
+self.branches_alwaysTaken = self._getValueFromNextLineWithoutColon(summaryFile)
+self.branches_neverTaken = self._getValueFromNextLineWithoutColon(summaryFile)
+summaryFile.close()
+
+self.percentage_branchesCovered = 1 - float(self.branches_uncovered) / float(self.branches_total)
+return
+
+def _getValueFromNextLineWithColon(self, summaryFile):
+line = 

Re: Remaining BSP Build Failures

2014-08-27 Thread Joel Sherrill

On 8/27/2014 10:54 AM, Hesham Moustafa wrote:
 Hi,

 On Wed, Aug 27, 2014 at 5:02 PM, Joel Sherrill
 joel.sherr...@oarcorp.com wrote:
 Hi

 Hesham.. or1k is missing a method.

 Yes, I am aware of that, I will add missing methods just after I
 submit another RSB patch for or1ksim.
I figured you knew about it. Just reporting. :)

And I just committed a fix for the arm/nds.

That leaves the nios2 as likely an RSB issue. My gcc was 4.1.2 which doesn't
seem to match the 4.9.x I think the RSB should build for this.

And hopefully Ric can provide a fix for the virtex5.

The avr is a gcc bug. I could disable optimization and it may continue
building.
 Ric.. any chance you can fix the virtex5 compile failure?

 Others  please review and see what you can help with.

 I attempted to build all BSPs over night with this configuration:

 ../rtems/configure --target=@CPU@-rtems4.11 \
   --prefix=/home/joel/rtems-4.11-work/bsp-install/ \
   --disable-multiprocessing --disable-cxx --disable-rdbg \
   --enable-maintainer-mode --enable-tests --enable-networking \
   --enable-posix --disable-itron --disable-deprecated \
   --disable-ada --disable-expada --enable-rtemsbsp=@BSP@

 Although not printed, SMP was enabled in the configure command
 echoed in the output. :(

 The results were better than last time:

 arm/nds:

 ../../../../../nds/lib/librtemsbsp.a(startup.rel): In function `boot_card':
 :(.text+0x19c): multiple definition of `boot_card'
 init.o:init.c:(.text+0x70): first defined here
 collect2: error: ld returned 1 exit status
 gmake[6]: *** [spinternalerror01.exe] Error 1

 I think that's because it makes a set of .rel's and ends up pulling in
 a chunk of binary instead of individual files for the BSP. I think I
 can fix this one.

 avr/avrtest: Compiler error. Reported as
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62284

 nios2/nios2_iss: Compilation error which I think means that
 the newlib version needs to be bumped in the RSB.

 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c: In function
 'dwmac_desc_enh_destroy_tx_desc':
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: implicit declaration of function '__DEVOLATILE'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: nested extern declaration of '__DEVOLATILE'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814: error:
 expected expression before 'void'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: initialization makes pointer from integer without a cast
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c: In function
 'dwmac_desc_enh_release_tx_bufs':
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:850: error:
 expected expression before 'void'

 or1k/or1ksim:  Port Missing methods
 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-or1k-or1ksim-rtems/or1k-rtems4.11/c/or1ksim/testsuites/sptests/spcontext01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcontext01/init.c:42:
 undefined reference to `_CPU_Context_validate'
 init.o: In function `clobber_and_switch_timer':
 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-or1k-or1ksim-rtems/or1k-rtems4.11/c/or1ksim/testsuites/sptests/spcontext01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcontext01/init.c:118:
 undefined reference to `_CPU_Context_volatile_clobber'

 powerpc/virtex5: BSP missing method

 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-powerpc-virtex5-rtems/powerpc-rtems4.11/c/virtex5/lib/libcpu/powerpc/../../../../../../../rtems/c/src/lib/libcpu/powerpc/mpc6xx/timer/timer.c:85:
 undefined reference to `BSP_Convert_decrementer'

 --
 Joel Sherrill, Ph.D. Director of Research  Development
 joel.sherr...@oarcorp.comOn-Line Applications Research
 Ask me about RTEMS: a free RTOS  Huntsville AL 35805
 Support Available(256) 722-9985


-- 
Joel Sherrill, Ph.D. Director of Research  Development
joel.sherr...@oarcorp.comOn-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available(256) 722-9985

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


Re: Remaining BSP Build Failures

2014-08-27 Thread Joel Sherrill

On 8/27/2014 11:34 AM, Ric Claus wrote:
 Hi Joel,

   Sorry, but unfortunately I no longer have the ability or time to work on 
 Virtex5 since we moved to Zynqs.  If someone else can't take it over, I think 
 you have no choice but to deprecate it.
I understand. This may not be hard to remember though. It is really a simple
method. It looks like the clock tick was using the shared decrementer
driver.
If so, then this from the beatnik BSP should work:

#define BSP_Convert_decrementer( _value ) \
  ((unsigned long long) unsigned long long)BSP_time_base_divisor) *
100ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long
long) (_value)))



   Ric

 On Aug 27, 2014, at 8:02 AM, Joel Sherrill wrote:

 Hi

 Hesham.. or1k is missing a method.

 Ric.. any chance you can fix the virtex5 compile failure?

 Others  please review and see what you can help with.

 I attempted to build all BSPs over night with this configuration:

 ../rtems/configure --target=@CPU@-rtems4.11 \
  --prefix=/home/joel/rtems-4.11-work/bsp-install/ \
  --disable-multiprocessing --disable-cxx --disable-rdbg \
  --enable-maintainer-mode --enable-tests --enable-networking \
  --enable-posix --disable-itron --disable-deprecated \
  --disable-ada --disable-expada --enable-rtemsbsp=@BSP@

 Although not printed, SMP was enabled in the configure command
 echoed in the output. :(

 The results were better than last time:

 arm/nds:

 ../../../../../nds/lib/librtemsbsp.a(startup.rel): In function `boot_card':
 :(.text+0x19c): multiple definition of `boot_card'
 init.o:init.c:(.text+0x70): first defined here
 collect2: error: ld returned 1 exit status
 gmake[6]: *** [spinternalerror01.exe] Error 1

 I think that's because it makes a set of .rel's and ends up pulling in
 a chunk of binary instead of individual files for the BSP. I think I
 can fix this one.

 avr/avrtest: Compiler error. Reported as
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62284

 nios2/nios2_iss: Compilation error which I think means that
 the newlib version needs to be bumped in the RSB.

 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c: In function
 'dwmac_desc_enh_destroy_tx_desc':
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: implicit declaration of function '__DEVOLATILE'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: nested extern declaration of '__DEVOLATILE'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814: error:
 expected expression before 'void'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: initialization makes pointer from integer without a cast
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c: In function
 'dwmac_desc_enh_release_tx_bufs':
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:850: error:
 expected expression before 'void'

 or1k/or1ksim:  Port Missing methods
 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-or1k-or1ksim-rtems/or1k-rtems4.11/c/or1ksim/testsuites/sptests/spcontext01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcontext01/init.c:42:
 undefined reference to `_CPU_Context_validate'
 init.o: In function `clobber_and_switch_timer':
 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-or1k-or1ksim-rtems/or1k-rtems4.11/c/or1ksim/testsuites/sptests/spcontext01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcontext01/init.c:118:
 undefined reference to `_CPU_Context_volatile_clobber'

 powerpc/virtex5: BSP missing method

 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-powerpc-virtex5-rtems/powerpc-rtems4.11/c/virtex5/lib/libcpu/powerpc/../../../../../../../rtems/c/src/lib/libcpu/powerpc/mpc6xx/timer/timer.c:85:
 undefined reference to `BSP_Convert_decrementer'

 -- 
 Joel Sherrill, Ph.D. Director of Research  Development
 joel.sherr...@oarcorp.comOn-Line Applications Research
 Ask me about RTEMS: a free RTOS  Huntsville AL 35805
 Support Available(256) 722-9985


-- 
Joel Sherrill, Ph.D. Director of Research  Development
joel.sherr...@oarcorp.comOn-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available(256) 722-9985

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


Re: Remaining BSP Build Failures

2014-08-27 Thread Ric Claus
Thank you, Joel.  I really appreciate it!

Ric


On Aug 27, 2014, at 10:55 AM, Joel Sherrill wrote:

 I just fixed the virtex5. The missing code was pretty simple and
 I just used the code from another BSP. That leaves:
 
 avr/avrtest:
   GCC PR 62284
 nios2/nios2_iss:
   Needs new toolset but binutils 2.20 has bug and won't assemble
   some code produced by gcc 4.9.1. Reported on binutils mailing list.
 or1k/or1ksim:
   Hesham knows and this will get fixed.
 
 I will now start a build with POSIX, Networking, and SMP disabled but
 tests enabled to see if that breaks anything.
 
 --joel
 
 On 8/27/2014 11:44 AM, Joel Sherrill wrote:
 On 8/27/2014 11:34 AM, Ric Claus wrote:
 Hi Joel,
 
  Sorry, but unfortunately I no longer have the ability or time to work on 
 Virtex5 since we moved to Zynqs.  If someone else can't take it over, I 
 think you have no choice but to deprecate it.
 I understand. This may not be hard to remember though. It is really a simple
 method. It looks like the clock tick was using the shared decrementer
 driver.
 If so, then this from the beatnik BSP should work:
 
 #define BSP_Convert_decrementer( _value ) \
  ((unsigned long long) unsigned long long)BSP_time_base_divisor) *
 100ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long
 long) (_value)))
 
 
 
 Ric
 
 On Aug 27, 2014, at 8:02 AM, Joel Sherrill wrote:
 
 Hi
 
 Hesham.. or1k is missing a method.
 
 Ric.. any chance you can fix the virtex5 compile failure?
 
 Others  please review and see what you can help with.
 
 I attempted to build all BSPs over night with this configuration:
 
 ../rtems/configure --target=@CPU@-rtems4.11 \
 --prefix=/home/joel/rtems-4.11-work/bsp-install/ \
 --disable-multiprocessing --disable-cxx --disable-rdbg \
 --enable-maintainer-mode --enable-tests --enable-networking \
 --enable-posix --disable-itron --disable-deprecated \
 --disable-ada --disable-expada --enable-rtemsbsp=@BSP@
 
 Although not printed, SMP was enabled in the configure command
 echoed in the output. :(
 
 The results were better than last time:
 
 arm/nds:
 
 ../../../../../nds/lib/librtemsbsp.a(startup.rel): In function `boot_card':
 :(.text+0x19c): multiple definition of `boot_card'
 init.o:init.c:(.text+0x70): first defined here
 collect2: error: ld returned 1 exit status
 gmake[6]: *** [spinternalerror01.exe] Error 1
 
 I think that's because it makes a set of .rel's and ends up pulling in
 a chunk of binary instead of individual files for the BSP. I think I
 can fix this one.
 
 avr/avrtest: Compiler error. Reported as
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62284
 
 nios2/nios2_iss: Compilation error which I think means that
 the newlib version needs to be bumped in the RSB.
 
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c: In function
 'dwmac_desc_enh_destroy_tx_desc':
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: implicit declaration of function '__DEVOLATILE'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: nested extern declaration of '__DEVOLATILE'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814: error:
 expected expression before 'void'
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:814:
 warning: initialization makes pointer from integer without a cast
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c: In function
 'dwmac_desc_enh_release_tx_bufs':
 ../../../../../rtems/c/src/libchip/network/dwmac-desc-enh.c:850: error:
 expected expression before 'void'
 
 or1k/or1ksim:  Port Missing methods
 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-or1k-or1ksim-rtems/or1k-rtems4.11/c/or1ksim/testsuites/sptests/spcontext01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcontext01/init.c:42:
 undefined reference to `_CPU_Context_validate'
 init.o: In function `clobber_and_switch_timer':
 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-or1k-or1ksim-rtems/or1k-rtems4.11/c/or1ksim/testsuites/sptests/spcontext01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcontext01/init.c:118:
 undefined reference to `_CPU_Context_volatile_clobber'
 
 powerpc/virtex5: BSP missing method
 
 /users/joel/rtems-4.11-work/rtems-testing/rtems/build-powerpc-virtex5-rtems/powerpc-rtems4.11/c/virtex5/lib/libcpu/powerpc/../../../../../../../rtems/c/src/lib/libcpu/powerpc/mpc6xx/timer/timer.c:85:
 undefined reference to `BSP_Convert_decrementer'
 
 -- 
 Joel Sherrill, Ph.D. Director of Research  Development
 joel.sherr...@oarcorp.comOn-Line Applications Research
 Ask me about RTEMS: a free RTOS  Huntsville AL 35805
 Support Available(256) 722-9985
 
 
 -- 
 Joel Sherrill, Ph.D. Director of Research  Development
 joel.sherr...@oarcorp.comOn-Line Applications Research
 Ask me about RTEMS: a free RTOS  Huntsville AL 35805
 Support Available(256) 722-9985
 

___
devel 

Re: [PATCH] Adding eth linker script section for arm bsp.

2014-08-27 Thread Chris Johns

On 27/08/2014 11:29 pm, Sebastian Huber wrote:

On 27/08/14 15:18, Federico Casares wrote:

diff --git a/c/src/lib/libbsp/arm/lpc176x/Makefile.am
b/c/src/lib/libbsp/arm/lpc176x/Makefile.am
index 3a1d4b2..36711a6 100644
--- a/c/src/lib/libbsp/arm/lpc176x/Makefile.am
+++ b/c/src/lib/libbsp/arm/lpc176x/Makefile.am
@@ -69,6 +69,7 @@ project_lib_DATA += startup/linkcmds
  EXTRA_DIST =
  EXTRA_DIST += startup/linkcmds.lpc1768_mbed
  EXTRA_DIST += startup/linkcmds.lpc1768_mbed_ahb_ram
+EXTRA_DIST += startup/linkcmds.lpc1768_mbed_ahb_ram_eth


Do you really need a lpc1768_mbed_ahb_ram and a lpc1768_mbed_ahb_ram_eth
variant?



The number of BSPs building for ARM has exploded and for just the ARM 
architecture there are now 27,417 tests built. If I could run each test 
in 20 seconds it would take over 6 days to do this. If I could run 6 
tests in parallel it would still take 24 hours.


I wonder how many of these variants have had all the tests run on them ?

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