[Xenomai-git] Philippe Gerum : doc: prebuild
Module: xenomai-3 Branch: master Commit: c0ec879cb9c583e21a085959221374e8baf86bca URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c0ec879cb9c583e21a085959221374e8baf86bca Author: Philippe Gerum r...@xenomai.org Date: Thu Apr 16 21:06:38 2015 +0200 doc: prebuild --- doc/asciidoc/MIGRATION.adoc| 19 +- doc/prebuilt/html/MIGRATION/index.html | 49 +- doc/prebuilt/html/README.APPLICATIONS/index.html | 11 +- doc/prebuilt/html/README.INSTALL/index.html| 204 - .../html/TROUBLESHOOTING.COBALT/index.html |2 +- .../html/TROUBLESHOOTING.MERCURY/index.html|2 +- doc/prebuilt/html/man1/autotune/index.html | 24 +- doc/prebuilt/html/man1/corectl/index.html |2 +- doc/prebuilt/html/man1/xeno-config/index.html | 26 +- .../html/xeno3prm/16550A__io_8h_source.html| 11 +- .../html/xeno3prm/16550A__pci_8h_source.html | 11 +- .../html/xeno3prm/16550A__pnp_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/8255_8h_source.html | 14 +- doc/prebuilt/html/xeno3prm/af__inet_8h_source.html | 11 +- .../html/xeno3prm/alchemy_2compat_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/analogy_2driver_8h.html | 15 +- .../xeno3prm/analogy_2driver_8h__dep__incl.map |2 +- .../xeno3prm/analogy_2driver_8h__dep__incl.md5 |2 +- .../xeno3prm/analogy_2driver_8h__dep__incl.png | Bin 19947 - 19969 bytes .../html/xeno3prm/analogy_2driver_8h__incl.map |8 +- .../html/xeno3prm/analogy_2driver_8h__incl.md5 |2 +- .../html/xeno3prm/analogy_2driver_8h__incl.png | Bin 343296 - 341235 bytes .../html/xeno3prm/analogy_2driver_8h_source.html | 28 +- doc/prebuilt/html/xeno3prm/analogy_8h.html | 15 +- .../html/xeno3prm/analogy_8h__dep__incl.map|7 +- .../html/xeno3prm/analogy_8h__dep__incl.md5|2 +- .../html/xeno3prm/analogy_8h__dep__incl.png| Bin 14542 - 12844 bytes doc/prebuilt/html/xeno3prm/analogy_8h__incl.map| 24 +- doc/prebuilt/html/xeno3prm/analogy_8h__incl.md5|2 +- doc/prebuilt/html/xeno3prm/analogy_8h__incl.png| Bin 56870 - 66400 bytes doc/prebuilt/html/xeno3prm/analogy_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/annotated.html | 11 +- doc/prebuilt/html/xeno3prm/apc_8h_source.html | 15 +- doc/prebuilt/html/xeno3prm/api-tags.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 31 +- ...m_2include_2asm_2xenomai_2fptest_8h_source.html | 11 +- ...lude_2asm_2xenomai_2uapi_2fptest_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/arp_8h_source.html | 11 +- .../xeno3prm/{ftv2mlastnode.png = arrowdown.png} | Bin 246 - 246 bytes .../xeno3prm/{ftv2plastnode.png = arrowright.png} | Bin 229 - 229 bytes doc/prebuilt/html/xeno3prm/assert_8h_source.html | 120 +-- doc/prebuilt/html/xeno3prm/async_8c.html | 13 +- doc/prebuilt/html/xeno3prm/async_8c__incl.map | 44 +- doc/prebuilt/html/xeno3prm/async_8c__incl.md5 |2 +- doc/prebuilt/html/xeno3prm/async_8c__incl.png | Bin 98872 - 96234 bytes doc/prebuilt/html/xeno3prm/atomic_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/bheap_8h_source.html| 327 +++ ...n_2include_2asm_2xenomai_2fptest_8h_source.html | 11 +- ...lude_2asm_2xenomai_2uapi_2fptest_8h_source.html | 11 +- .../boilerplate_2ancillaries_8h_source.html| 13 +- .../html/xeno3prm/boilerplate_2list_8h_source.html | 11 +- .../html/xeno3prm/boilerplate_2lock_8h_source.html | 11 +- .../html/xeno3prm/boilerplate_2time_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/bufd_8h_source.html | 11 +- .../html/xeno3prm/bufp-label_8c-example.html | 11 +- .../html/xeno3prm/bufp-readwrite_8c-example.html | 11 +- doc/prebuilt/html/xeno3prm/c1e_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/calibration_8c.html | 13 +- .../html/xeno3prm/calibration_8c__incl.map | 32 +- .../html/xeno3prm/calibration_8c__incl.md5 |2 +- .../html/xeno3prm/calibration_8c__incl.png | Bin 83060 - 98676 bytes doc/prebuilt/html/xeno3prm/can-rtt_8c-example.html | 11 +- doc/prebuilt/html/xeno3prm/channel__range_8h.html
[Xenomai-git] Philippe Gerum : doc: prebuild
Module: xenomai-3 Branch: next Commit: c0ec879cb9c583e21a085959221374e8baf86bca URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c0ec879cb9c583e21a085959221374e8baf86bca Author: Philippe Gerum r...@xenomai.org Date: Thu Apr 16 21:06:38 2015 +0200 doc: prebuild --- doc/asciidoc/MIGRATION.adoc| 19 +- doc/prebuilt/html/MIGRATION/index.html | 49 +- doc/prebuilt/html/README.APPLICATIONS/index.html | 11 +- doc/prebuilt/html/README.INSTALL/index.html| 204 - .../html/TROUBLESHOOTING.COBALT/index.html |2 +- .../html/TROUBLESHOOTING.MERCURY/index.html|2 +- doc/prebuilt/html/man1/autotune/index.html | 24 +- doc/prebuilt/html/man1/corectl/index.html |2 +- doc/prebuilt/html/man1/xeno-config/index.html | 26 +- .../html/xeno3prm/16550A__io_8h_source.html| 11 +- .../html/xeno3prm/16550A__pci_8h_source.html | 11 +- .../html/xeno3prm/16550A__pnp_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/8255_8h_source.html | 14 +- doc/prebuilt/html/xeno3prm/af__inet_8h_source.html | 11 +- .../html/xeno3prm/alchemy_2compat_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/analogy_2driver_8h.html | 15 +- .../xeno3prm/analogy_2driver_8h__dep__incl.map |2 +- .../xeno3prm/analogy_2driver_8h__dep__incl.md5 |2 +- .../xeno3prm/analogy_2driver_8h__dep__incl.png | Bin 19947 - 19969 bytes .../html/xeno3prm/analogy_2driver_8h__incl.map |8 +- .../html/xeno3prm/analogy_2driver_8h__incl.md5 |2 +- .../html/xeno3prm/analogy_2driver_8h__incl.png | Bin 343296 - 341235 bytes .../html/xeno3prm/analogy_2driver_8h_source.html | 28 +- doc/prebuilt/html/xeno3prm/analogy_8h.html | 15 +- .../html/xeno3prm/analogy_8h__dep__incl.map|7 +- .../html/xeno3prm/analogy_8h__dep__incl.md5|2 +- .../html/xeno3prm/analogy_8h__dep__incl.png| Bin 14542 - 12844 bytes doc/prebuilt/html/xeno3prm/analogy_8h__incl.map| 24 +- doc/prebuilt/html/xeno3prm/analogy_8h__incl.md5|2 +- doc/prebuilt/html/xeno3prm/analogy_8h__incl.png| Bin 56870 - 66400 bytes doc/prebuilt/html/xeno3prm/analogy_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/annotated.html | 11 +- doc/prebuilt/html/xeno3prm/apc_8h_source.html | 15 +- doc/prebuilt/html/xeno3prm/api-tags.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 11 +- ..._2include_2asm_2xenomai_2machine_8h_source.html | 11 +- ...include_2asm_2xenomai_2syscall32_8h_source.html | 31 +- ...m_2include_2asm_2xenomai_2fptest_8h_source.html | 11 +- ...lude_2asm_2xenomai_2uapi_2fptest_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/arp_8h_source.html | 11 +- .../xeno3prm/{ftv2mlastnode.png = arrowdown.png} | Bin 246 - 246 bytes .../xeno3prm/{ftv2plastnode.png = arrowright.png} | Bin 229 - 229 bytes doc/prebuilt/html/xeno3prm/assert_8h_source.html | 120 +-- doc/prebuilt/html/xeno3prm/async_8c.html | 13 +- doc/prebuilt/html/xeno3prm/async_8c__incl.map | 44 +- doc/prebuilt/html/xeno3prm/async_8c__incl.md5 |2 +- doc/prebuilt/html/xeno3prm/async_8c__incl.png | Bin 98872 - 96234 bytes doc/prebuilt/html/xeno3prm/atomic_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/bheap_8h_source.html| 327 +++ ...n_2include_2asm_2xenomai_2fptest_8h_source.html | 11 +- ...lude_2asm_2xenomai_2uapi_2fptest_8h_source.html | 11 +- .../boilerplate_2ancillaries_8h_source.html| 13 +- .../html/xeno3prm/boilerplate_2list_8h_source.html | 11 +- .../html/xeno3prm/boilerplate_2lock_8h_source.html | 11 +- .../html/xeno3prm/boilerplate_2time_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/bufd_8h_source.html | 11 +- .../html/xeno3prm/bufp-label_8c-example.html | 11 +- .../html/xeno3prm/bufp-readwrite_8c-example.html | 11 +- doc/prebuilt/html/xeno3prm/c1e_8h_source.html | 11 +- doc/prebuilt/html/xeno3prm/calibration_8c.html | 13 +- .../html/xeno3prm/calibration_8c__incl.map | 32 +- .../html/xeno3prm/calibration_8c__incl.md5 |2 +- .../html/xeno3prm/calibration_8c__incl.png | Bin 83060 - 98676 bytes doc/prebuilt/html/xeno3prm/can-rtt_8c-example.html | 11 +- doc/prebuilt/html/xeno3prm/channel__range_8h.html
[Xenomai-git] Philippe Gerum : cobalt/kernel: fix circular dependency in Kconfig
Module: xenomai-3 Branch: master Commit: 04729e223701d96d33936e607d7591b3ff19131d URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=04729e223701d96d33936e607d7591b3ff19131d Author: Philippe Gerum r...@xenomai.org Date: Tue Mar 31 12:47:37 2015 +0200 cobalt/kernel: fix circular dependency in Kconfig --- kernel/cobalt/Kconfig |2 -- 1 file changed, 2 deletions(-) diff --git a/kernel/cobalt/Kconfig b/kernel/cobalt/Kconfig index 2ebc7a2..82681a9 100644 --- a/kernel/cobalt/Kconfig +++ b/kernel/cobalt/Kconfig @@ -392,7 +392,6 @@ if XENO_OPT_DEBUG config XENO_OPT_DEBUG_COBALT bool Cobalt runtime assertions - select IPIPE_DEBUG_CONTEXT help This option activates various assertions inside the Cobalt @@ -400,7 +399,6 @@ config XENO_OPT_DEBUG_COBALT config XENO_OPT_DEBUG_CONTEXT bool Check for calling context - select IPIPE_DEBUG_CONTEXT help This option enables checks for the calling context in the ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : scripts/xeno-config: do not wrap POSIX symbols with --cobalt
Module: xenomai-3 Branch: master Commit: 1efce9c3a67153944060d3ce7b0b8d1d5f12720f URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1efce9c3a67153944060d3ce7b0b8d1d5f12720f Author: Philippe Gerum r...@xenomai.org Date: Fri Mar 27 09:27:31 2015 +0100 scripts/xeno-config: do not wrap POSIX symbols with --cobalt Use --cobalt to link against libcobalt with no symbol wrapping, referring to overriden POSIX routines by using __RT() or __COBALT() qualifiers explicitly. Use --posix to link against libcobalt with symbol wrapping. --- scripts/xeno-config-cobalt.in |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/xeno-config-cobalt.in b/scripts/xeno-config-cobalt.in index d72a25e..cf1d9dd 100644 --- a/scripts/xeno-config-cobalt.in +++ b/scripts/xeno-config-cobalt.in @@ -52,7 +52,7 @@ Options : --ccld --arch --prefix ---[skin=]posix/cobalt|vxworks|psos|alchemy|rtdm|smokey +--[skin=]posix|vxworks|psos|alchemy|rtdm|smokey|cobalt --auto-init|no-auto-init --cflags --kcflags @@ -204,9 +204,13 @@ while test $# -gt 0; do copperplate= for skin in $skin_list; do case $skin in - posix|cobalt|rtdm) + posix|rtdm) ldflags=`dump_wrappers cobalt.wrappers` $ldflags ;; + cobalt) + # do NOT wrap POSIX symbols in application code + # with --cobalt. On the contrary, --posix does. + ;; vxworks|psos|alchemy|smokey) copperplate=$WRAP_MAIN -lcopperplate ldflags=$ldflags -l$skin ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : demo/altency: set default affinity to CPU0
Module: xenomai-3 Branch: master Commit: 215ae29a5fb19511e1dcd6aa888984b2726e7401 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=215ae29a5fb19511e1dcd6aa888984b2726e7401 Author: Philippe Gerum r...@xenomai.org Date: Wed Mar 25 12:01:05 2015 +0100 demo/altency: set default affinity to CPU0 --- demo/alchemy/altency.c | 20 +--- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/demo/alchemy/altency.c b/demo/alchemy/altency.c index 8db2280..5365ab2 100644 --- a/demo/alchemy/altency.c +++ b/demo/alchemy/altency.c @@ -493,7 +493,7 @@ static void sigdebug(int sig, siginfo_t *si, void *context) int main(int argc, char *const *argv) { struct sigaction sa __attribute__((unused)); - int c, ret, sig, cpu = -1; + int c, ret, sig, cpu = 0; char task_name[32]; cpu_set_t cpus; sigset_t mask; @@ -667,16 +667,14 @@ int main(int argc, char *const *argv) return 0; } - if (cpu = 0) { - CPU_ZERO(cpus); - CPU_SET(cpu, cpus); - ret = rt_task_set_affinity(latency_task, cpus); - if (ret) { - fprintf(stderr, - altency: failed to set CPU affinity, code %d\n, - ret); - return 0; - } + CPU_ZERO(cpus); + CPU_SET(cpu, cpus); + ret = rt_task_set_affinity(latency_task, cpus); + if (ret) { + fprintf(stderr, + altency: failed to set CPU affinity, code %d\n, + ret); + return 0; } ret = rt_task_start(latency_task, latency, NULL); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : smokey: use real-time printf wrapper for output
Module: xenomai-3 Branch: master Commit: 13552a35ab86888940dd61c719b96507b1037de2 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=13552a35ab86888940dd61c719b96507b1037de2 Author: Philippe Gerum r...@xenomai.org Date: Thu Mar 26 16:02:59 2015 +0100 smokey: use real-time printf wrapper for output --- lib/smokey/helpers.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/smokey/helpers.c b/lib/smokey/helpers.c index 332ffae..f653e53 100644 --- a/lib/smokey/helpers.c +++ b/lib/smokey/helpers.c @@ -125,7 +125,7 @@ void smokey_note(const char *fmt, ...) va_start(ap, fmt); if (!smokey_quiet_mode) - vprintf(fmt, ap); + __RT(vfprintf(stdout, fmt, ap)); va_end(ap); } ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : copperplate/clockobj: drop useless name property
Module: xenomai-3 Branch: master Commit: 169fcb1dcca5640137efa4f6ac95bd870c365210 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=169fcb1dcca5640137efa4f6ac95bd870c365210 Author: Philippe Gerum r...@xenomai.org Date: Wed Mar 25 12:09:30 2015 +0100 copperplate/clockobj: drop useless name property --- config/apirev |2 +- include/copperplate/clockobj.h |3 +-- lib/alchemy/init.c |2 +- lib/copperplate/clockobj.c |3 +-- lib/psos/init.c|2 +- lib/vxworks/init.c |2 +- 6 files changed, 6 insertions(+), 8 deletions(-) diff --git a/config/apirev b/config/apirev index f599e28..b4de394 100644 --- a/config/apirev +++ b/config/apirev @@ -1 +1 @@ -10 +11 diff --git a/include/copperplate/clockobj.h b/include/copperplate/clockobj.h index 736463f..fdd4cae 100644 --- a/include/copperplate/clockobj.h +++ b/include/copperplate/clockobj.h @@ -58,7 +58,6 @@ struct clockobj { unsigned int resolution; unsigned int frequency; #endif - const char *name; /* __ref FIXME */ }; #define zero_time ((struct timespec){ .tv_sec = 0, .tv_nsec = 0 }) @@ -99,7 +98,7 @@ int clockobj_set_resolution(struct clockobj *clkobj, unsigned int resolution_ns); int clockobj_init(struct clockobj *clkobj, - const char *name, unsigned int resolution_ns); + unsigned int resolution_ns); int clockobj_destroy(struct clockobj *clkobj); diff --git a/lib/alchemy/init.c b/lib/alchemy/init.c index daaa757..14ec212 100644 --- a/lib/alchemy/init.c +++ b/lib/alchemy/init.c @@ -109,7 +109,7 @@ static int alchemy_init(void) syncluster_init(alchemy_heap_table, alchemy.heap); pvcluster_init(alchemy_alarm_table, alchemy.alarm); - ret = clockobj_init(alchemy_clock, alchemy, clock_resolution); + ret = clockobj_init(alchemy_clock, clock_resolution); if (ret) { warning(%s: failed to initialize Alchemy clock (res=%u ns), __FUNCTION__, clock_resolution); diff --git a/lib/copperplate/clockobj.c b/lib/copperplate/clockobj.c index b908fd7..21a420d 100644 --- a/lib/copperplate/clockobj.c +++ b/lib/copperplate/clockobj.c @@ -365,7 +365,7 @@ void clockobj_get_distance(struct clockobj *clkobj, } int clockobj_init(struct clockobj *clkobj, - const char *name, unsigned int resolution_ns) + unsigned int resolution_ns) { pthread_mutexattr_t mattr; struct timespec now; @@ -395,7 +395,6 @@ int clockobj_init(struct clockobj *clkobj, __RT(clock_gettime(CLOCK_COPPERPLATE, now)); timespec_sub(clkobj-offset, clkobj-epoch, now); - clkobj-name = name; return 0; } diff --git a/lib/psos/init.c b/lib/psos/init.c index ee29767..99521fa 100644 --- a/lib/psos/init.c +++ b/lib/psos/init.c @@ -117,7 +117,7 @@ static int psos_init(void) pvcluster_init(psos_pt_table, psos.pt); pvcluster_init(psos_rn_table, psos.rn); - ret = clockobj_init(psos_clock, psos, clock_resolution); + ret = clockobj_init(psos_clock, clock_resolution); if (ret) { warning(%s: failed to initialize pSOS clock (res=%u ns), __FUNCTION__, clock_resolution); diff --git a/lib/vxworks/init.c b/lib/vxworks/init.c index 17ab7e8..54b7cf9 100644 --- a/lib/vxworks/init.c +++ b/lib/vxworks/init.c @@ -90,7 +90,7 @@ static int vxworks_init(void) cluster_init(wind_task_table, vxworks.task); - ret = clockobj_init(wind_clock, vxworks, clock_resolution); + ret = clockobj_init(wind_clock, clock_resolution); if (ret) { warning(%s: failed to initialize VxWorks clock (res=%u ns), __FUNCTION__, clock_resolution); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/kernel: drop pointless parameter descriptions
Module: xenomai-3 Branch: master Commit: a7503576b0f70c774ca5008aee481841f3aff920 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a7503576b0f70c774ca5008aee481841f3aff920 Author: Philippe Gerum r...@xenomai.org Date: Wed Mar 25 09:47:30 2015 +0100 cobalt/kernel: drop pointless parameter descriptions The relevant code is statically built into the kernel, so there is no point in preparing for modinfo to pull this documentation. --- kernel/cobalt/arch/x86/smi.c |1 - kernel/cobalt/posix/process.c |1 - kernel/cobalt/sched.c |1 - 3 files changed, 3 deletions(-) diff --git a/kernel/cobalt/arch/x86/smi.c b/kernel/cobalt/arch/x86/smi.c index 6caedef..7f7c9fd 100644 --- a/kernel/cobalt/arch/x86/smi.c +++ b/kernel/cobalt/arch/x86/smi.c @@ -44,7 +44,6 @@ module_param_string(smi, smi_state_arg, sizeof(smi_state_arg), 0444); static unsigned int smi_masked_bits = 1; /* Global disable bit */ module_param_named(smi_mask, smi_masked_bits, int, 0400); -MODULE_PARM_DESC(smi_mask, Set of bits to mask in the SMI control register); static unsigned int smi_saved_bits; static unsigned short smi_en_addr; diff --git a/kernel/cobalt/posix/process.c b/kernel/cobalt/posix/process.c index 3fb644a..bf684a8 100644 --- a/kernel/cobalt/posix/process.c +++ b/kernel/cobalt/posix/process.c @@ -73,7 +73,6 @@ static int gid_arg = -1; module_param_named(allowed_group, gid_arg, int, 0644); -MODULE_PARM_DESC(allowed_group, GID of the group with access to Xenomai services); static DEFINE_MUTEX(personality_lock); diff --git a/kernel/cobalt/sched.c b/kernel/cobalt/sched.c index f57570e..d394ce8 100644 --- a/kernel/cobalt/sched.c +++ b/kernel/cobalt/sched.c @@ -91,7 +91,6 @@ void xnsched_register_classes(void) static unsigned long wd_timeout_arg = CONFIG_XENO_OPT_WATCHDOG_TIMEOUT; module_param_named(watchdog_timeout, wd_timeout_arg, ulong, 0644); -MODULE_PARM_DESC(watchdog_timeout, Watchdog timeout (s)); /** * @internal ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : rtnet: initialize rtdm_driver device_count member
Module: xenomai-3 Branch: master Commit: 90dcdc42183257124a3f3dd83a8e20a2faa829c2 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=90dcdc42183257124a3f3dd83a8e20a2faa829c2 Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org Date: Tue Mar 24 18:57:27 2015 +0100 rtnet: initialize rtdm_driver device_count member --- kernel/drivers/net/stack/ipv4/tcp/tcp.c |1 + kernel/drivers/net/stack/ipv4/udp/udp.c |1 + 2 files changed, 2 insertions(+) diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c b/kernel/drivers/net/stack/ipv4/tcp/tcp.c index d6a7b7d..a270713 100644 --- a/kernel/drivers/net/stack/ipv4/tcp/tcp.c +++ b/kernel/drivers/net/stack/ipv4/tcp/tcp.c @@ -2119,6 +2119,7 @@ static struct rtdm_driver tcp_driver = { RTDM_SUBCLASS_RTNET, RTNET_RTDM_VER), .device_flags = RTDM_PROTOCOL_DEVICE, +.device_count =1, .context_size = sizeof(struct tcp_socket), .protocol_family = PF_INET, diff --git a/kernel/drivers/net/stack/ipv4/udp/udp.c b/kernel/drivers/net/stack/ipv4/udp/udp.c index 3966e54..1e6d5d7 100644 --- a/kernel/drivers/net/stack/ipv4/udp/udp.c +++ b/kernel/drivers/net/stack/ipv4/udp/udp.c @@ -707,6 +707,7 @@ static struct rtdm_driver udp_driver = { RTDM_SUBCLASS_RTNET, RTNET_RTDM_VER), .device_flags = RTDM_PROTOCOL_DEVICE, +.device_count =1, .context_size = sizeof(struct rtsocket), .protocol_family = PF_INET, ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : copperplate/init: trap invalid session name early
Module: xenomai-3 Branch: master Commit: 8c0854991cf67919236d720e019107a9910e6620 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8c0854991cf67919236d720e019107a9910e6620 Author: Philippe Gerum r...@xenomai.org Date: Wed Mar 25 15:09:46 2015 +0100 copperplate/init: trap invalid session name early --- lib/copperplate/init.c |3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/copperplate/init.c b/lib/copperplate/init.c index f6e06d3..ebfa81f 100644 --- a/lib/copperplate/init.c +++ b/lib/copperplate/init.c @@ -523,6 +523,9 @@ static int get_session_root(int *regflags_r) return -ENOMEM; __node_info.session_label = session; *regflags_r |= REGISTRY_ANON; + } else if (strchr(__node_info.session_label, '/')) { + warning(session name may not contain slashes); + return -EINVAL; } ret = asprintf(sessdir, %s/%s/%s, ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : cobalt/mutex, cond: allow static initializer
Module: xenomai-3 Branch: master Commit: 77a0e7eb6cb7573bd5baf253429346595a797b86 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=77a0e7eb6cb7573bd5baf253429346595a797b86 Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org Date: Tue Mar 24 20:40:13 2015 +0100 cobalt/mutex,cond: allow static initializer By initializing the mutex or condvar on first access --- lib/cobalt/cond.c | 58 +++- lib/cobalt/mutex.c | 62 +++- 2 files changed, 109 insertions(+), 11 deletions(-) diff --git a/lib/cobalt/cond.c b/lib/cobalt/cond.c index 70a97fd..ba1fada 100644 --- a/lib/cobalt/cond.c +++ b/lib/cobalt/cond.c @@ -16,6 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #include errno.h +#include string.h #include pthread.h #include asm/xenomai/syscall.h #include current.h @@ -189,6 +190,17 @@ static void __pthread_cond_cleanup(void *data) c-mutex-lockcnt = c-count; } +static int __attribute__((cold)) cobalt_cond_autoinit(pthread_cond_t *cond) +{ + static pthread_cond_t uninit_cond = PTHREAD_COND_INITIALIZER; + + if (memcmp(cond, uninit_cond, sizeof(*cond))) + return EINVAL; + + return __COBALT(pthread_cond_init(cond, NULL)); +} + + /** * Wait on a condition variable. * @@ -248,10 +260,13 @@ COBALT_IMPL(int, pthread_cond_wait, (pthread_cond_t *cond, pthread_mutex_t *mute int err, oldtype; unsigned count; - if (_mx-magic != COBALT_MUTEX_MAGIC - || _cnd-magic != COBALT_COND_MAGIC) + if (_mx-magic != COBALT_MUTEX_MAGIC) return EINVAL; + if (_cnd-magic != COBALT_COND_MAGIC) + goto autoinit; + + cont: if (_mx-attr.type == PTHREAD_MUTEX_ERRORCHECK) { xnhandle_t cur = cobalt_get_current(); @@ -283,6 +298,12 @@ COBALT_IMPL(int, pthread_cond_wait, (pthread_cond_t *cond, pthread_mutex_t *mute pthread_testcancel(); return -err ?: -c.err; + + autoinit: + err = cobalt_cond_autoinit(cond); + if (err) + return err; + goto cont; } /** @@ -333,10 +354,13 @@ COBALT_IMPL(int, pthread_cond_timedwait, (pthread_cond_t *cond, int err, oldtype; unsigned count; - if (_mx-magic != COBALT_MUTEX_MAGIC - || _cnd-magic != COBALT_COND_MAGIC) + if (_mx-magic != COBALT_MUTEX_MAGIC) return EINVAL; + if (_cnd-magic != COBALT_COND_MAGIC) + goto autoinit; + + cont: if (_mx-attr.type == PTHREAD_MUTEX_ERRORCHECK) { xnhandle_t cur = cobalt_get_current(); @@ -367,6 +391,12 @@ COBALT_IMPL(int, pthread_cond_timedwait, (pthread_cond_t *cond, pthread_testcancel(); return -err ?: -c.err; + + autoinit: + err = cobalt_cond_autoinit(cond); + if (err) + return err; + goto cont; } /** @@ -398,10 +428,12 @@ COBALT_IMPL(int, pthread_cond_signal, (pthread_cond_t *cond)) __u32 pending_signals; xnhandle_t cur; __u32 flags; + int err; if (_cnd-magic != COBALT_COND_MAGIC) - return EINVAL; + goto autoinit; + cont: mutex_state = get_mutex_state(_cnd); if (mutex_state == NULL) return 0; /* Fast path, no waiter. */ @@ -422,6 +454,12 @@ COBALT_IMPL(int, pthread_cond_signal, (pthread_cond_t *cond)) cond_state-pending_signals = pending_signals + 1; return 0; + + autoinit: + err = cobalt_cond_autoinit(cond); + if (err) + return err; + goto cont; } /** @@ -449,10 +487,12 @@ COBALT_IMPL(int, pthread_cond_broadcast, (pthread_cond_t *cond)) struct cobalt_cond_state *cond_state; xnhandle_t cur; __u32 flags; + int err; if (_cnd-magic != COBALT_COND_MAGIC) - return EINVAL; + goto autoinit; + cont: mutex_state = get_mutex_state(_cnd); if (mutex_state == NULL) return 0; @@ -471,6 +511,12 @@ COBALT_IMPL(int, pthread_cond_broadcast, (pthread_cond_t *cond)) cond_state-pending_signals = ~0U; return 0; + + autoinit: + err = cobalt_cond_autoinit(cond); + if (err) + return err; + goto cont; } /** diff --git a/lib/cobalt/mutex.c b/lib/cobalt/mutex.c index 93a9bbc..b84a582 100644 --- a/lib/cobalt/mutex.c +++ b/lib/cobalt/mutex.c @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #include errno.h -#include pthread.h +#include string.h #include limits.h +#include pthread.h #include asm/xenomai/syscall.h #include current.h #include internal.h @@ -170,6 +171,29 @@ COBALT_IMPL(int, pthread_mutex_destroy, (pthread_mutex_t *mutex)) return -err; } +static int __attribute__((cold))
[Xenomai-git] Philippe Gerum : testsuite/smokey: adapt/fix sigdebug for Cobalt
Module: xenomai-3 Branch: master Commit: aaac5f2b5f982a47403139ac03e9830867469cc5 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=aaac5f2b5f982a47403139ac03e9830867469cc5 Author: Philippe Gerum r...@xenomai.org Date: Thu Mar 26 16:27:35 2015 +0100 testsuite/smokey: adapt/fix sigdebug for Cobalt --- testsuite/smokey/sigdebug/sigdebug.c | 89 +++--- 1 file changed, 38 insertions(+), 51 deletions(-) diff --git a/testsuite/smokey/sigdebug/sigdebug.c b/testsuite/smokey/sigdebug/sigdebug.c index 27c3263..aa04301 100644 --- a/testsuite/smokey/sigdebug/sigdebug.c +++ b/testsuite/smokey/sigdebug/sigdebug.c @@ -20,10 +20,13 @@ #include pthread.h #include semaphore.h #include asm/unistd.h +#include sys/cobalt.h #include smokey/smokey.h smokey_test_plugin(sigdebug, - SMOKEY_NOARGS, + SMOKEY_ARGLIST( + SMOKEY_BOOL(no_watchdog), + ), Check SIGDEBUG reporting. ); @@ -88,15 +91,17 @@ static void *rt_thread_body(void *cookie) unsigned long long end; int err; + err = pthread_setname_np(pthread_self(), test); + check_no_error(pthread_setname_np, err); err = pthread_setmode_np(0, PTHREAD_WARNSW, NULL); check_no_error(pthread_setmode_np, err); - printf(syscall\n); + smokey_note(syscall\n); setup_checkdebug(SIGDEBUG_MIGRATE_SYSCALL); syscall(__NR_gettid); check_sigdebug_received(SIGDEBUG_MIGRATE_SYSCALL); - printf(signal\n); + smokey_note(signal\n); setup_checkdebug(SIGDEBUG_MIGRATE_SIGNAL); err = sem_post(send_signal); check_no_error(sem_post, err); @@ -104,13 +109,13 @@ static void *rt_thread_body(void *cookie) check_no_error(clock_nanosleep, err); check_sigdebug_received(SIGDEBUG_MIGRATE_SIGNAL); - printf(relaxed mutex owner\n); + smokey_note(relaxed mutex owner\n); setup_checkdebug(SIGDEBUG_MIGRATE_PRIOINV); err = pthread_mutex_lock(prio_invert); check_no_error(pthread_mutex_lock, err); check_sigdebug_received(SIGDEBUG_MIGRATE_PRIOINV); - printf(page fault\n); + smokey_note(page fault\n); setup_checkdebug(SIGDEBUG_MIGRATE_FAULT); delay.tv_nsec = 0; err = clock_nanosleep(CLOCK_MONOTONIC, 0, delay, NULL); @@ -119,7 +124,7 @@ static void *rt_thread_body(void *cookie) check_sigdebug_received(SIGDEBUG_MIGRATE_FAULT); if (wd) { - printf(watchdog\n); + smokey_note(watchdog\n); rt_print_flush_buffers(); setup_checkdebug(SIGDEBUG_WATCHDOG); clock_gettime(CLOCK_MONOTONIC, now); @@ -131,9 +136,10 @@ static void *rt_thread_body(void *cookie) while (now.tv_sec * 10ULL + now.tv_nsec end !sigdebug_received); check_sigdebug_received(SIGDEBUG_WATCHDOG); - } + } else + smokey_note(watchdog not tested\n); - printf(lock break\n); + smokey_note(lock break\n); setup_checkdebug(SIGDEBUG_LOCK_BREAK); err = pthread_setmode_np(0, PTHREAD_LOCK_SCHED | PTHREAD_DISABLE_LOCKBREAK, NULL); @@ -163,62 +169,40 @@ static void dummy_handler(int sig, siginfo_t *si, void *context) { } +static void fault_handler(int sig) +{ + mprotect(mem, 1, PROT_WRITE); +} + static int run_sigdebug(struct smokey_test *t, int argc, char *const argv[]) { char tempname[] = /tmp/sigdebug-XX; - char buf[BUFSIZ], dev[BUFSIZ]; struct sched_param params = {.sched_priority = 1}; pthread_t rt_thread; pthread_attr_t attr; pthread_mutexattr_t mutex_attr; struct timespec delay = {.tv_sec = 0, .tv_nsec = 2000ULL}; - long int start, trash, end; - unsigned char *mayday, *p; + int err, debug, tmp_fd; struct sigaction sa; int old_wd_value; - char r, w, x, s; - int tmp_fd, d; - FILE *maps; - int err; - rt_print_auto_init(1); + err = cobalt_corectl(_CC_COBALT_GET_DEBUG, debug, sizeof(debug)); + if (err || (debug _CC_COBALT_DEBUG_USER) == 0) + return -ENOSYS; - if (argc 2 || strcmp(argv[1], --skip-watchdog) != 0) { + smokey_parse_args(t, argc, argv); + if (!SMOKEY_ARG_ISSET(sigdebug, no_watchdog) || + !SMOKEY_ARG_BOOL(sigdebug, no_watchdog)) { wd = fopen(/sys/module/xenomai/parameters/watchdog_timeout, w+); - if (!wd) { - fprintf(stderr, FAILURE: no watchdog available and - --skip-watchdog not specified\n); - exit(EXIT_FAILURE); - } - err = fscanf(wd, %d, old_wd_value); - check(get watchdog, err, 1); -
[Xenomai-git] Philippe Gerum : testsuite/latency: set default affinity to CPU0
Module: xenomai-3 Branch: master Commit: f4882226c07f72284a14ac45427a6d47f7cfc433 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f4882226c07f72284a14ac45427a6d47f7cfc433 Author: Philippe Gerum r...@xenomai.org Date: Wed Mar 25 12:01:17 2015 +0100 testsuite/latency: set default affinity to CPU0 --- testsuite/latency/latency.c | 18 +++--- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/testsuite/latency/latency.c b/testsuite/latency/latency.c index 2b51b06..e3dadae 100644 --- a/testsuite/latency/latency.c +++ b/testsuite/latency/latency.c @@ -576,7 +576,7 @@ static void sigdebug(int sig, siginfo_t *si, void *context) int main(int argc, char *const *argv) { struct sigaction sa __attribute__((unused)); - int c, err, sig, cpu = -1; + int c, err, sig, cpu = 0; cpu_set_t cpus; sigset_t mask; @@ -792,17 +792,13 @@ int main(int argc, char *const *argv) return 0; } - if (cpu = 0) { - CPU_ZERO(cpus); - CPU_SET(cpu, cpus); - err = pthread_attr_setaffinity_np(tattr, sizeof(cpus), - cpus); - if (err) { - fprintf(stderr, - latency: failed to set CPU affinity, code %d\n, - err); + CPU_ZERO(cpus); + CPU_SET(cpu, cpus); + err = pthread_attr_setaffinity_np(tattr, sizeof(cpus), cpus); + if (err) { + fprintf(stderr, + latency: failed to set CPU affinity, code %d\n, err); return 0; - } } err = pthread_create(latency_task, tattr, latency, NULL); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/posix: fix potential race when reclaiming global resources
Module: xenomai-3 Branch: master Commit: 0fd3db3b74ac9290ee0a3937ea609f8ae22326f6 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0fd3db3b74ac9290ee0a3937ea609f8ae22326f6 Author: Philippe Gerum r...@xenomai.org Date: Tue Mar 24 16:14:01 2015 +0100 cobalt/posix: fix potential race when reclaiming global resources In theory, a Xenomai process on a different CPU might race with the reclaim code if it starts then exits while the global resources are being released on the current CPU. Unlikely, but possible though. Queue the global resources to be reclaimed from the exiting process to a local stash under nklock protection before cleaning them up. --- kernel/cobalt/posix/process.c | 16 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/kernel/cobalt/posix/process.c b/kernel/cobalt/posix/process.c index c2d65f0..3fb644a 100644 --- a/kernel/cobalt/posix/process.c +++ b/kernel/cobalt/posix/process.c @@ -1368,8 +1368,9 @@ static void __reclaim_resource(struct cobalt_process *process, struct list_head *global) { struct cobalt_resnode *node, *tmp; + LIST_HEAD(stash); spl_t s; - + xnlock_get_irqsave(nklock, s); if (list_empty(global)) @@ -1377,17 +1378,24 @@ static void __reclaim_resource(struct cobalt_process *process, list_for_each_entry_safe(node, tmp, global, next) { if (node-owner == process) { - reclaim(node, s); /* drops lock */ - xnlock_get_irqsave(nklock, s); + list_del(node-next); + list_add(node-next, stash); } } + list_for_each_entry_safe(node, tmp, stash, next) { + reclaim(node, s); + xnlock_get_irqsave(nklock, s); + } + + XENO_BUG_ON(COBALT, !list_empty(stash)); + flush_local: if (list_empty(local)) goto out; list_for_each_entry_safe(node, tmp, local, next) { - reclaim(node, s); /* drops lock */ + reclaim(node, s); xnlock_get_irqsave(nklock, s); } out: ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : vxworks/task: use name generator for anon tasks
Module: xenomai-3 Branch: master Commit: f84438b273aed9cf10284b5f090199dd913d9dd0 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f84438b273aed9cf10284b5f090199dd913d9dd0 Author: Philippe Gerum r...@xenomai.org Date: Tue Mar 24 18:29:55 2015 +0100 vxworks/task: use name generator for anon tasks --- lib/vxworks/taskLib.c |8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/vxworks/taskLib.c b/lib/vxworks/taskLib.c index 6492d62..ddb7df6 100644 --- a/lib/vxworks/taskLib.c +++ b/lib/vxworks/taskLib.c @@ -49,7 +49,8 @@ pthread_mutex_t wind_task_lock; int wind_time_slice = 0; -static unsigned long anon_tids; +static DEFINE_NAME_GENERATOR(task_namegen, task, +struct wind_task, name); static struct wind_task *find_wind_task(TASK_ID tid) { @@ -349,10 +350,7 @@ static STATUS __taskInit(struct wind_task *task, tcb-flags = flags; tcb-entry = entry; - if (name == NULL || *name == '\0') - sprintf(task-name, t%lu, ++anon_tids); - else - namecpy(task-name, name); + generate_name(task-name, name, task_namegen); idata.magic = task_magic; idata.finalizer = task_finalizer; ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : doc/man1: update xeno-config manpage
Module: xenomai-3 Branch: master Commit: d18a0816de1a90e00a4d1f28c585b7e30da7c29e URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d18a0816de1a90e00a4d1f28c585b7e30da7c29e Author: Philippe Gerum r...@xenomai.org Date: Fri Mar 27 10:09:37 2015 +0100 doc/man1: update xeno-config manpage --- doc/asciidoc/man1/xeno-config.adoc | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/asciidoc/man1/xeno-config.adoc b/doc/asciidoc/man1/xeno-config.adoc index b10b97d..5aba121 100644 --- a/doc/asciidoc/man1/xeno-config.adoc +++ b/doc/asciidoc/man1/xeno-config.adoc @@ -78,7 +78,7 @@ current system, if cross-compiling. *--prefix*:: Output the absolute path to the Xenomai installation directory. -*--[skin=]{posix, alchemy, rtdm, psos, vxworks, smokey}*:: +*--[skin=]{posix, alchemy, rtdm, psos, vxworks, smokey, cobalt}*:: Select the API/skin for which *xeno-config* should print the information required. The *skin=* prefix is optional and may be omitted, e.g. *--posix* is equivalent to *--skin=posix*, selecting the @@ -87,6 +87,21 @@ POSIX API. [NOTE] *--native* and *--skin=native* are accepted for backward compatibility purpose. They are stricly equivalent as passing *--alchemy --compat*. +Likewise, passing *--rtdm* or *--skin=rtdm* is stricly equivalent as +passing *--posix*, enabling POSIX I/O routines to be wrapped to their +respective Xenomai implementation. + +[CAUTION] +Over Cobalt, only *xeno-config --posix --ldflags* (or *--rtdm* as an +alias) returns the proper linker flags to cause POSIX routines invoked +by the application to be wrapped to their respective Xenomai +implementation. No other API will imply such wrapping. For this +reason, *--cobalt --ldflags* should be used for linking exclusively +against the Cobalt library (i.e. +libcobalt.so+) *without* symbol +wrapping. Conversely, mentioning *--posix* along with other API +switches with *--ldflags* will cause POSIX symbol wrapping to take +place, e.g. use *--posix --alchemy --ldflags* for mixed API support +with POSIX symbol wrapping. *--cflags*:: Output the C compiler command-line options (_CFLAGS_) which are required ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : rtnet: forbid built-in rtnet
Module: xenomai-3 Branch: master Commit: c95cb13c5d3eef2b5daafb0f4cd4c86a79a67d0c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c95cb13c5d3eef2b5daafb0f4cd4c86a79a67d0c Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org Date: Tue Mar 24 18:54:53 2015 +0100 rtnet: forbid built-in rtnet --- kernel/drivers/net/Kconfig |1 + 1 file changed, 1 insertion(+) diff --git a/kernel/drivers/net/Kconfig b/kernel/drivers/net/Kconfig index ef62b3b..6e63437 100644 --- a/kernel/drivers/net/Kconfig +++ b/kernel/drivers/net/Kconfig @@ -1,6 +1,7 @@ menu RTnet config XENO_DRIVERS_NET + depends on m select NET tristate RTnet, TCP/IP socket interface ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : smokey: fix parsing of boolean args
Module: xenomai-3 Branch: master Commit: f6f49bd8a3d2ba345524be63b20b9121f1fbe7b1 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f6f49bd8a3d2ba345524be63b20b9121f1fbe7b1 Author: Philippe Gerum r...@xenomai.org Date: Thu Mar 26 16:27:07 2015 +0100 smokey: fix parsing of boolean args --- include/smokey/smokey.h |1 + lib/smokey/helpers.c|4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/smokey/smokey.h b/include/smokey/smokey.h index 545fb04..c5133fc 100644 --- a/include/smokey/smokey.h +++ b/include/smokey/smokey.h @@ -96,6 +96,7 @@ struct smokey_test { #define SMOKEY_ARG(__plugin, __arg) (smokey_lookup_arg((__plugin), # __arg)) #define SMOKEY_ARG_ISSET(__plugin, __arg) (SMOKEY_ARG(__plugin, __arg)-matched) #define SMOKEY_ARG_INT(__plugin, __arg) (SMOKEY_ARG(__plugin, __arg)-u.n_val) +#define SMOKEY_ARG_BOOL(__plugin, __arg) (!!SMOKEY_ARG_INT(__plugin, __arg)) #define SMOKEY_ARG_STRING(__plugin, __arg) (SMOKEY_ARG(__plugin, __arg)-u.s_val) #ifdef __cplusplus diff --git a/lib/smokey/helpers.c b/lib/smokey/helpers.c index f653e53..49e2177 100644 --- a/lib/smokey/helpers.c +++ b/lib/smokey/helpers.c @@ -29,7 +29,7 @@ int smokey_int(const char *s, struct smokey_arg *arg) char *name, *p; int ret; - ret = sscanf(s, %m[a-z]=%m[^\n], name, p); + ret = sscanf(s, %m[_a-z]=%m[^\n], name, p); if (ret != 2 || !(isdigit(*p) || *p == '-')) return 0; @@ -66,7 +66,7 @@ int smokey_string(const char *s, struct smokey_arg *arg) char *name, *p; int ret; - ret = sscanf(s, %m[a-z]=%m[^\n], name, p); + ret = sscanf(s, %m[_a-z]=%m[^\n], name, p); if (ret != 2) return 0; ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : boilerplate/ancillaries: fix off-by-one index in name generator
Module: xenomai-3 Branch: master Commit: 2eea62199365bd9bba7bbace9917a54a6ad684f5 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2eea62199365bd9bba7bbace9917a54a6ad684f5 Author: Philippe Gerum r...@xenomai.org Date: Tue Mar 24 18:29:09 2015 +0100 boilerplate/ancillaries: fix off-by-one index in name generator --- include/boilerplate/ancillaries.h |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boilerplate/ancillaries.h b/include/boilerplate/ancillaries.h index 8f80ba7..5532a83 100644 --- a/include/boilerplate/ancillaries.h +++ b/include/boilerplate/ancillaries.h @@ -43,7 +43,7 @@ struct name_generator { struct name_generator __name = {\ .radix = __radix, \ .length = sizeof ((__type *)0)-__member, \ - .serial = ATOMIC_INIT(1), \ + .serial = ATOMIC_INIT(0), \ } #define ONE_BILLION 10 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : build: enable automake silent mode
Module: xenomai-3 Branch: master Commit: 97ad23de735243552e61659524b7e9109baefd8e URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=97ad23de735243552e61659524b7e9109baefd8e Author: Philippe Gerum r...@xenomai.org Date: Sat Apr 11 18:44:56 2015 +0200 build: enable automake silent mode --- configure.ac|1 + lib/copperplate/Makefile.am |2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 6311793..e161c36 100644 --- a/configure.ac +++ b/configure.ac @@ -104,6 +104,7 @@ XENO_BUILD_COMPILER=`$CC -v 21 | tail -n 1` AC_DEFINE_UNQUOTED(CONFIG_XENO_COMPILER,$XENO_BUILD_COMPILER,[Compiler]) AM_INIT_AUTOMAKE([foreign no-exeext dist-bzip2 tar-ustar subdir-objects]) +m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) AM_MAINTAINER_MODE AM_PROG_AS AM_PROG_LEX diff --git a/lib/copperplate/Makefile.am b/lib/copperplate/Makefile.am index 3320798..2c08846 100644 --- a/lib/copperplate/Makefile.am +++ b/lib/copperplate/Makefile.am @@ -30,7 +30,7 @@ libversion_la_SOURCES = version.c version.c: git-stamp.h git-stamp.h: git-stamp - @set -x; if test -r $(top_srcdir)/.git; then \ + @if test -r $(top_srcdir)/.git; then \ stamp=`git --git-dir=$(top_srcdir)/.git rev-list --abbrev-commit -1 HEAD`;\ if test \! -s $@ || grep -wvq $$stamp $@; then \ date=`git --git-dir=$(top_srcdir)/.git log -1 $$stamp --pretty=format:%ci`; \ ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Jorge Ramirez-Ortiz : drivers/udd: fix Makefile
Module: xenomai-3 Branch: next Commit: 9aa1800d0a33a8000d17fe061cbed4231347747d URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9aa1800d0a33a8000d17fe061cbed4231347747d Author: Jorge Ramirez-Ortiz j...@xenomai.org Date: Thu Apr 16 19:29:00 2015 +0200 drivers/udd: fix Makefile --- kernel/drivers/udd/Makefile |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/drivers/udd/Makefile b/kernel/drivers/udd/Makefile index d570b51..f5fe4c4 100644 --- a/kernel/drivers/udd/Makefile +++ b/kernel/drivers/udd/Makefile @@ -1,6 +1,6 @@ ccflags-y := -Iarch/$(SRCARCH)/xenomai/include -Iinclude/xenomai -Ikernel -obj-$(CONFIG_XENO_DRIVERS_RTIPC) += xeno_udd.o +obj-$(CONFIG_XENO_DRIVERS_UDD) += xeno_udd.o xeno_udd-y := udd.o ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : smokey/mutex-torture: test mutex initializers
Module: xenomai-3 Branch: master Commit: 07e891bdfba6f6ee2cbbf964ecc520531f179a16 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=07e891bdfba6f6ee2cbbf964ecc520531f179a16 Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org Date: Tue Mar 24 21:07:50 2015 +0100 smokey/mutex-torture: test mutex initializers --- testsuite/smokey/mutex-torture/mutex-torture.c | 105 1 file changed, 105 insertions(+) diff --git a/testsuite/smokey/mutex-torture/mutex-torture.c b/testsuite/smokey/mutex-torture/mutex-torture.c index d7d7b3d..357d2cb 100644 --- a/testsuite/smokey/mutex-torture/mutex-torture.c +++ b/testsuite/smokey/mutex-torture/mutex-torture.c @@ -275,6 +275,34 @@ static void *waiter(void *cookie) return cookie; } +static void autoinit_simple_wait(void) +{ + unsigned long long start, diff; + pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; + pthread_t waiter_tid; + + fprintf(stderr, autoinit_simple_wait\n); + + dispatch(simple mutex_lock 1, MUTEX_LOCK, 1, 0, mutex); + dispatch(simple thread_create, THREAD_CREATE, 1, 0, waiter_tid, 2, +waiter, mutex); + ms_sleep(11); + dispatch(simple mutex_unlock 1, MUTEX_UNLOCK, 1, 0, mutex); + sched_yield(); + + start = timer_get_tsc(); + dispatch(simple mutex_lock 2, MUTEX_LOCK, 1, 0, mutex); + diff = timer_tsc2ns(timer_get_tsc() - start); + if (diff 1000) { + fprintf(stderr, FAILURE: main, waited %Ld.%03u us\n, + diff / 1000, (unsigned) (diff % 1000)); + exit(EXIT_FAILURE); + } + + dispatch(simple mutex_unlock 2, MUTEX_UNLOCK, 1, 0, mutex); + dispatch(simple mutex_destroy, MUTEX_DESTROY, 1, 0, mutex); +} + static void simple_wait(void) { unsigned long long start, diff; @@ -304,6 +332,38 @@ static void simple_wait(void) dispatch(simple mutex_destroy, MUTEX_DESTROY, 1, 0, mutex); } +static void autoinit_recursive_wait(void) +{ + unsigned long long start, diff; + pthread_mutex_t mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; + pthread_t waiter_tid; + + fprintf(stderr, autoinit_recursive_wait\n); + + dispatch(rec mutex_lock 1, MUTEX_LOCK, 1, 0, mutex); + dispatch(rec mutex_lock 2, MUTEX_LOCK, 1, 0, mutex); + + dispatch(rec thread_create, THREAD_CREATE, 1, 0, waiter_tid, 2, +waiter, mutex); + + dispatch(rec mutex_unlock 2, MUTEX_UNLOCK, 1, 0, mutex); + ms_sleep(11); + dispatch(rec mutex_unlock 1, MUTEX_UNLOCK, 1, 0, mutex); + sched_yield(); + + start = timer_get_tsc(); + dispatch(rec mutex_lock 3, MUTEX_LOCK, 1, 0, mutex); + diff = timer_tsc2ns(timer_get_tsc() - start); + + if (diff 1000) { + fprintf(stderr, FAILURE: main, waited %Ld.%03u us\n, + diff / 1000, (unsigned) (diff % 1000)); + exit(EXIT_FAILURE); + } + dispatch(rec mutex_unlock 3, MUTEX_UNLOCK, 1, 0, mutex); + dispatch(rec mutex_destroy, MUTEX_DESTROY, 1, 0, mutex); +} + static void recursive_wait(void) { unsigned long long start, diff; @@ -338,6 +398,48 @@ static void recursive_wait(void) dispatch(rec mutex_destroy, MUTEX_DESTROY, 1, 0, mutex); } +static void autoinit_errorcheck_wait(void) +{ + unsigned long long start, diff; + pthread_mutex_t mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP; + pthread_t waiter_tid; + int err; + + fprintf(stderr, autoinit_errorcheck_wait\n); + + dispatch(errorcheck mutex_lock 1, MUTEX_LOCK, 1, 0, mutex); + + err = pthread_mutex_lock(mutex); + if (err != EDEADLK) { + fprintf(stderr, FAILURE: errorcheck mutex_lock 2: %s\n, + strerror(err)); + exit(EXIT_FAILURE); + } + + dispatch(errorcheck thread_create, THREAD_CREATE, 1, 0, waiter_tid, 2, +waiter, mutex); + ms_sleep(11); + dispatch(errorcheck mutex_unlock 1, MUTEX_UNLOCK, 1, 0, mutex); + sched_yield(); + err = pthread_mutex_unlock(mutex); + if (err != EPERM) { + fprintf(stderr, FAILURE: errorcheck mutex_unlock 2: %s\n, + strerror(err)); + exit(EXIT_FAILURE); + } + + start = timer_get_tsc(); + dispatch(errorcheck mutex_lock 3, MUTEX_LOCK, 1, 0, mutex); + diff = timer_tsc2ns(timer_get_tsc() - start); + if (diff 1000) { + fprintf(stderr, FAILURE: main, waited %Ld.%03u us\n, + diff / 1000, (unsigned) (diff % 1000)); + exit(EXIT_FAILURE); + } + dispatch(errorcheck mutex_unlock 3, MUTEX_UNLOCK, 1, 0, mutex); + dispatch(errorcheck mutex_destroy, MUTEX_DESTROY, 1, 0, mutex); +} + static void errorcheck_wait(void) { unsigned long long start, diff; @@ -788,8 +890,11 @@ int
[Xenomai-git] Philippe Gerum : smokey/bufp: test POLLOUT support
Module: xenomai-3 Branch: master Commit: caed0636f62d3084265aee114b273f32d0f23d12 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=caed0636f62d3084265aee114b273f32d0f23d12 Author: Philippe Gerum r...@xenomai.org Date: Thu Mar 26 10:05:35 2015 +0100 smokey/bufp: test POLLOUT support --- testsuite/smokey/bufp/bufp.c |3 --- 1 file changed, 3 deletions(-) diff --git a/testsuite/smokey/bufp/bufp.c b/testsuite/smokey/bufp/bufp.c index 3bcfef5..6c5d2e3 100644 --- a/testsuite/smokey/bufp/bufp.c +++ b/testsuite/smokey/bufp/bufp.c @@ -113,12 +113,9 @@ static void *client(void *arg) FD_SET(s, set); while (--loops) { -#if 0 ret = select(s + 1, NULL, set, NULL, NULL); if (ret != 1 || !FD_ISSET(s, set)) fail(select); -#endif - data++; ret = sendto(s, data, sizeof(data), MSG_DONTWAIT, (struct sockaddr *)svsaddr, sizeof(svsaddr)); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : build: drop more autoconf-generated files
Module: xenomai-3 Branch: master Commit: 9c65f6d61b959ba58d7cfa42670ed841260d472c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9c65f6d61b959ba58d7cfa42670ed841260d472c Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org Date: Tue Mar 24 18:42:37 2015 +0100 build: drop more autoconf-generated files --- config/compile | 347 -- config/config.guess | 1420 config/config.sub | 1798 --- config/depcomp | 791 -- config/install-sh | 527 --- config/missing | 215 -- 6 files changed, 5098 deletions(-) diff --git a/config/compile b/config/compile deleted file mode 100755 index 531136b..000 --- a/config/compile +++ /dev/null @@ -1,347 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-10-14.11; # UTC - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# Written by Tom Tromey tro...@cygnus.com. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to bug-autom...@gnu.org or send patches to -# automake-patc...@gnu.org. - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=$nl - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in -/ | /[!/]*) # absolute file, and not a UNC file - if test -z $file_conv; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo $file | sed -e 's/\(.*\) *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m $file || echo $file` - ;; - wine/*) - file=`winepath -w $file || echo $file` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv $1 - if test -z $lib_path; then -lib_path=$file - else -lib_path=$lib_path;$file - fi - linker_opts=$linker_opts -LIBPATH:$file -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do -IFS=$save_IFS -if $shared test -f $dir/$lib.dll.lib; then - found=yes - lib=$dir/$lib.dll.lib - break -fi -if test -f $dir/$lib.lib; then - found=yes - lib=$dir/$lib.lib - break -fi -if test -f $dir/lib$lib.a; then - found=yes - lib=$dir/lib$lib.a - break -fi - done - IFS=$save_IFS - - if test $found != yes; then -lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do -if test -n $eat; then - eat= -else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv $2 - set x $@ -Fo$file - shift - ;; - *) - func_file_conv $2 - set x $@ -Fe$file - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv $2 mingw - set x $@ -I$file - shift - ;; - -I*) - func_file_conv ${1#-I} mingw - set x $@ -I$file -
[Xenomai-git] Philippe Gerum : vxworks: make FUNCPTR ISO-C definition more generic
Module: xenomai-3 Branch: master Commit: b29ec7059399152ffbaa6c086712af8167748d99 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b29ec7059399152ffbaa6c086712af8167748d99 Author: Philippe Gerum r...@xenomai.org Date: Fri Apr 10 15:23:39 2015 +0200 vxworks: make FUNCPTR ISO-C definition more generic --- include/vxworks/taskLib.h |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/vxworks/taskLib.h b/include/vxworks/taskLib.h index 3d9ee8d..ebbe7c6 100644 --- a/include/vxworks/taskLib.h +++ b/include/vxworks/taskLib.h @@ -42,8 +42,7 @@ typedef uintptr_t TASK_ID; -typedef void (*FUNCPTR)(long, long, long, long, long, - long, long, long, long, long); +typedef void (*FUNCPTR)(long arg, ...); typedef struct WIND_TCB { void *opaque; ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git