Re: [PATCH] score: Add missing define to cache manager

2014-08-25 Thread Sebastian Huber

Hello Daniel,

thanks for the fix:

http://git.rtems.org/rtems/commit/?id=e7a42a0cfbafc2311888780b086010aef6556311

--
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: powerpc/gwlcfm does not compile

2014-08-25 Thread Sebastian Huber

Fixed:

http://git.rtems.org/rtems/commit/?id=0a314839012ab765a70df05eaadc4dba7440223b

--
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: powerpc/mpc5668g does not compile

2014-08-25 Thread Sebastian Huber

Fixed:

http://git.rtems.org/rtems/commit/?id=f3237a3c3bbe5a298b5ae30a36b24e6f601c6f8b

--
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: [rtems commit] bsp/sparc: Flush icache before first time enabling interrupts

2014-08-25 Thread Sebastian Huber

This breaks at least SIS with --enable-smp:

gmake[6]: Entering directory 
`/scratch/git-rtems-testing/rtems/build-sparc-sis-rtems/sparc-rtems4.11/c/sis/testsuites/samples/hello'
sparc-rtems4.11-gcc -B../../../../../sis/lib/ -specs bsp_specs -qrtems 
-DHAVE_CONFIG_H -I. 
-I../../../../../../../rtems/c/src/../../testsuites/samples/hello -I.. 
-mcpu=cypress -O0 -g -ffunction-sections -fdata-sections -Wall 
-Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes 
-Wnested-externs -MT init.o -MD -MP -MF .deps/init.Tpo -c -o init.o 
../../../../../../../rtems/c/src/../../testsuites/samples/hello/init.c

mv -f .deps/init.Tpo .deps/init.Po
sparc-rtems4.11-gcc -B../../../../../sis/lib/ -specs bsp_specs -qrtems 
-mcpu=cypress -O0 -g -ffunction-sections -fdata-sections -Wall 
-Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes 
-Wnested-externs  -Wl,--gc-sections  -mcpu=cypress   -o hello.exe init.o
../../../../../sis/lib/librtemscpu.a(libscore_a-threadstartmultitasking.o): In 
function `_Thread_Start_multitasking':
/scratch/git-rtems-testing/rtems/build-sparc-sis-rtems/sparc-rtems4.11/c/sis/cpukit/score/../../../../../../rtems/c/src/../../cpukit/score/src/threadstartmultitasking.c:78: 
undefined reference to `_BSP_Start_multitasking'



On 22/08/14 13:07, Daniel Hellstrom wrote:

Module:rtems
Branch:master
Commit:54f3476e2493a957efb0e30c77226d496e7fc5a1
Changeset: 
http://git.rtems.org/rtems/commit/?id=54f3476e2493a957efb0e30c77226d496e7fc5a1

Author:Daniel Cederman 
Date:  Thu Jul  3 11:18:55 2014 +0200

bsp/sparc: Flush icache before first time enabling interrupts

A secondary processor might miss changes done to the trap table
if the instruction cache is not flushed. Once interrupts are enabled
any other required cache flushes can be ordered via the cache
manager.



--
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] score: Define _CPU_Start_multitasking only for LEON SPARC, not SPARC in general

2014-08-25 Thread Daniel Cederman
---
 cpukit/score/cpu/sparc/rtems/score/cpu.h |2 ++
 1 file changed, 2 insertions(+)

diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h 
b/cpukit/score/cpu/sparc/rtems/score/cpu.h
index 9c38b55..d4c2ef0 100644
--- a/cpukit/score/cpu/sparc/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h
@@ -1203,9 +1203,11 @@ register struct Per_CPU_Control *_SPARC_Per_CPU_current 
__asm__( "g6" );
 
   void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
 
+  #if defined(__leon__)
   void _BSP_Start_multitasking( Context_Control *heir )
 RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
   #define _CPU_Start_multitasking _BSP_Start_multitasking
+  #endif
 
   static inline void _CPU_SMP_Processor_event_broadcast( void )
   {
-- 
1.7.9.5

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


[PATCH v2] rtems: Add more clock tick functions

2014-08-25 Thread Sebastian Huber
Add rtems_clock_tick_later(), rtems_clock_tick_later_usec() and
rtems_clock_tick_before().
---
 cpukit/rtems/include/rtems/rtems/clock.h |  71 +
 doc/user/clock.t | 104 +++
 testsuites/sptests/sp37/init.c   |  55 
 testsuites/sptests/sp37/sp37.doc |   5 ++
 testsuites/sptests/sp37/system.h |   4 ++
 5 files changed, 239 insertions(+)

diff --git a/cpukit/rtems/include/rtems/rtems/clock.h 
b/cpukit/rtems/include/rtems/rtems/clock.h
index ff71665..7595f5e 100644
--- a/cpukit/rtems/include/rtems/rtems/clock.h
+++ b/cpukit/rtems/include/rtems/rtems/clock.h
@@ -34,6 +34,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include  /* struct timeval */
 
@@ -160,6 +161,76 @@ RTEMS_INLINE_ROUTINE rtems_interval 
rtems_clock_get_ticks_since_boot(void)
 }
 
 /**
+ * @brief Returns the ticks counter value delta ticks in the future.
+ *
+ * @param[in] delta The ticks delta value.
+ *
+ * @return The tick counter value delta ticks in the future.
+ */
+RTEMS_INLINE_ROUTINE rtems_interval rtems_clock_tick_later(
+  rtems_interval delta
+)
+{
+  return _Watchdog_Ticks_since_boot + delta;
+}
+
+/**
+ * @brief Returns the ticks counter value at least delta microseconds in the
+ * future.
+ *
+ * @param[in] delta_in_usec The delta value in microseconds.
+ *
+ * @return The tick counter value at least delta microseconds in the future.
+ */
+RTEMS_INLINE_ROUTINE rtems_interval rtems_clock_tick_later_usec(
+  rtems_interval delta_in_usec
+)
+{
+  rtems_interval us_per_tick = rtems_configuration_get_microseconds_per_tick();
+
+  /*
+   * Add one additional tick, since we don't know the time to the clock next
+   * tick.
+   */
+  return _Watchdog_Ticks_since_boot
++ (delta_in_usec + us_per_tick - 1) / us_per_tick + 1;
+}
+
+/**
+ * @brief Returns true if the current ticks counter value indicates a time
+ * before the time specified by the tick value and false otherwise.
+ *
+ * @param[in] tick The tick value.
+ *
+ * This can be used to write busy loops with a timeout.
+ *
+ * @code
+ * status busy( void )
+ * {
+ *   rtems_interval timeout = rtems_clock_tick_later_usec( 1 );
+ *
+ *   do {
+ * if ( ok() ) {
+ *   return success;
+ * }
+ *   } while ( rtems_clock_tick_before( timeout ) );
+ *
+ *   return timeout;
+ * }
+ * @endcode
+ *
+ * @retval true The current ticks counter value indicates a time before the
+ * time specified by the tick value.
+ * @retval false Otherwise.
+ */
+RTEMS_INLINE_ROUTINE bool rtems_clock_tick_before(
+  rtems_interval tick
+)
+{
+  return (int32_t) ( tick - _Watchdog_Ticks_since_boot ) > 0;
+}
+
+/**
  * @brief Obtain Ticks Per Seconds
  *
  * This routine implements the rtems_clock_get_ticks_per_second
diff --git a/doc/user/clock.t b/doc/user/clock.t
index 921d1cb..1e821ad 100644
--- a/doc/user/clock.t
+++ b/doc/user/clock.t
@@ -21,6 +21,9 @@ the clock manager are:
 @item @code{@value{DIRPREFIX}clock_get_seconds_since_epoch} - Get seconds 
since epoch
 @item @code{@value{DIRPREFIX}clock_get_ticks_per_second} - Get ticks per second
 @item @code{@value{DIRPREFIX}clock_get_ticks_since_boot} - Get current ticks 
counter value
+@item @code{@value{DIRPREFIX}clock_tick_later} - Get tick value in the future
+@item @code{@value{DIRPREFIX}clock_tick_later_usec} - Get tick value in the 
future in microseconds
+@item @code{@value{DIRPREFIX}clock_tick_before} - Is tick value is before a 
point in time
 @item @code{@value{DIRPREFIX}clock_get_uptime} - Get time since boot
 @item @code{@value{DIRPREFIX}clock_get_uptime_timeval} - Get time since boot 
in timeval format
 @item @code{@value{DIRPREFIX}clock_get_uptime_seconds} - Get seconds since boot
@@ -617,6 +620,107 @@ This directive will not cause the running task to be 
preempted.
 @c
 @c
 @page
+@subsection CLOCK_TICK_LATER - Get tick value in the future
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+@findex rtems_clock_tick_later
+@example
+rtems_interval rtems_clock_tick_later(
+  rtems_interval delta
+);
+@end example
+@end ifset
+
+@subheading DESCRIPTION:
+
+Returns the ticks counter value delta ticks in the future.
+
+@subheading NOTES:
+
+This directive is callable from an ISR.
+
+This directive will not cause the running task to be preempted.
+
+@c
+@c
+@c
+@page
+@subsection CLOCK_TICK_LATER_USEC - Get tick value in the future in 
microseconds
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+@findex rtems_clock_tick_later_usec
+@example
+rtems_interval rtems_clock_tick_later_usec(
+  rtems_interval delta_in_usec
+);
+@end example
+@end ifset
+
+@subheading DESCRIPTION:
+
+Returns the ticks counter value at least delta microseconds in the future.
+
+@subheading NOTES:
+
+This directive is callable from an ISR.
+
+This directive will not cause the running task to be preempted.
+
+@c
+@c
+@c
+@page
+@subsection CLOCK_TICK_BEFORE - Is tick value is before a point in time
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+

Re: [PATCH] score: Define _CPU_Start_multitasking only for LEON SPARC, not SPARC in general

2014-08-25 Thread Sebastian Huber

On 25/08/14 11:45, Daniel Cederman wrote:

---
  cpukit/score/cpu/sparc/rtems/score/cpu.h |2 ++
  1 file changed, 2 insertions(+)

diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h 
b/cpukit/score/cpu/sparc/rtems/score/cpu.h
index 9c38b55..d4c2ef0 100644
--- a/cpukit/score/cpu/sparc/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h
@@ -1203,9 +1203,11 @@ register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__( 
"g6" );

void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );

+  #if defined(__leon__)
void _BSP_Start_multitasking( Context_Control *heir )
  RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
#define _CPU_Start_multitasking _BSP_Start_multitasking
+  #endif


In case it is LEON specific, then it should have a LEON specific name.

--
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] score: Define _CPU_Start_multitasking only for LEON SPARC, not SPARC in general

2014-08-25 Thread Daniel Cederman
Rename _BSP_Start_multitasking to _LEON3_Start_multitasking to show that
it is LEON specific
---
 c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c |2 +-
 cpukit/score/cpu/sparc/rtems/score/cpu.h  |6 --
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c 
b/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c
index 9166ad5..b7c347e 100644
--- a/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c
+++ b/c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c
@@ -82,7 +82,7 @@ void _CPU_SMP_Send_interrupt(uint32_t target_processor_index)
   LEON3_IrqCtrl_Regs->force[target_processor_index] = 1 << LEON3_MP_IRQ;
 }
 
-void _BSP_Start_multitasking(
+void _LEON3_Start_multitasking(
   Context_Control *heir
 )
 {
diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h 
b/cpukit/score/cpu/sparc/rtems/score/cpu.h
index 9c38b55..e44ab71 100644
--- a/cpukit/score/cpu/sparc/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h
@@ -1203,9 +1203,11 @@ register struct Per_CPU_Control *_SPARC_Per_CPU_current 
__asm__( "g6" );
 
   void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
 
-  void _BSP_Start_multitasking( Context_Control *heir )
+  #if defined(__leon__)
+  void _LEON3_Start_multitasking( Context_Control *heir )
 RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
-  #define _CPU_Start_multitasking _BSP_Start_multitasking
+  #define _CPU_Start_multitasking _LEON3_Start_multitasking
+  #endif
 
   static inline void _CPU_SMP_Processor_event_broadcast( void )
   {
-- 
1.7.9.5

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


Re: Using rtl-host in covor - some questions

2014-08-25 Thread Krzysztof Mięsowicz
2014-08-24 5:32 GMT+02:00 Chris Johns :

> On 23/08/2014 2:54 pm, Krzysztof Mięsowicz wrote:
>
>>
>> Where should I place this image? Is there any RTEMS ftp or something
>> like this where could I put it, or maybe should I just push it to some
>> Dropbox or sth and download it with RSB?
>>
>>
> There is ftp.rtems.org and that is where the image can be placed. Maybe a
> binary under rtems-tools.git. I am not sure.


> I need to add something like '%fetch' to the RSB to allow a configuration
> file the ability to do this.


A binary under rtems-tools repo is probably simpler for now - it could be
placed in the same directory as other coverage-related files from
rtems-testing repo like some css files, and configuration file introduced
by me.


>
>
>  Chris, should I move rtl-host repo into rtems-tools or wait for your
>> action?
>>
>
> There are a couple if issues to resolve. First is how to merge the commit
> history from the rtl-host repo into the rtems-tools repo. I would like the
> commit history to be present so the history of who has worked on the code
> is maintained. Second, what is the structure in the rtems-tools repo and
> how to we integrate the various bits under a waf build tree ?
>
>
About the structure - on my PC I copied rtl-host directory just into
rtems-tools directory, so tree output is as follows:

rtems-tools
├── doc
│   ├── asciidoc
│   └── images
├── rtemstoolkit
├── rtl-host
│   ├── build-linux2
│   ├── elftoolchain
│   ├── libiberty
│   ├── waf-tools
│   └── win32
├── tester
│   ├── config
│   ├── covoar
│   ├── rt
│   └── rtems
└── tools
├── 4.10
├── 4.11
├── 4.9
└── libffi


Then, I was able to point from covoar/wscript to rtl-host/build-linux2 dir
where librld.a is placed, and link with this library. I think this is not
perfect solution, because rtl-host must be built independently before
covoar - but it works for now. You can find diff for covoar wscript
attached.
diff --git a/tester/covoar/wscript b/tester/covoar/wscript
index 88add6e..8cb33bf 100644
--- a/tester/covoar/wscript
+++ b/tester/covoar/wscript
@@ -46,6 +46,16 @@ APPNAME='covoar'
 top = '.'
 out = 'build'
 
+#
+# Paths to rtl-host
+#
+rtl_host_build_dir = "./../../rtl-host/build-linux2"
+rtl_host_dir = "./../../rtl-host"
+rtl_includes = ['../../rtl-host',
+   '../../rtl-host/elftoolchain/common',
+   '../../rtl-host/elftoolchain/libelf',
+   '../../rtl-host/libiberty']
+
 def options(opt):
 opt.load('compiler_cxx')
 
@@ -54,8 +64,12 @@ def configure(conf):
 conf.check_cc(function_name='open64', header_name="stdlib.h", mandatory = 
False)
 conf.check_cc(function_name='stat64', header_name="stdlib.h", mandatory = 
False)
 conf.write_config_header('covoar-config.h')
+conf.env.STLIBPATH_RLD = conf.path.abspath() + 
'/../../rtl-host/build-linux2'
+conf.env.STLIB_RLD = ['rld','iberty','elf']
+#conf.env.append_value('STLIBPATH', [conf.path.abspath() + 
'/../../rtl-host/build-linux2'])
 
 def build(bld):
+
 bld.stlib(target = 'ccovoar',
   source = ['app_common.cc',
 'ConfigFile.cc',
@@ -89,9 +103,15 @@ def build(bld):
 'Target_lm32.cc',
 'Target_m68k.cc',
 'Target_powerpc.cc',
-'Target_sparc.cc'],
+'Target_sparc.cc',
+'SymbolSet.cpp',
+'SymbolSetReader.cpp'],
   cflags = ['-O2', '-g'],
-  includes = ['.'])
+  cxxflags = ['-std=c++11', '-O2', '-g'],
+#  libpath = rtl_host_build_dir,
+#  lib = 'rld',
+  includes = ['.',
+  './symbolGen'] + rtl_includes)
 
 bld.program(target = 'trace-converter',
 source = ['TraceConverter.cc',
@@ -106,12 +126,12 @@ def build(bld):
 
 bld.program(target = 'covoar',
 source = ['covoar.cc'],
-use = 'ccovoar',
+use = ['ccovoar','RLD'],
 cflags = ['-O2', '-g'],
 includes = ['.'])
 
 bld.program(target = 'covoar',
 source = ['covoar.cc'],
-use = 'ccovoar',
+use = ['ccovoar','RLD'],
 cflags = ['-O2', '-g'],
 includes = ['.'])
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: BSP Build Failures Appeal

2014-08-25 Thread Joel Sherrill

On 8/23/2014 10:33 PM, Chris Johns wrote:
> On 23/08/2014 1:57 am, Joel Sherrill wrote:
>> The build failures I reported were with the latest RSB tools
>> Please pitch in and let's resolve them.
>>
> I have a regression build that includes building all BSPs using ...
>
> $ rm -rf build rsb-report-* log_* && ../source-builder/sb-set-builder 
> --prefix=$HOME/development/rtems/4.11 --log=log_all_rtems --with-rtems 
> --trace --regression 4.11/rtems-all
>
> ... running on sync.rtems.org as I am also seeing failures. This should 
> give me a list of error reports with the first failure on an architecture.
Apparently my build with the RSB tools didn't see all those failures. I
repeated
the same build script/configuration with tools from the head and nearly
all BSPs failed. I may have updated RTEMS between those two points in time
and the problem got worse.  This is the configure line for powerpc/psim.
All others were the same with the architecture and BSP replaced:

../rtems/configure --target=powerpc-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 --enable-expada --enable-rtemsbsp=psim
>> I left a similar build going for the weekend but using the
>> head of gcc, newlib, and binutils. Hopefully the results
>> are similar.
> Given the churn GSoC patches are creating I think we are still a while 
> away from a freeze before release branching 4.11.
+1 Hopefully not too long though. Most of them are more contained to BSPs,
ports, etc. than in past years where there was score work.
> Chris

-- 
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: [PATCH] score: Define _CPU_Start_multitasking only for LEON SPARC, not SPARC in general

2014-08-25 Thread Joel Sherrill

On 8/25/2014 5:10 AM, Sebastian Huber wrote:
> On 25/08/14 11:45, Daniel Cederman wrote:
>> ---
>>   cpukit/score/cpu/sparc/rtems/score/cpu.h |2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h 
>> b/cpukit/score/cpu/sparc/rtems/score/cpu.h
>> index 9c38b55..d4c2ef0 100644
>> --- a/cpukit/score/cpu/sparc/rtems/score/cpu.h
>> +++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h
>> @@ -1203,9 +1203,11 @@ register struct Per_CPU_Control 
>> *_SPARC_Per_CPU_current __asm__( "g6" );
>>
>> void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
>>
>> +  #if defined(__leon__)
>> void _BSP_Start_multitasking( Context_Control *heir )
>>   RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
>> #define _CPU_Start_multitasking _BSP_Start_multitasking
>> +  #endif
> In case it is LEON specific, then it should have a LEON specific name.
>
What's the overall rationale?

What happens on all other architectures/variants? Can this simply be a
matter of
deferring the selection/implementation to the BSP? We do that for other
cases
where the precise CPU model must be known. The interface from the
score/cpu is
well known and is mostly implemented in score/cpu. But sometimes, it
can't be.

-- 
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: powerpc/gwlcfm does not compile

2014-08-25 Thread Joel Sherrill
Thanks.

I will start a build sweep again once we have resolved the cache
compilation impact.
On 8/25/2014 2:11 AM, Sebastian Huber wrote:
> Fixed:
>
> http://git.rtems.org/rtems/commit/?id=0a314839012ab765a70df05eaadc4dba7440223b
>

-- 
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: [rtems-tools commit] Update readme.

2014-08-25 Thread Joel Sherrill
Hi

I am thrilled to see this code finally becoming more widely available.
I am now asking questions about "productization" which is reproducibility,
maintainability, making it available to users, enhancement path, etc.

Would it be possible to update the blog to reflect the current location
of the code?

Chris.. does having this in rtems-tools mean that a standard *-rtems*
gdb will have the Python pretty printers?

Is there an up to date status of which core handlers and managers
have at least an initial pretty printer?

Is there anyway to automate testing these?  I know the gdb macros
that I mostly wrote were a pain in the *&%$ to make sure they
stayed up to date and in sync. It was easy to miss them for months
after a change impacted them.

--joel

On 8/24/2014 6:45 PM, Chris Johns wrote:
> Module:rtems-tools
> Branch:master
> Commit:6e75f4ebf5450154231a1f7c1c2ba97e60d2c074
> Changeset: 
> http://git.rtems.org/rtems-tools/commit/?id=6e75f4ebf5450154231a1f7c1c2ba97e60d2c074
>
> Author:Dhananjay Balan 
> Date:  Tue Jul  9 22:39:27 2013 +0530
>
> Update readme.
> Included useage instructions.
>
> ---
>
>  tools/gdb/python/README.md |2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/tools/gdb/python/README.md b/tools/gdb/python/README.md
> index 567c195..8858a4f 100644
> --- a/tools/gdb/python/README.md
> +++ b/tools/gdb/python/README.md
> @@ -2,3 +2,5 @@ rtems-gdb
>  =
>  
>  GDB extenstions to RTEMS.
> +
> +See [this blog post for 
> instructions](http://dbalan.github.io/blog/2013/06/23/debugging-rtems-with-gdb/)
>
> ___
> vc mailing list
> v...@rtems.org
> http://lists.rtems.org/mailman/listinfo/vc

-- 
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: [PATCH 1/5] sptests/spcache01: Make inline assembly conditional to account for OpenRISC l.nop instruction.

2014-08-25 Thread Joel Sherrill
I pushed all of this set and will be testing soon.

Can you post your simulator configuration file?

--joel

On 8/22/2014 3:20 PM, Hesham ALMatary wrote:
> ---
>  testsuites/sptests/spcache01/init.c | 6 +-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/testsuites/sptests/spcache01/init.c 
> b/testsuites/sptests/spcache01/init.c
> index 2c9d184..ad9b54f 100644
> --- a/testsuites/sptests/spcache01/init.c
> +++ b/testsuites/sptests/spcache01/init.c
> @@ -27,7 +27,11 @@
>  
>  const char rtems_test_name[] = "SPCACHE 1";
>  
> -#define I() __asm__ volatile ("nop")
> +#ifdef __or1k__
> +  #define I() __asm__ volatile ("l.nop")
> +#else
> +  #define I() __asm__ volatile ("nop")
> +#endif
>  
>  #define I8() I(); I(); I(); I(); I(); I(); I(); I()
>  

-- 
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: [PATCH] score: Define _CPU_Start_multitasking only for LEON SPARC, not SPARC in general

2014-08-25 Thread Sebastian Huber

On 08/25/2014 05:04 PM, Joel Sherrill wrote:

On 8/25/2014 5:10 AM, Sebastian Huber wrote:

On 25/08/14 11:45, Daniel Cederman wrote:

---
   cpukit/score/cpu/sparc/rtems/score/cpu.h |2 ++
   1 file changed, 2 insertions(+)

diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h 
b/cpukit/score/cpu/sparc/rtems/score/cpu.h
index 9c38b55..d4c2ef0 100644
--- a/cpukit/score/cpu/sparc/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h
@@ -1203,9 +1203,11 @@ register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__( 
"g6" );

 void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );

+  #if defined(__leon__)
 void _BSP_Start_multitasking( Context_Control *heir )
   RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
 #define _CPU_Start_multitasking _BSP_Start_multitasking
+  #endif

In case it is LEON specific, then it should have a LEON specific name.


What's the overall rationale?


If its mandated by the CPU port, e.g. all the stuff defined by 
no_cpu/cpu.h, then it should be _CPU_*.  In case all BSPs of a CPU port 
must implement a CPU port function, then it is _BSP_*.  In case only 
certain multilib variants implement it specifically, then they should 
have an appropriate multilib specific prefix, e.g. _LEON3_* or 
_ARMV7M_*.  Does this make sense?  Maybe we should add this stuff to the 
CPU supplement.


--
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] score: Define _CPU_Start_multitasking only for LEON SPARC, not SPARC in general

2014-08-25 Thread Joel Sherrill

On 8/25/2014 11:44 AM, Sebastian Huber wrote:
> On 08/25/2014 05:04 PM, Joel Sherrill wrote:
>> On 8/25/2014 5:10 AM, Sebastian Huber wrote:
>>> On 25/08/14 11:45, Daniel Cederman wrote:
 ---
cpukit/score/cpu/sparc/rtems/score/cpu.h |2 ++
1 file changed, 2 insertions(+)

 diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h 
 b/cpukit/score/cpu/sparc/rtems/score/cpu.h
 index 9c38b55..d4c2ef0 100644
 --- a/cpukit/score/cpu/sparc/rtems/score/cpu.h
 +++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h
 @@ -1203,9 +1203,11 @@ register struct Per_CPU_Control 
 *_SPARC_Per_CPU_current __asm__( "g6" );

  void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );

 +  #if defined(__leon__)
  void _BSP_Start_multitasking( Context_Control *heir )
RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
  #define _CPU_Start_multitasking _BSP_Start_multitasking
 +  #endif
>>> In case it is LEON specific, then it should have a LEON specific name.
>>>
>> What's the overall rationale?
> If its mandated by the CPU port, e.g. all the stuff defined by 
> no_cpu/cpu.h, then it should be _CPU_*.  In case all BSPs of a CPU port 
> must implement a CPU port function, then it is _BSP_*.  In case only 
> certain multilib variants implement it specifically, then they should 
> have an appropriate multilib specific prefix, e.g. _LEON3_* or 
> _ARMV7M_*.  Does this make sense?  Maybe we should add this stuff to the 
> CPU supplement.
>
Yeah. I get this part and we do need better rules but what's the issue
with this
one method? The ifdef made it look like only the leon flavor of RTEMS and no
others even had this method.

-- 
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: [rtems-tools commit] Update readme.

2014-08-25 Thread Chris Johns

On 26/08/2014 1:39 am, Joel Sherrill wrote:


I am thrilled to see this code finally becoming more widely available.
I am now asking questions about "productization" which is reproducibility,
maintainability, making it available to users, enhancement path, etc.

Would it be possible to update the blog to reflect the current location
of the code?



What blog ? There is also the wiki page that needs updating.


Chris.. does having this in rtems-tools mean that a standard *-rtems*
gdb will have the Python pretty printers?


No. These files are not installed by default. I am adding waf support so 
you can install them under a prefix and under that prefix it assumes you 
have an installed gdb. To begin with the RTEMS support will not 
automatically load. You will need to use:


 (gdb) py import rtems

to get the support loaded. That may change once the support is more stable.

My intention is to have the RSB install these for you so RSB built tools 
will be default have this support.



Is there an up to date status of which core handlers and managers
have at least an initial pretty printer?


No. I have only just imported the repo and I did that as a way to see 
how to merge one repo into another, ie the rtl-host repo.


The scripts do not work as are and I am looking into this.



Is there anyway to automate testing these?  I know the gdb macros
that I mostly wrote were a pain in the *&%$ to make sure they
stayed up to date and in sync. It was easy to miss them for months
after a change impacted them.



No at the moment. To test you need a suitable gdb and RTEMS executable 
and that executable needs to have the all the APIs included the test 
script requires. I do no think such a test exists.


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


or1ksim in rtems-source-builder

2014-08-25 Thread Joel Sherrill
Hi

FWIW I don't think or1ksim has a bset in RSB yet. 

-- 
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: or1ksim in rtems-source-builder

2014-08-25 Thread Chris Johns

On 26/08/2014 8:26 am, Joel Sherrill wrote:


FWIW I don't think or1ksim has a bset in RSB yet.



I think this would be placed under the 'bare' config tree. The RTEMS 
config could then add this to the build set for this architecture.


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


Re: Rtems_fsmount dosfs hanging

2014-08-25 Thread Ritesh Harjani
Hi Andre,

I am too trying to understand SD card/MMC protocol on Raspberry pi for
RTEMS. You said in your last mail that you have already done some progress
on this.
Could you please share your code at some place, so that others can get a
help from your code in case anybody else too is trying to
understand/develop SD card support for Raspberry pi.


Thanks for the help!!
Ritesh


On Wed, May 14, 2014 at 12:30 AM, Andre Marques <
andre.lousa.marq...@gmail.com> wrote:

>  On 05/13/14 12:15, Andrey Mozzhuhin wrote:
>
>  Do you not forget to call rtems_blkdev_request_done in read routine of
> block device driver?
>  Also try to increase CONFIGURE_MAXIMUM_TASKS - bdbuf need some worker
> tasks.
>
>
> I call rtems_blkdev_request_done after each read request, and changing
> CONFIGURE_MAXIMUM_TASKS to 20 (instead of 2) did not had any impact.
>
>
>
> >> https://github.com/jncronin/rpi-boot/blob/master/emmc.c
>
>  Hmm. Implementation specific to Raspberry Pi is not good idea. It is
> better to separate MMC/SD protocol implementation and hardware support like
> in FreeBSD or Linux.
>
>
> Yes, the point in the end is probably to have the MMC/SD protocol
> somewhere else, just like the spi-sd-card driver (SD card access through
> SPI interface protocol, at c/src/libchip/i2c/spi-sd-card*).
>
>
>
> >> Not sure how to approach this problem, as the logic seems right. Will
> do more testing in the meanwhile.
>
>
> Today I have re-formated the card (under Linux), and the block data read
> on RPi checks with the card hexdump on Linux.
>
> So far I tested:
>
> - The block data that is being read, and compared with the same block data
> read on Linux (small mismatch (4 bits) at the middle of a 512 byte block
> before, no mismatch now)
>
> - The request buffer contents (
> http://www.rtems.org/onlinedocs/doxygen/cpukit/html/structrtems__blkdev__sg__buffer.html).
> Looking at this I don't know what the User pointer is. I'm using the buffer
> pointer to store my readings.
>
> - Reading the partition table from the first block. I can read the first
> block and register the card partition as a logical disk, so reading and
> registering the partition table is no problem.
>
> - Tried also a busy wait between block readings.
>
> The result is always the same: when mounting the card partition, it reads
> the first two partition blocks and then hangs.
>
>
>  If you get stuck share your sources and let me know.
>
>
> Will try to get the code to github soon.
>
>
>
>
> 2014-05-13 14:03 GMT+04:00 Andre Marques :
>
>>  On 05/12/14 19:25, Andrey Mozzhuhin wrote:
>>
>>  I think you need start with simple tests without file systems and block
>> device driver.
>>  Try read and write blocks with known patterns and check it on PC and
>> Raspberry Pi.
>>
>>
>>  I have checked the data read by my emmc driver from the first two blocks
>> (the ones it reads) on the RPi, and compared with an hexdump of those same
>> two blocks on Linux, and there is a small mismatch at the middle of the
>> first block.
>>
>> Not sure how to approach this problem, as the logic seems right. Will do
>> more testing in the meanwhile.
>>
>>
>>   What are you use for MMC/SD protocol? Can I see it and block device
>> driver somewhere?
>>
>>
>>  I'm porting the following code
>>
>> https://github.com/jncronin/rpi-boot/blob/master/emmc.c
>>
>> and using the following SD card documentation
>>
>> Physical Layer Simplified Specification (3.01)  -
>> https://www.sdcard.org/downloads/pls/simplified_specs/archive/part1_301.pdf
>>
>> Host Controller Simplified Specification (2.00) -
>> https://www.sdcard.org/downloads/pls/simplified_specs/archive/partA2_200.pdf
>>
>> and the raspberry soc datasheet: Broadcom BCM2835 Peripherals Guide
>> (Chapter 5 - EMMC)
>>
>>
>>
>> 2014-05-12 20:23 GMT+04:00 Andre Marques :
>>
>>>  Hello,
>>>
>>> I have used the pc386 BSP to mount the card (before your suggestions)
>>> using the fileio sample and it could read the card contents perfectly.
>>>
>>> Then I filled the card with zeros using dd on Linux, modified the fileio
>>> sample to format the card with msdos_format(dev, NULL) and then mounted it
>>> on the pc 386 BSP fileio sample and I could write and read the card.
>>>
>>> On Linux I set the card with the necessary files for Raspberry, and when
>>> my driver tries to mount the card on the Raspberry Pi it reads the first 2
>>> blocks (now 0 and 1, because the card has no partition table) and hangs,
>>> just as before.
>>>
>>> I guess my driver is having some reading problems.
>>>
>>>
>>> On 05/05/14 19:30, Andrey Mozzhuhin wrote:
>>>
>>> You can try to use SD Card in opposite direction:
>>> 0) fill SD Card with zeroes;
>>>  1) format partition under RTEMS with msdos_format() function;
>>> 2) check that PC can read/write this SD Card;
>>> 3) if PC fails to mount this partition - dump SD Card and check that all
>>> data is on right sectors.
>>>
>>>
>>>
>>> 2014-05-05 22:28 GMT+04:00 Andrey Mozzhuhin :
>>>
   Hi, Andre

  You can try to us