[Xenomai-git] Philippe Gerum : boilerplate/list: rename to listobj ( avoid conflict with STL)

2015-06-16 Thread git repository hosting
Module: xenomai-3
Branch: next
Commit: eb764d10cd88b23fc82419ad04b4ddbf4a59deb1
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=eb764d10cd88b23fc82419ad04b4ddbf4a59deb1

Author: Philippe Gerum r...@xenomai.org
Date:   Tue Jun 16 14:43:52 2015 +0200

boilerplate/list: rename to listobj (avoid conflict with STL)

---

 include/boilerplate/hash.h|2 +-
 include/boilerplate/shared-list.h |   34 +-
 include/copperplate/heapobj.h |6 +++---
 include/copperplate/syncobj.h |4 ++--
 lib/alchemy/queue.h   |2 +-
 lib/analogy/calibration.c |2 +-
 lib/analogy/calibration.h |2 +-
 lib/copperplate/internal.h|2 +-
 lib/copperplate/registry.c|2 +-
 lib/psos/queue.h  |2 +-
 lib/vxworks/msgQLib.h |2 +-
 utils/analogy/calibration_ni_m.c  |   10 +-
 12 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/include/boilerplate/hash.h b/include/boilerplate/hash.h
index 2d77d2f..733be9b 100644
--- a/include/boilerplate/hash.h
+++ b/include/boilerplate/hash.h
@@ -34,7 +34,7 @@ struct hashobj {
 };
 
 struct hash_bucket {
-   struct list obj_list;
+   struct listobj obj_list;
 };
 
 struct hash_table {
diff --git a/include/boilerplate/shared-list.h 
b/include/boilerplate/shared-list.h
index a98cbe0..0f88d6f 100644
--- a/include/boilerplate/shared-list.h
+++ b/include/boilerplate/shared-list.h
@@ -31,7 +31,7 @@ struct holder {
dref_type(struct holder *) prev;
 };
 
-struct list {
+struct listobj {
struct holder head;
 };
 
@@ -78,17 +78,17 @@ static inline void dth(struct holder *holder)
__dth(__main_heap, holder);
 }
 
-static inline void __list_init(void *heap, struct list *list)
+static inline void __list_init(void *heap, struct listobj *list)
 {
__inith(heap, list-head);
 }
 
-static inline void __list_init_nocheck(void *heap, struct list *list)
+static inline void __list_init_nocheck(void *heap, struct listobj *list)
 {
__inith_nocheck(heap, list-head);
 }
 
-static inline void list_init(struct list *list)
+static inline void list_init(struct listobj *list)
 {
__list_init(__main_heap, list);
 }
@@ -124,23 +124,23 @@ static inline int holder_linked(const struct holder 
*holder)
 }
 
 static inline void __list_prepend(void *heap, struct holder *holder,
- struct list *list)
+ struct listobj *list)
 {
__ath(heap, list-head, holder);
 }
 
-static inline void list_prepend(struct holder *holder, struct list *list)
+static inline void list_prepend(struct holder *holder, struct listobj *list)
 {
__list_prepend(__main_heap, holder, list);
 }
 
 static inline void __list_append(void *heap, struct holder *holder,
-struct list *list)
+struct listobj *list)
 {
__ath(heap, __hptr(heap, list-head.prev), holder);
 }
 
-static inline void list_append(struct holder *holder, struct list *list)
+static inline void list_append(struct holder *holder, struct listobj *list)
 {
__list_append(__main_heap, holder, list);
 }
@@ -155,8 +155,8 @@ static inline void list_insert(struct holder *next, struct 
holder *prev)
__list_insert(__main_heap, next, prev);
 }
 
-static inline void __list_join(void *heap, struct list *lsrc,
-  struct list *ldst)
+static inline void __list_join(void *heap, struct listobj *lsrc,
+  struct listobj *ldst)
 {
struct holder *headsrc = __hptr(heap, lsrc-head.next);
struct holder *tailsrc = __hptr(heap, lsrc-head.prev);
@@ -170,7 +170,7 @@ static inline void __list_join(void *heap, struct list 
*lsrc,
headdst-next = __hoff(heap, headsrc);
 }
 
-static inline void list_join(struct list *lsrc, struct list *ldst)
+static inline void list_join(struct listobj *lsrc, struct listobj *ldst)
 {
__list_join(__main_heap, lsrc, ldst);
 }
@@ -196,36 +196,36 @@ static inline void list_remove_init(struct holder *holder)
__list_remove_init(__main_heap, holder);
 }
 
-static inline int __list_empty(void *heap, const struct list *list)
+static inline int __list_empty(void *heap, const struct listobj *list)
 {
return list-head.next == __hoff(heap, list-head);
 }
 
-static inline int list_empty(const struct list *list)
+static inline int list_empty(const struct listobj *list)
 {
return __list_empty(__main_heap, list);
 }
 
-static inline struct holder *__list_pop(void *heap, struct list *list)
+static inline struct holder *__list_pop(void *heap, struct listobj *list)
 {
struct holder *holder = __hptr(heap, list-head.next);
__list_remove(heap, holder);
return holder;
 }
 
-static inline struct holder *list_pop(struct list *list)
+static inline struct holder *list_pop(struct listobj *list)
 {
return 

[Xenomai-git] Philippe Gerum : boilerplate/pvlist: rename to pvlistobj (for consistency)

2015-06-16 Thread git repository hosting
Module: xenomai-3
Branch: next
Commit: c2ef0b97c6ddf2ce80d64534f1a48c99fdbc08cd
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c2ef0b97c6ddf2ce80d64534f1a48c99fdbc08cd

Author: Philippe Gerum r...@xenomai.org
Date:   Tue Jun 16 14:48:42 2015 +0200

boilerplate/pvlist: rename to pvlistobj (for consistency)

---

 include/boilerplate/hash.h |2 +-
 include/boilerplate/private-list.h |   18 +-
 include/smokey/smokey.h|2 +-
 include/vxworks/lstLib.h   |2 +-
 lib/copperplate/registry.c |4 ++--
 lib/psos/task.h|2 +-
 lib/vxworks/taskHookLib.c  |6 +++---
 lib/vxworks/taskHookLib.h  |6 +++---
 lib/vxworks/taskLib.h  |2 +-
 9 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/include/boilerplate/hash.h b/include/boilerplate/hash.h
index 733be9b..ef62e13 100644
--- a/include/boilerplate/hash.h
+++ b/include/boilerplate/hash.h
@@ -68,7 +68,7 @@ struct pvhashobj {
 };
 
 struct pvhash_bucket {
-   struct pvlist obj_list;
+   struct pvlistobj obj_list;
 };
 
 struct pvhash_table {
diff --git a/include/boilerplate/private-list.h 
b/include/boilerplate/private-list.h
index 4e70ac7..f5aafac 100644
--- a/include/boilerplate/private-list.h
+++ b/include/boilerplate/private-list.h
@@ -28,7 +28,7 @@ struct pvholder {
struct pvholder *prev;
 };
 
-struct pvlist {
+struct pvlistobj {
struct pvholder head;
 };
 
@@ -36,7 +36,7 @@ struct pvlist {
{ .head = { .next = ((__name).head), .prev = ((__name).head) } }
 
 #define DEFINE_PRIVATE_LIST(__name) \
-   struct pvlist __name = PRIVATE_LIST_INITIALIZER(__name)
+   struct pvlistobj __name = PRIVATE_LIST_INITIALIZER(__name)
 
 static inline void initpvh(struct pvholder *holder)
 {
@@ -59,7 +59,7 @@ static inline void dtpvh(struct pvholder *holder)
holder-next-prev = holder-prev;
 }
 
-static inline void pvlist_init(struct pvlist *list)
+static inline void pvlist_init(struct pvlistobj *list)
 {
initpvh(list-head);
 }
@@ -79,12 +79,12 @@ static inline int pvholder_linked(const struct pvholder 
*holder)
 holder-prev == holder);
 }
 
-static inline void pvlist_prepend(struct pvholder *holder, struct pvlist *list)
+static inline void pvlist_prepend(struct pvholder *holder, struct pvlistobj 
*list)
 {
atpvh(list-head, holder);
 }
 
-static inline void pvlist_append(struct pvholder *holder, struct pvlist *list)
+static inline void pvlist_append(struct pvholder *holder, struct pvlistobj 
*list)
 {
atpvh(list-head.prev, holder);
 }
@@ -94,7 +94,7 @@ static inline void pvlist_insert(struct pvholder *next, 
struct pvholder *prev)
atpvh(prev, next);
 }
 
-static inline void pvlist_join(struct pvlist *lsrc, struct pvlist *ldst)
+static inline void pvlist_join(struct pvlistobj *lsrc, struct pvlistobj *ldst)
 {
struct pvholder *headsrc = lsrc-head.next;
struct pvholder *tailsrc = lsrc-head.prev;
@@ -119,12 +119,12 @@ static inline void pvlist_remove_init(struct pvholder 
*holder)
initpvh(holder);
 }
 
-static inline int pvlist_empty(const struct pvlist *list)
+static inline int pvlist_empty(const struct pvlistobj *list)
 {
return list-head.next == list-head;
 }
 
-static inline struct pvholder *pvlist_pop(struct pvlist *list)
+static inline struct pvholder *pvlist_pop(struct pvlistobj *list)
 {
struct pvholder *holder = list-head.next;
pvlist_remove(holder);
@@ -132,7 +132,7 @@ static inline struct pvholder *pvlist_pop(struct pvlist 
*list)
 }
 
 static inline int pvlist_heading_p(const struct pvholder *holder,
-  const struct pvlist *list)
+  const struct pvlistobj *list)
 {
return list-head.next == holder;
 }
diff --git a/include/smokey/smokey.h b/include/smokey/smokey.h
index 41f5e6e..e759806 100644
--- a/include/smokey/smokey.h
+++ b/include/smokey/smokey.h
@@ -121,7 +121,7 @@ void smokey_note(const char *fmt, ...);
 }
 #endif
 
-extern struct pvlist smokey_test_list;
+extern struct pvlistobj smokey_test_list;
 
 extern int smokey_keep_going;
 
diff --git a/include/vxworks/lstLib.h b/include/vxworks/lstLib.h
index acb94f6..9644ca5 100644
--- a/include/vxworks/lstLib.h
+++ b/include/vxworks/lstLib.h
@@ -28,7 +28,7 @@
 #include vxworks/types.h
 
 typedef struct LIST {
-   struct pvlist list;
+   struct pvlistobj list;
int count;
 } LIST;
 
diff --git a/lib/copperplate/registry.c b/lib/copperplate/registry.c
index 4648773..adf0d73 100644
--- a/lib/copperplate/registry.c
+++ b/lib/copperplate/registry.c
@@ -79,8 +79,8 @@ struct regfs_dir {
char *path;
const char *basename;
struct pvhashobj hobj;
-   struct pvlist file_list;
-   struct pvlist dir_list;
+   struct pvlistobj file_list;
+   struct pvlistobj dir_list;
int ndirs, nfiles;
struct timespec ctime;
   

[Xenomai-git] Philippe Gerum : testsuite/latency: dump configuration data along with gnuplot output

2015-06-16 Thread git repository hosting
Module: xenomai-3
Branch: next
Commit: e2ee98d281a900518329c260dcbcdc42ca1c3671
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e2ee98d281a900518329c260dcbcdc42ca1c3671

Author: Philippe Gerum r...@xenomai.org
Date:   Tue Jun 16 14:24:44 2015 +0200

testsuite/latency: dump configuration data along with gnuplot output

At this chance, also recognizes - as stdout for -g option.

---

 testsuite/latency/latency.c |   41 -
 1 file changed, 32 insertions(+), 9 deletions(-)

diff --git a/testsuite/latency/latency.c b/testsuite/latency/latency.c
index f76e3e8..8aab398 100644
--- a/testsuite/latency/latency.c
+++ b/testsuite/latency/latency.c
@@ -382,14 +382,36 @@ static double dump_histogram(int32_t *histogram, char 
*kind)
 
 static void dump_histo_gnuplot(int32_t *histogram)
 {
-   unsigned start, stop;
-   FILE *f;
+   unsigned int start, stop;
+   char *xconf, buf[BUFSIZ];
+   FILE *ifp, *ofp;
int n;
 
-   f = fopen(do_gnuplot, w);
-   if (!f)
-   return;
+   if (strcmp(do_gnuplot, -) == 0)
+   ofp = stdout;
+   else {
+   ofp = fopen(do_gnuplot, w);
+   if (ofp == NULL)
+   return;
+   }
+
+   if (asprintf(xconf, %s/bin/xeno-config --info, CONFIG_XENO_PREFIX)  
0)
+   goto dump_data;
+
+   ifp = popen(xconf, r);
+   free(xconf);
+   if (ifp == NULL)
+   goto dump_data;
+
+   while (fgets(buf, sizeof(buf), ifp)) {
+   fputc('#', ofp);
+   fputc(' ', ofp);
+   fputs(buf, ofp);
+   }
+
+   fclose(ifp);
 
+dump_data:
for (n = 0; n  histogram_size  histogram[n] == 0; n++)
;
start = n;
@@ -398,13 +420,14 @@ static void dump_histo_gnuplot(int32_t *histogram)
;
stop = n;
 
-   fprintf(f, %g 1\n, start * bucketsize / 1000.0);
+   fprintf(ofp, %g 1\n, start * bucketsize / 1000.0);
for (n = start; n = stop; n++)
-   fprintf(f, %g %d\n,
+   fprintf(ofp, %g %d\n,
(n + 0.5) * bucketsize / 1000.0, histogram[n] + 1);
-   fprintf(f, %g 1\n, (stop + 1) * bucketsize / 1000.0);
+   fprintf(ofp, %g 1\n, (stop + 1) * bucketsize / 1000.0);
 
-   fclose(f);
+   if (ofp != stdout)
+   fclose(ofp);
 }
 
 static void dump_stats(int32_t *histogram, char *kind, double avg)


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Philippe Gerum : build: drop obsolete ARM switches

2015-06-16 Thread git repository hosting
Module: xenomai-3
Branch: next
Commit: f27caab58e28619444652886147a960e9139b988
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f27caab58e28619444652886147a960e9139b988

Author: Philippe Gerum r...@xenomai.org
Date:   Tue Jun 16 12:30:04 2015 +0200

build: drop obsolete ARM switches

---

 configure.ac |   26 --
 1 file changed, 26 deletions(-)

diff --git a/configure.ac b/configure.ac
index 89f89ef..118d668 100644
--- a/configure.ac
+++ b/configure.ac
@@ -383,29 +383,6 @@ if test $XENO_TARGET_ARCH = x86; then
   AC_MSG_RESULT(${CONFIG_XENO_X86_VSYSCALL:-no})
 fi
 
-dnl ARCH support for ARM (default: 4)
-
-if test $XENO_TARGET_ARCH = arm ; then
-  unset CONFIG_XENO_ARM_SA1100
-  unset CONFIG_XENO_CPU_XSC3
-
-  AC_ARG_ENABLE(arm-quirks,
-   AS_HELP_STRING([--enable-arm-quirks], [Enable quirks for
-   specific systems. Currently supported quirks are for sa1100 and
-   xscale3.]),
-   [case $enableval in
-   sa1100)  CONFIG_XENO_ARM_SA1100=y;;
-   xscale3) CONFIG_XENO_CPU_XSC3=y;;
-   *)AC_MSG_ERROR([Invalid SOC selected: $enableval]);;
-   esac])
-
-  AC_MSG_CHECKING(for ARM SA1100 architecture)
-  AC_MSG_RESULT(${CONFIG_XENO_ARM_SA1100:-no})
-
-  AC_MSG_CHECKING(for ARM Xscale3 architecture)
-  AC_MSG_RESULT(${CONFIG_XENO_CPU_XSC3:-no})
-fi
-
 dnl Documentation package.
 
 XENO_DOC_GIT=
@@ -614,9 +591,6 @@ dnl
 
 test x$CONFIG_XENO_X86_VSYSCALL = xy  
AC_DEFINE(CONFIG_XENO_X86_VSYSCALL,1,[config])
 test x$CONFIG_SMP = xy  AC_DEFINE(CONFIG_SMP,1,[config])
-test x$CONFIG_XENO_ARM_SA1100 = xy  
AC_DEFINE(CONFIG_XENO_ARM_SA1100,1,[config])
-test x$CONFIG_XENO_CPU_XSC3 = xy  AC_DEFINE(CONFIG_XENO_CPU_XSC3,1,[config])
-test $CONFIG_XENO_ARM_TSC_TYPE  
AC_DEFINE_UNQUOTED(CONFIG_XENO_ARM_TSC_TYPE,$CONFIG_XENO_ARM_TSC_TYPE,[config])
 
 dnl
 dnl Userland may want to know about MMU availability on the target.


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Philippe Gerum : lib/cobalt: export service for reading the high resolution clock

2015-06-16 Thread git repository hosting
Module: xenomai-3
Branch: next
Commit: d584a57d8bd859269f63490e7e0f51877a44f399
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d584a57d8bd859269f63490e7e0f51877a44f399

Author: Philippe Gerum r...@xenomai.org
Date:   Tue Jun 16 11:52:49 2015 +0200

lib/cobalt: export service for reading the high resolution clock

cobalt_read_hrclock() returns the current TSC value as defined by the
platform. This is a Cobalt-specific service, which is aimed at
measuring elapsed time accurately, with low overhead. The output is
the current raw count of ticks, as reported by the hrclock device used
by Cobalt for timing.

Such value is NOT converted to nanoseconds before return.
cobalt_ticks_to_ns() and cobalt_ticks_to_ns_rounded() are available
for converting raw tick counts to nanoseconds.

Application code should stick with clock_gettime(CLOCK_MONOTONIC, ...)
for portability.

This clock source is guaranteed continuous, monotonically increasing.

---

 include/cobalt/sys/cobalt.h |1 +
 include/cobalt/ticks.h  |2 ++
 lib/cobalt/ticks.c  |6 ++
 3 files changed, 9 insertions(+)

diff --git a/include/cobalt/sys/cobalt.h b/include/cobalt/sys/cobalt.h
index fd43086..9f9d03a 100644
--- a/include/cobalt/sys/cobalt.h
+++ b/include/cobalt/sys/cobalt.h
@@ -37,6 +37,7 @@
 #include cobalt/uapi/thread.h
 #include cobalt/uapi/cond.h
 #include cobalt/uapi/sem.h
+#include cobalt/ticks.h
 
 #define cobalt_commit_memory(p) __cobalt_commit_memory(p, sizeof(*p))
 
diff --git a/include/cobalt/ticks.h b/include/cobalt/ticks.h
index 2d0132d..d9abd39 100644
--- a/include/cobalt/ticks.h
+++ b/include/cobalt/ticks.h
@@ -24,6 +24,8 @@
 extern C {
 #endif
 
+xnticks_t cobalt_read_hrclock(void);
+
 xnsticks_t cobalt_ticks_to_ns(xnsticks_t ticks);
 
 xnsticks_t cobalt_ticks_to_ns_rounded(xnsticks_t ticks);
diff --git a/lib/cobalt/ticks.c b/lib/cobalt/ticks.c
index 43f3e3a..0e5682d 100644
--- a/lib/cobalt/ticks.c
+++ b/lib/cobalt/ticks.c
@@ -17,6 +17,7 @@
  */
 #include cobalt/arith.h
 #include cobalt/ticks.h
+#include asm/xenomai/tsc.h
 #include internal.h
 
 static unsigned long long clockfreq;
@@ -98,6 +99,11 @@ unsigned long long cobalt_divrem_billion(unsigned long long 
value,
 }
 #endif /* !XNARCH_HAVE_NODIV_LLIMD */
 
+xnticks_t cobalt_read_hrclock(void)
+{
+   return cobalt_read_tsc();
+}
+
 void cobalt_ticks_init(unsigned long long freq)
 {
clockfreq = freq;


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git