[PATCH 1/2] xz/xz_config.h: Define __always_inline to inline to avoid warnings

2017-04-05 Thread Joel Sherrill
---
 cpukit/libmisc/xz/xz_config.h | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/cpukit/libmisc/xz/xz_config.h b/cpukit/libmisc/xz/xz_config.h
index eb9dac1..bb595a3 100644
--- a/cpukit/libmisc/xz/xz_config.h
+++ b/cpukit/libmisc/xz/xz_config.h
@@ -62,6 +62,11 @@ typedef unsigned char bool;
  * NOTE: System headers on GNU/Linux may #define this macro already,
  * so if you want to change it, you need to #undef it first.
  */
+#ifdef __rtems__
+/* The use of __always_inline leads to warnings on RTEMS builds. */
+#undef __always_inline
+#define __always_inline inline
+#else
 #ifndef __always_inline
 #  ifdef __GNUC__
 #  define __always_inline \
@@ -70,6 +75,7 @@ typedef unsigned char bool;
 #  define __always_inline inline
 #  endif
 #endif
+#endif
 
 /* Inline functions to access unaligned unsigned 32-bit integers */
 #ifndef get_unaligned_le32
-- 
1.8.3.1

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


[PATCH 2/2] xz/xz_crc64.c: Add prototypes to fix warnings

2017-04-05 Thread Joel Sherrill
---
 cpukit/libmisc/xz/xz_crc64.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/cpukit/libmisc/xz/xz_crc64.c b/cpukit/libmisc/xz/xz_crc64.c
index ca1caee..d8cef37 100644
--- a/cpukit/libmisc/xz/xz_crc64.c
+++ b/cpukit/libmisc/xz/xz_crc64.c
@@ -12,6 +12,11 @@
 
 #include "xz_private.h"
 
+#ifdef __rtems__
+XZ_EXTERN void xz_crc64_init(void);
+XZ_EXTERN uint64_t xz_crc64(const uint8_t *buf, size_t size, uint64_t crc);
+#endif
+
 #ifndef STATIC_RW_DATA
 #  define STATIC_RW_DATA static
 #endif
-- 
1.8.3.1

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


[PATCH 0/2] xz Warning Removal Patches

2017-04-05 Thread Joel Sherrill
Hi

I tried to take a direct and minimal approach to removing
the warnings in xz that appear in every BSP build. I used
the rule of only adding lines.

Joel Sherrill (2):
  xz/xz_config.h: Define __always_inline to inline to avoid warnings
  xz/xz_crc64.c: Add prototypes to fix warnings

 cpukit/libmisc/xz/xz_config.h | 6 ++
 cpukit/libmisc/xz/xz_crc64.c  | 5 +
 2 files changed, 11 insertions(+)

-- 
1.8.3.1

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


Re: [PATCH 0/2] xz Warning Removal Patches

2017-04-05 Thread Gedare Bloom
Is the upstream active?

On Wed, Apr 5, 2017 at 1:06 PM, Joel Sherrill  wrote:
> Hi
>
> I tried to take a direct and minimal approach to removing
> the warnings in xz that appear in every BSP build. I used
> the rule of only adding lines.
>
> Joel Sherrill (2):
>   xz/xz_config.h: Define __always_inline to inline to avoid warnings
>   xz/xz_crc64.c: Add prototypes to fix warnings
>
>  cpukit/libmisc/xz/xz_config.h | 6 ++
>  cpukit/libmisc/xz/xz_crc64.c  | 5 +
>  2 files changed, 11 insertions(+)
>
> --
> 1.8.3.1
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH 2/2] xz/xz_crc64.c: Add prototypes to fix warnings

2017-04-05 Thread Gedare Bloom
On Wed, Apr 5, 2017 at 1:06 PM, Joel Sherrill  wrote:
> ---
>  cpukit/libmisc/xz/xz_crc64.c | 5 +
>  1 file changed, 5 insertions(+)
>
> diff --git a/cpukit/libmisc/xz/xz_crc64.c b/cpukit/libmisc/xz/xz_crc64.c
> index ca1caee..d8cef37 100644
> --- a/cpukit/libmisc/xz/xz_crc64.c
> +++ b/cpukit/libmisc/xz/xz_crc64.c
> @@ -12,6 +12,11 @@
>
>  #include "xz_private.h"
>
> +#ifdef __rtems__
> +XZ_EXTERN void xz_crc64_init(void);
> +XZ_EXTERN uint64_t xz_crc64(const uint8_t *buf, size_t size, uint64_t crc);
> +#endif
These are prototyped by xz.h -- perhaps there is a problem with how
the includes are used by RTEMS

> +
>  #ifndef STATIC_RW_DATA
>  #  define STATIC_RW_DATA static
>  #endif
> --
> 1.8.3.1
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH 0/2] xz Warning Removal Patches

2017-04-05 Thread Joel Sherrill
Chris merged this code in Oct 2016 from
http://git.tukaani.org/xz-embedded.git per the README. I had
to drop it down to http://git.tukaani.org to avoid an error.

Per http://git.tukaani.org/?p=xz-embedded.git;a=summary, there
have been no commits since Nov 2015. So I think the answer from
our perspective is no, it is not active.

I just want to silence these six warnings in the least offensive way. :)

--joel

On Wed, Apr 5, 2017 at 11:45 AM, Gedare Bloom  wrote:

> Is the upstream active?
>
> On Wed, Apr 5, 2017 at 1:06 PM, Joel Sherrill  wrote:
> > Hi
> >
> > I tried to take a direct and minimal approach to removing
> > the warnings in xz that appear in every BSP build. I used
> > the rule of only adding lines.
> >
> > Joel Sherrill (2):
> >   xz/xz_config.h: Define __always_inline to inline to avoid warnings
> >   xz/xz_crc64.c: Add prototypes to fix warnings
> >
> >  cpukit/libmisc/xz/xz_config.h | 6 ++
> >  cpukit/libmisc/xz/xz_crc64.c  | 5 +
> >  2 files changed, 11 insertions(+)
> >
> > --
> > 1.8.3.1
> >
> > ___
> > devel mailing list
> > devel@rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Anyone used expat or libxml2 on RTEMS?

2017-04-05 Thread Joel Sherrill
Hi

Looking to see if anyone has used either of
these libraries on RTEMS. If so, if you have
build instructions, it would be appreciated.

Thanks.

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

[PATCH 4/7] Updating FREEBSD for tty support

2017-04-05 Thread Kevin Kirspel
---
 freebsd/sys/fs/devfs/devfs_int.h  |  2 +-
 freebsd/sys/kern/kern_conf.c  | 16 --
 freebsd/sys/kern/subr_taskqueue.c | 10 ---
 freebsd/sys/kern/tty.c| 62 +++
 freebsd/sys/kern/tty_ttydisc.c|  2 ++
 freebsd/sys/sys/conf.h|  2 ++
 freebsd/sys/sys/file.h|  4 +++
 freebsd/sys/sys/proc.h|  2 ++
 8 files changed, 79 insertions(+), 21 deletions(-)

diff --git a/freebsd/sys/fs/devfs/devfs_int.h b/freebsd/sys/fs/devfs/devfs_int.h
index 670aba1..9e16b40 100644
--- a/freebsd/sys/fs/devfs/devfs_int.h
+++ b/freebsd/sys/fs/devfs/devfs_int.h
@@ -63,13 +63,13 @@ struct cdev_priv {
u_int   cdp_maxdirent;
struct devfs_dirent **cdp_dirents;
struct devfs_dirent *cdp_dirent0;
+#endif /* __rtems__ */
 
TAILQ_ENTRY(cdev_priv)  cdp_dtr_list;
void(*cdp_dtr_cb)(void *);
void*cdp_dtr_cb_arg;
 
LIST_HEAD(, cdev_privdata) cdp_fdpriv;
-#endif /* __rtems__ */
 };
 
 #definecdev2priv(c)__containerof(c, struct cdev_priv, cdp_c)
diff --git a/freebsd/sys/kern/kern_conf.c b/freebsd/sys/kern/kern_conf.c
index fb43c24..20f2e2c 100644
--- a/freebsd/sys/kern/kern_conf.c
+++ b/freebsd/sys/kern/kern_conf.c
@@ -59,11 +59,9 @@ static MALLOC_DEFINE(M_DEVT, "cdev", "cdev storage");
 
 struct mtx devmtx;
 static void destroy_devl(struct cdev *dev);
-#ifndef __rtems__
 static int destroy_dev_sched_cbl(struct cdev *dev,
 void (*cb)(void *), void *arg);
 static void destroy_dev_tq(void *ctx, int pending);
-#endif /* __rtems__ */
 static int make_dev_credv(int flags, struct cdev **dres, struct cdevsw *devsw,
 int unit, struct ucred *cr, uid_t uid, gid_t gid, int mode, const char 
*fmt,
 va_list ap);
@@ -164,7 +162,6 @@ dev_refl(struct cdev *dev)
dev->si_refcount++;
 }
 
-#ifndef __rtems__
 void
 dev_rel(struct cdev *dev)
 {
@@ -189,7 +186,6 @@ dev_rel(struct cdev *dev)
if (flag)
devfs_free(dev);
 }
-#endif /* __rtems__ */
 
 struct cdevsw *
 dev_refthread(struct cdev *dev, int *ref)
@@ -971,6 +967,7 @@ make_dev_p(int flags, struct cdev **cdev, struct cdevsw 
*devsw,
("make_dev_p: failed make_dev_credv (error=%d)", res));
return (res);
 }
+#endif /* __rtems__ */
 
 static void
 dev_dependsl(struct cdev *pdev, struct cdev *cdev)
@@ -1050,6 +1047,7 @@ make_dev_alias(struct cdev *pdev, const char *fmt, ...)
return (dev);
 }
 
+#ifndef __rtems__
 int
 make_dev_alias_p(int flags, struct cdev **cdev, struct cdev *pdev,
 const char *fmt, ...)
@@ -1156,7 +1154,6 @@ destroy_devl(struct cdev *dev)
/* Remove name marking */
dev->si_flags &= ~SI_NAMED;
 
-#ifndef __rtems__
/* If we are a child, remove us from the parents list */
if (dev->si_flags & SI_CHILD) {
LIST_REMOVE(dev, si_siblings);
@@ -1167,6 +1164,7 @@ destroy_devl(struct cdev *dev)
while (!LIST_EMPTY(&dev->si_children))
destroy_devl(LIST_FIRST(&dev->si_children));
 
+#ifndef __rtems__
/* Remove from clone list */
if (dev->si_flags & SI_CLONELIST) {
LIST_REMOVE(dev, si_clone);
@@ -1195,14 +1193,12 @@ destroy_devl(struct cdev *dev)
/* avoid out of order notify events */
notify_destroy(dev);
}
-#ifndef __rtems__
mtx_lock(&cdevpriv_mtx);
while ((p = LIST_FIRST(&cdp->cdp_fdpriv)) != NULL) {
devfs_destroy_cdevpriv(p);
mtx_lock(&cdevpriv_mtx);
}
mtx_unlock(&cdevpriv_mtx);
-#endif /* __rtems__ */
dev_lock();
 
dev->si_drv1 = 0;
@@ -1231,7 +1227,6 @@ destroy_devl(struct cdev *dev)
dev_free_devlocked(dev);
 }
 
-#ifndef __rtems__
 static void
 delist_dev_locked(struct cdev *dev)
 {
@@ -1270,7 +1265,6 @@ delist_dev(struct cdev *dev)
delist_dev_locked(dev);
dev_unlock();
 }
-#endif /* __rtems__ */
 
 void
 destroy_dev(struct cdev *dev)
@@ -1282,7 +1276,6 @@ destroy_dev(struct cdev *dev)
dev_unlock_and_free();
 }
 
-#ifndef __rtems__
 const char *
 devtoname(struct cdev *dev)
 {
@@ -1290,6 +1283,7 @@ devtoname(struct cdev *dev)
return (dev->si_name);
 }
 
+#ifndef __rtems__
 int
 dev_stdclone(char *name, char **namep, const char *stem, int *unit)
 {
@@ -1464,6 +1458,7 @@ clone_cleanup(struct clonedevs **cdp)
free(cd, M_DEVBUF);
*cdp = NULL;
 }
+#endif /* __rtems__ */
 
 static TAILQ_HEAD(, cdev_priv) dev_ddtr =
TAILQ_HEAD_INITIALIZER(dev_ddtr);
@@ -1536,6 +1531,7 @@ destroy_dev_sched(struct cdev *dev)
return (destroy_dev_sched_cb(dev, NULL, NULL));
 }
 
+#ifndef __rtems__
 void
 destroy_dev_drain(struct cdevsw *csw)
 {
diff --git a/freebsd/sys/kern/subr_taskqueue.c 
b/freebsd/sys/kern/subr_taskqueue.c
index c739ccf..c394869 100644
--- a/freebsd/sys/kern/subr_taskqueue.c
+++ b/freebsd/sys/kern/subr_taskqueue.c
@@ 

[PATCH 3/7] Updating STTY command for use in RTEMS shell

2017-04-05 Thread Kevin Kirspel
---
 freebsd/bin/stty/cchar.c |  9 ++
 freebsd/bin/stty/gfmt.c  |  6 
 freebsd/bin/stty/key.c   |  9 ++
 freebsd/bin/stty/modes.c |  9 ++
 freebsd/bin/stty/print.c |  9 ++
 freebsd/bin/stty/rtems-bsd-stty-cchar-data.h |  4 +++
 freebsd/bin/stty/rtems-bsd-stty-data.h   | 11 +++
 freebsd/bin/stty/rtems-bsd-stty-gfmt-data.h  |  4 +++
 freebsd/bin/stty/rtems-bsd-stty-key-data.h   |  5 +++
 freebsd/bin/stty/rtems-bsd-stty-modes-data.h |  4 +++
 freebsd/bin/stty/rtems-bsd-stty-namespace.h  | 34 
 freebsd/bin/stty/rtems-bsd-stty-print-data.h |  6 
 freebsd/bin/stty/rtems-bsd-stty-stty-data.h  |  4 +++
 freebsd/bin/stty/rtems-bsd-stty-util-data.h  |  4 +++
 freebsd/bin/stty/stty.c  | 48 
 freebsd/bin/stty/util.c  |  9 ++
 16 files changed, 175 insertions(+)
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-cchar-data.h
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-data.h
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-gfmt-data.h
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-key-data.h
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-modes-data.h
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-namespace.h
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-print-data.h
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-stty-data.h
 create mode 100644 freebsd/bin/stty/rtems-bsd-stty-util-data.h

diff --git a/freebsd/bin/stty/cchar.c b/freebsd/bin/stty/cchar.c
index 4a925da..7335cc3 100644
--- a/freebsd/bin/stty/cchar.c
+++ b/freebsd/bin/stty/cchar.c
@@ -1,5 +1,8 @@
 #include 
 
+#ifdef __rtems__
+#include "rtems-bsd-stty-namespace.h"
+#endif /* __rtems__ */
 /*-
  * Copyright (c) 1991, 1993, 1994
  * The Regents of the University of California.  All rights reserved.
@@ -37,6 +40,9 @@ static char sccsid[] = "@(#)cchar.c   8.5 (Berkeley) 4/2/94";
 #include 
 __FBSDID("$FreeBSD$");
 
+#ifdef __rtems__
+#include 
+#endif /* __rtems__ */
 #include 
 
 #include 
@@ -47,6 +53,9 @@ __FBSDID("$FreeBSD$");
 
 #include "stty.h"
 #include "extern.h"
+#ifdef __rtems__
+#include "rtems-bsd-stty-cchar-data.h"
+#endif /* __rtems__ */
 
 static int c_cchar(const void *, const void *);
 
diff --git a/freebsd/bin/stty/gfmt.c b/freebsd/bin/stty/gfmt.c
index 57adc1e..7ffaf95 100644
--- a/freebsd/bin/stty/gfmt.c
+++ b/freebsd/bin/stty/gfmt.c
@@ -1,5 +1,8 @@
 #include 
 
+#ifdef __rtems__
+#include "rtems-bsd-stty-namespace.h"
+#endif /* __rtems__ */
 /*-
  * Copyright (c) 1991, 1993, 1994
  * The Regents of the University of California.  All rights reserved.
@@ -37,6 +40,9 @@ static char sccsid[] = "@(#)gfmt.c8.6 (Berkeley) 4/2/94";
 #include 
 __FBSDID("$FreeBSD$");
 
+#ifdef __rtems__
+#include 
+#endif /* __rtems__ */
 #include 
 
 #include 
diff --git a/freebsd/bin/stty/key.c b/freebsd/bin/stty/key.c
index 1023fa6..cae0433 100644
--- a/freebsd/bin/stty/key.c
+++ b/freebsd/bin/stty/key.c
@@ -1,5 +1,8 @@
 #include 
 
+#ifdef __rtems__
+#include "rtems-bsd-stty-namespace.h"
+#endif /* __rtems__ */
 /*-
  * Copyright (c) 1991, 1993, 1994
  * The Regents of the University of California.  All rights reserved.
@@ -37,6 +40,9 @@ static char sccsid[] = "@(#)key.c 8.3 (Berkeley) 4/2/94";
 #include 
 __FBSDID("$FreeBSD$");
 
+#ifdef __rtems__
+#include 
+#endif /* __rtems__ */
 #include 
 
 #include 
@@ -96,6 +102,9 @@ static struct key {
{ "speed",  f_speed,0 },
{ "tty",f_tty,  0 },
 };
+#ifdef __rtems__
+#include "rtems-bsd-stty-key-data.h"
+#endif /* __rtems__ */
 
 static int
 c_key(const void *a, const void *b)
diff --git a/freebsd/bin/stty/modes.c b/freebsd/bin/stty/modes.c
index 79a0ed8..e1536d5 100644
--- a/freebsd/bin/stty/modes.c
+++ b/freebsd/bin/stty/modes.c
@@ -1,5 +1,8 @@
 #include 
 
+#ifdef __rtems__
+#include "rtems-bsd-stty-namespace.h"
+#endif /* __rtems__ */
 /*-
  * Copyright (c) 1991, 1993, 1994
  * The Regents of the University of California.  All rights reserved.
@@ -37,10 +40,16 @@ static char sccsid[] = "@(#)modes.c 8.3 (Berkeley) 4/2/94";
 #include 
 __FBSDID("$FreeBSD$");
 
+#ifdef __rtems__
+#include 
+#endif /* __rtems__ */
 #include 
 #include 
 #include 
 #include "stty.h"
+#ifdef __rtems__
+#include "rtems-bsd-stty-modes-data.h"
+#endif /* __rtems__ */
 
 int msearch(char ***, struct info *);
 
diff --git a/freebsd/bin/stty/print.c b/freebsd/bin/stty/print.c
index 770c5b5..d60f4ea 100644
--- a/freebsd/bin/stty/print.c
+++ b/freebsd/bin/stty/print.c
@@ -1,5 +1,8 @@
 #include 
 
+#ifdef __rtems__
+#include "rtems-bsd-stty-namespace.h"
+#endif /* __rtems__ */
 /*-
  * Copyright (c) 1991, 1993, 1994
  * The Regents of the University of California.  All rights reserved.
@@ -37,6 +40,9 @@ static char sccsid[] = "@(#)print.c   8.6 (Berkeley) 4/16/94";
 #include 
 __FBSDID("$FreeBSD$");
 
+#ifdef __rtem

[PATCH 2/7] Adding tty support files from FREEBSD tree

2017-04-05 Thread Kevin Kirspel
---
 freebsd/sys/kern/tty.c | 2349 
 freebsd/sys/kern/tty_inq.c |  497 +
 freebsd/sys/kern/tty_outq.c|  347 ++
 freebsd/sys/kern/tty_ttydisc.c | 1267 ++
 freebsd/sys/sys/cons.h |  144 +++
 freebsd/sys/sys/serial.h   |   92 ++
 6 files changed, 4696 insertions(+)
 create mode 100644 freebsd/sys/kern/tty.c
 create mode 100644 freebsd/sys/kern/tty_inq.c
 create mode 100644 freebsd/sys/kern/tty_outq.c
 create mode 100644 freebsd/sys/kern/tty_ttydisc.c
 create mode 100644 freebsd/sys/sys/cons.h
 create mode 100644 freebsd/sys/sys/serial.h

diff --git a/freebsd/sys/kern/tty.c b/freebsd/sys/kern/tty.c
new file mode 100644
index 000..95afaeb
--- /dev/null
+++ b/freebsd/sys/kern/tty.c
@@ -0,0 +1,2349 @@
+#include 
+
+/*-
+ * Copyright (c) 2008 Ed Schouten 
+ * All rights reserved.
+ *
+ * Portions of this software were developed under sponsorship from Snow
+ * B.V., the Netherlands.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#ifdef COMPAT_43TTY
+#include 
+#endif /* COMPAT_43TTY */
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#define TTYDEFCHARS
+#include 
+#undef TTYDEFCHARS
+#include 
+#include 
+
+#include 
+
+static MALLOC_DEFINE(M_TTY, "tty", "tty device");
+
+static void tty_rel_free(struct tty *tp);
+
+static TAILQ_HEAD(, tty) tty_list = TAILQ_HEAD_INITIALIZER(tty_list);
+static struct sx tty_list_sx;
+SX_SYSINIT(tty_list, &tty_list_sx, "tty list");
+static unsigned int tty_list_count = 0;
+
+/* Character device of /dev/console. */
+static struct cdev *dev_console;
+static const char  *dev_console_filename;
+
+/*
+ * Flags that are supported and stored by this implementation.
+ */
+#define TTYSUP_IFLAG   (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK|ISTRIP|\
+   INLCR|IGNCR|ICRNL|IXON|IXOFF|IXANY|IMAXBEL)
+#define TTYSUP_OFLAG   (OPOST|ONLCR|TAB3|ONOEOT|OCRNL|ONOCR|ONLRET)
+#define TTYSUP_LFLAG   (ECHOKE|ECHOE|ECHOK|ECHO|ECHONL|ECHOPRT|\
+   ECHOCTL|ISIG|ICANON|ALTWERASE|IEXTEN|TOSTOP|\
+   FLUSHO|NOKERNINFO|NOFLSH)
+#define TTYSUP_CFLAG   (CIGNORE|CSIZE|CSTOPB|CREAD|PARENB|PARODD|\
+   HUPCL|CLOCAL|CCTS_OFLOW|CRTS_IFLOW|CDTR_IFLOW|\
+   CDSR_OFLOW|CCAR_OFLOW)
+
+#defineTTY_CALLOUT(tp,d) (dev2unit(d) & TTYUNIT_CALLOUT)
+
+static int  tty_drainwait = 5 * 60;
+SYSCTL_INT(_kern, OID_AUTO, tty_drainwait, CTLFLAG_RWTUN,
+&tty_drainwait, 0, "Default output drain timeout in seconds");
+
+/*
+ * Set TTY buffer sizes.
+ */
+
+#defineTTYBUF_MAX  65536
+
+/*
+ * Allocate buffer space if necessary, and set low watermarks, based on speed.
+ * Note that the ttyxxxq_setsize() functions may drop and then reacquire the 
tty
+ * lock during memory allocation.  They will return ENXIO if the tty disappears
+ * while unlocked.
+ */
+static int
+tty_watermarks(struct tty *tp)
+{
+   size_t bs = 0;
+   int error;
+
+   /* Provide an input buffer for 2 seconds of data. */
+   if (tp->t_termios.c_cflag & CREAD)
+   bs = MIN(tp->t_termios.c_ispeed / 5, TTYBUF_MAX);
+   error = ttyinq_setsize(&tp->t_inq, tp, bs);
+   if (error != 0)
+   return (error);
+
+   /* Set low watermark at 10% (when 90% is available). */
+   tp->t_inlow = (ttyinq_getallocatedsize(&tp->t_inq) * 9) / 10;
+
+   /* Provide an output buffer for 2 seconds of data. */
+

[PATCH 5/7] Adding RTEMS support for FREEBSD TTY

2017-04-05 Thread Kevin Kirspel
---
 rtemsbsd/include/machine/rtems-bsd-commands.h |   2 +
 rtemsbsd/include/machine/rtems-bsd-kernel-space.h |   1 +
 rtemsbsd/include/rtems/bsd/local/opt_gdb.h|   1 +
 rtemsbsd/include/rtems/netcmds-config.h   |   2 +
 rtemsbsd/rtems/rtems-bsd-shell-stty.c |  40 +++
 rtemsbsd/sys/fs/devfs/devfs_devs.c|  86 +-
 rtemsbsd/sys/fs/devfs/devfs_vnops.c   | 136 ++
 rtemsbsd/sys/net/ppp_tty.c|  10 +-
 8 files changed, 263 insertions(+), 15 deletions(-)
 create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_gdb.h
 create mode 100644 rtemsbsd/rtems/rtems-bsd-shell-stty.c
 mode change 100755 => 100644 rtemsbsd/sys/fs/devfs/devfs_devs.c
 create mode 100644 rtemsbsd/sys/fs/devfs/devfs_vnops.c

diff --git a/rtemsbsd/include/machine/rtems-bsd-commands.h 
b/rtemsbsd/include/machine/rtems-bsd-commands.h
index c0524c8..9e9ed1c 100644
--- a/rtemsbsd/include/machine/rtems-bsd-commands.h
+++ b/rtemsbsd/include/machine/rtems-bsd-commands.h
@@ -70,6 +70,8 @@ int rtems_bsd_command_vmstat(int argc, char **argv);
 
 int rtems_bsd_command_wlanstats(int argc, char **argv);
 
+int rtems_bsd_command_stty(int argc, char **argv);
+
 __END_DECLS
 
 #endif /* _RTEMS_BSD_MACHINE_RTEMS_BSD_COMMANDS_H_ */
diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-space.h 
b/rtemsbsd/include/machine/rtems-bsd-kernel-space.h
index 10ce9d2..9d0484a 100644
--- a/rtemsbsd/include/machine/rtems-bsd-kernel-space.h
+++ b/rtemsbsd/include/machine/rtems-bsd-kernel-space.h
@@ -48,6 +48,7 @@
 #define__GLOBL(sym)__GLOBL1(sym)
 
 #define O_CLOEXEC 0
+#define IO_NDELAY O_NONBLOCK
 
 #define __FreeBSD__ 1
 
diff --git a/rtemsbsd/include/rtems/bsd/local/opt_gdb.h 
b/rtemsbsd/include/rtems/bsd/local/opt_gdb.h
new file mode 100644
index 000..936ffd8
--- /dev/null
+++ b/rtemsbsd/include/rtems/bsd/local/opt_gdb.h
@@ -0,0 +1 @@
+/* EMPTY */
diff --git a/rtemsbsd/include/rtems/netcmds-config.h 
b/rtemsbsd/include/rtems/netcmds-config.h
index b3bc66f..515b265 100644
--- a/rtemsbsd/include/rtems/netcmds-config.h
+++ b/rtemsbsd/include/rtems/netcmds-config.h
@@ -45,6 +45,8 @@ extern rtems_shell_cmd_t rtems_shell_VMSTAT_Command;
 
 extern rtems_shell_cmd_t rtems_shell_WLANSTATS_Command;
 
+extern rtems_shell_cmd_t rtems_shell_STTY_Command;
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
diff --git a/rtemsbsd/rtems/rtems-bsd-shell-stty.c 
b/rtemsbsd/rtems/rtems-bsd-shell-stty.c
new file mode 100644
index 000..530b442
--- /dev/null
+++ b/rtemsbsd/rtems/rtems-bsd-shell-stty.c
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2016 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Dornierstr. 4
+ *  82178 Puchheim
+ *  Germany
+ *  
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include 
+#include 
+
+rtems_shell_cmd_t rtems_shell_STTY_Command = {
+  .name = "stty",
+  .usage = "stty [args]",
+  .topic = "serial",
+  .command = rtems_bsd_command_stty
+};
diff --git a/rtemsbsd/sys/fs/devfs/devfs_devs.c 
b/rtemsbsd/sys/fs/devfs/devfs_devs.c
old mode 100755
new mode 100644
index 0ee71ff..a91a02e
--- a/rtemsbsd/sys/fs/devfs/devfs_devs.c
+++ b/rtemsbsd/sys/fs/devfs/devfs_devs.c
@@ -36,6 +36,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -50,8 +51,16 @@
 
 const char rtems_cdev_directory[] = RTEMS_CDEV_DIRECTORY;
 
+/*
+ * The one true (but secret) list of active devices in the system.
+ * Locked by dev_lock()/devmtx
+ */
+struct cdev_priv_list cdevp_list = TAILQ_HEAD_INITIALIZER(cdevp_list);
+
 struct unrhdr *devfs_inos;
 
+static MALLOC_DEFINE(M_CDEVP, "DEVFS1", "DEVFS cdev_priv storage");
+
 static struct cdev *
 devfs_imfs_get_context_b

[PATCH 1/7] Adding stty command files from FREEBSD tree

2017-04-05 Thread Kevin Kirspel
---
 freebsd/bin/stty/cchar.c  | 142 ++
 freebsd/bin/stty/extern.h |  45 +++
 freebsd/bin/stty/gfmt.c   | 129 
 freebsd/bin/stty/key.c| 296 ++
 freebsd/bin/stty/modes.c  | 248 ++
 freebsd/bin/stty/print.c  | 283 
 freebsd/bin/stty/stty.c   | 169 ++
 freebsd/bin/stty/stty.h   |  55 +
 freebsd/bin/stty/util.c   |  66 +++
 9 files changed, 1433 insertions(+)
 create mode 100644 freebsd/bin/stty/cchar.c
 create mode 100644 freebsd/bin/stty/extern.h
 create mode 100644 freebsd/bin/stty/gfmt.c
 create mode 100644 freebsd/bin/stty/key.c
 create mode 100644 freebsd/bin/stty/modes.c
 create mode 100644 freebsd/bin/stty/print.c
 create mode 100644 freebsd/bin/stty/stty.c
 create mode 100644 freebsd/bin/stty/stty.h
 create mode 100644 freebsd/bin/stty/util.c

diff --git a/freebsd/bin/stty/cchar.c b/freebsd/bin/stty/cchar.c
new file mode 100644
index 000..4a925da
--- /dev/null
+++ b/freebsd/bin/stty/cchar.c
@@ -0,0 +1,142 @@
+#include 
+
+/*-
+ * Copyright (c) 1991, 1993, 1994
+ * The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *may be used to endorse or promote products derived from this software
+ *without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef lint
+#if 0
+static char sccsid[] = "@(#)cchar.c8.5 (Berkeley) 4/2/94";
+#endif
+#endif /* not lint */
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "stty.h"
+#include "extern.h"
+
+static int c_cchar(const void *, const void *);
+
+/*
+ * Special control characters.
+ *
+ * Cchars1 are the standard names, cchars2 are the old aliases.
+ * The first are displayed, but both are recognized on the
+ * command line.
+ */
+struct cchar cchars1[] = {
+   { "discard",VDISCARD,   CDISCARD },
+   { "dsusp",  VDSUSP, CDSUSP },
+   { "eof",VEOF,   CEOF },
+   { "eol",VEOL,   CEOL },
+   { "eol2",   VEOL2,  CEOL },
+   { "erase",  VERASE, CERASE },
+   { "erase2", VERASE2,CERASE2 },
+   { "intr",   VINTR,  CINTR },
+   { "kill",   VKILL,  CKILL },
+   { "lnext",  VLNEXT, CLNEXT },
+   { "min",VMIN,   CMIN },
+   { "quit",   VQUIT,  CQUIT },
+   { "reprint",VREPRINT,   CREPRINT },
+   { "start",  VSTART, CSTART },
+   { "status", VSTATUS,CSTATUS },
+   { "stop",   VSTOP,  CSTOP },
+   { "susp",   VSUSP,  CSUSP },
+   { "time",   VTIME,  CTIME },
+   { "werase", VWERASE,CWERASE },
+   { NULL, 0,  0},
+};
+
+struct cchar cchars2[] = {
+   { "brk",VEOL,   CEOL },
+   { "flush",  VDISCARD,   CDISCARD },
+   { "rprnt",  VREPRINT,   CREPRINT },
+   { NULL, 0,  0 },
+};
+
+static int
+c_cchar(const void *a, const void *b)
+{
+
+return (strcmp(((const struct cchar *)a)->name, ((const struct cchar 
*)b)->name));
+}
+
+int
+csearch(char ***argvp, struct info *ip)
+{
+   struct cchar *cp, tmp;
+   long val;
+   char *arg, *ep, *name;
+
+   name = **argvp;
+
+   tmp.name = name;
+   if (!(cp = (struct cchar *)bsearch(&tmp, cchars1,
+   sizeof(cchars1)/sizeof(struct cchar) - 1, size

[PATCH 6/7] Adding test cases for FREEBSD termios support through tty

2017-04-05 Thread Kevin Kirspel
---
 .../include/rtems/bsd/test/default-termios-init.h  | 158 
 testsuite/termios/test_main.c  | 856 +
 testsuite/termios/test_termios_driver.c| 136 
 testsuite/termios/test_termios_driver.h|  32 +
 testsuite/termios/test_termios_utilities.c | 233 ++
 testsuite/termios/test_termios_utilities.h |  33 +
 testsuite/termios01/test_main.c| 690 +
 testsuite/termios02/test_main.c| 140 
 testsuite/termios03/test_main.c|  73 ++
 testsuite/termios04/test_main.c|  69 ++
 testsuite/termios05/test_main.c|  65 ++
 testsuite/termios06/test_main.c| 492 
 12 files changed, 2977 insertions(+)
 create mode 100644 testsuite/include/rtems/bsd/test/default-termios-init.h
 create mode 100644 testsuite/termios/test_main.c
 create mode 100644 testsuite/termios/test_termios_driver.c
 create mode 100644 testsuite/termios/test_termios_driver.h
 create mode 100644 testsuite/termios/test_termios_utilities.c
 create mode 100644 testsuite/termios/test_termios_utilities.h
 create mode 100644 testsuite/termios01/test_main.c
 create mode 100644 testsuite/termios02/test_main.c
 create mode 100644 testsuite/termios03/test_main.c
 create mode 100644 testsuite/termios04/test_main.c
 create mode 100644 testsuite/termios05/test_main.c
 create mode 100644 testsuite/termios06/test_main.c

diff --git a/testsuite/include/rtems/bsd/test/default-termios-init.h 
b/testsuite/include/rtems/bsd/test/default-termios-init.h
new file mode 100644
index 000..16c7ad7
--- /dev/null
+++ b/testsuite/include/rtems/bsd/test/default-termios-init.h
@@ -0,0 +1,158 @@
+/*
+ *  Shared Network Test Initialization File
+ */
+
+#ifndef RTEMS_BSD_TEST_DEFAULT_INIT_H
+#define RTEMS_BSD_TEST_DEFAULT_INIT_H
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+static void default_set_self_prio( rtems_task_priority prio )
+{
+  rtems_status_code sc;
+
+  sc = rtems_task_set_priority(RTEMS_SELF, prio, &prio);
+  assert(sc == RTEMS_SUCCESSFUL);
+}
+
+static void default_on_exit( int exit_code, void *arg )
+{
+  rtems_printer printer;
+
+  rtems_print_printer_printf(&printer);
+  rtems_stack_checker_report_usage_with_plugin(&printer);
+
+  if ( exit_code == 0 ) {
+puts( "*** END OF TEST " TEST_NAME " ***" );
+  }
+}
+
+rtems_task Init(
+  rtems_task_argument ignored
+)
+{
+  rtems_status_code sc;
+
+  /*
+   * Default the syslog priority to 'debug' to aid developers.
+   */
+  rtems_bsd_setlogpriority("debug");
+
+  puts( "*** " TEST_NAME " TEST ***" );
+
+  /*
+   *  BSD must support the new "shared IRQ PIC implementation" at this point.
+   *  BSPs must also provide rtems_interrupt_server_initialize() which
+   *  just requires including irq-server.[ch] in their build.
+   */
+
+  on_exit( default_on_exit, NULL );
+
+#ifdef DEFAULT_EARLY_INITIALIZATION
+  early_initialization();
+#endif
+
+  /* Let other tasks run to complete background work */
+  default_set_self_prio( RTEMS_MAXIMUM_PRIORITY - 2 );
+
+  rtems_bsd_initialize();
+
+  /* Let the callout timer allocate its resources */
+  sc = rtems_task_wake_after( 2 );
+  assert(sc == RTEMS_SUCCESSFUL);
+
+  test_main();
+  /* should not return */
+
+  assert( 0 );
+}
+
+/*
+ * Configure RTEMS.
+ */
+#define CONFIGURE_MICROSECONDS_PER_TICK 1000
+
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
+
+#define CONFIGURE_MAXIMUM_DRIVERS 32
+
+#define CONFIGURE_FILESYSTEM_DOSFS
+
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32
+
+#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1
+
+#define CONFIGURE_UNLIMITED_OBJECTS
+#define CONFIGURE_UNIFIED_WORK_AREAS
+
+#define CONFIGURE_STACK_CHECKER_ENABLED
+
+#define CONFIGURE_BDBUF_BUFFER_MAX_SIZE (64 * 1024)
+#define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE (256 * 1024)
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT_TASK_STACK_SIZE (32 * 1024)
+#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES
+#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT
+
+#define CONFIGURE_INIT
+
+#include 
+
+/*
+ * Configure LIBBSD device.
+ */
+ #include 
+
+/*
+ * Configure RTEMS Shell.
+ */
+#define CONFIGURE_SHELL_COMMANDS_INIT
+
+#include 
+
+#include 
+
+#define CONFIGURE_SHELL_USER_COMMANDS \
+  &bsp_interrupt_shell_command, \
+  &rtems_shell_STTY_Command, \
+  &rtems_shell_SYSCTL_Command
+
+#define CONFIGURE_SHELL_COMMAND_CPUUSE
+#define CONFIGURE_SHELL_COMMAND_PERIODUSE
+#define CONFIGURE_SHELL_COMMAND_STACKUSE
+#define CONFIGURE_SHELL_COMMAND_PROFREPORT
+
+#define CONFIGURE_SHELL_COMMAND_CP
+#define CONFIGURE_SHELL_COMMAND_PWD
+#define CONFIGURE_SHELL_COMMAND_LS
+#define CONFIGURE_SHELL_COMMAND_LN
+#define

[PATCH 7/7] Updating scripts for FREEBSD TTY support

2017-04-05 Thread Kevin Kirspel
---
 libbsd.py | 77 ---
 libbsd_waf.py | 97 +++
 2 files changed, 163 insertions(+), 11 deletions(-)
 mode change 100755 => 100644 libbsd.py

diff --git a/libbsd.py b/libbsd.py
old mode 100755
new mode 100644
index 90ba79e..eb346f0
--- a/libbsd.py
+++ b/libbsd.py
@@ -78,6 +78,7 @@ def rtems(mm):
 'rtems/rtems-bsd-shell-pfctl.c',
 'rtems/rtems-bsd-shell-ping.c',
 'rtems/rtems-bsd-shell-route.c',
+'rtems/rtems-bsd-shell-stty.c',
 'rtems/rtems-bsd-shell-sysctl.c',
 'rtems/rtems-bsd-shell-tcpdump.c',
 'rtems/rtems-bsd-shell-vmstat.c',
@@ -160,6 +161,7 @@ def rtems(mm):
 'sys/dev/ffec/if_ffec_mcf548x.c',
 'sys/dev/dw_mmc/dw_mmc.c',
 'sys/fs/devfs/devfs_devs.c',
+'sys/fs/devfs/devfs_vnops.c',
 'sys/net/if_ppp.c',
 'sys/net/ppp_tty.c',
 'telnetd/check_passwd.c',
@@ -439,6 +441,39 @@ def fdt(mm):
 return mod
 
 #
+# TTY
+#
+def tty(mm):
+mod = builder.Module('tty')
+mod.addKernelSpaceHeaderFiles(
+[
+'sys/sys/tty.h',
+'sys/sys/ttyqueue.h',
+'sys/sys/ttydisc.h',
+'sys/sys/ttydevsw.h',
+'sys/sys/ttyhook.h',
+'sys/sys/cons.h',
+'sys/sys/serial.h',
+]
+)
+mod.addKernelSpaceSourceFiles(
+[
+'sys/kern/tty.c',
+'sys/kern/tty_inq.c',
+'sys/kern/tty_outq.c',
+'sys/kern/tty_ttydisc.c',
+],
+mm.generator['source']()
+)
+#mod.addRTEMSSourceFiles(
+#[
+#'rtems/ofw_machdep.c',
+#],
+#mm.generator['source']()
+#)
+return mod
+
+#
 # MMC
 #
 def mmc(mm):
@@ -656,13 +691,7 @@ def dev_usb_mouse(mm):
 mod.addDependency(mm['dev_usb'])
 mod.addKernelSpaceHeaderFiles(
 [
-'sys/sys/tty.h',
 'sys/sys/mouse.h',
-'sys/sys/ttyqueue.h',
-'sys/sys/ttydefaults.h',
-'sys/sys/ttydisc.h',
-'sys/sys/ttydevsw.h',
-'sys/sys/ttyhook.h',
 ]
 )
 mod.addKernelSpaceSourceFiles(
@@ -1177,11 +1206,6 @@ def dev_nic(mm):
 'sys/isa/pnpvar.h',
 'sys/sys/buf.h',
 'sys/sys/mqueue.h',
-'sys/sys/tty.h',
-'sys/sys/ttyqueue.h',
-'sys/sys/ttydisc.h',
-'sys/sys/ttydevsw.h',
-'sys/sys/ttyhook.h',
 'sys/sys/user.h',
 ]
 )
@@ -2127,6 +2151,8 @@ def user_space(mm):
 mod = builder.Module('user_space')
 mod.addUserSpaceHeaderFiles(
 [
+'bin/stty/extern.h',
+'bin/stty/stty.h',
 'contrib/libxo/libxo/xo_buf.h',
 'contrib/libxo/libxo/xo_encoder.h',
 'contrib/libxo/libxo/xo.h',
@@ -2287,6 +2313,13 @@ def user_space(mm):
 mod.addUserSpaceSourceFiles(
 [
 'bin/hostname/hostname.c',
+'bin/stty/cchar.c',
+'bin/stty/gfmt.c',
+'bin/stty/key.c',
+'bin/stty/modes.c',
+'bin/stty/print.c',
+'bin/stty/stty.c',
+'bin/stty/util.c',
 'contrib/libxo/libxo/libxo.c',
 'contrib/libxo/libxo/xo_encoder.c',
 'lib/lib80211/lib80211_ioctl.c',
@@ -3005,6 +3038,27 @@ def tests(mm):
 mod.addTest(mm.generator['test']('cdev01', ['test_main', 'test_cdev']))
 mod.addTest(mm.generator['test']('pf01', ['test_main']))
 mod.addTest(mm.generator['test']('pf02', ['test_main'], runTest = False))
+mod.addTest(mm.generator['test']('termios', ['test_main',
+ 'test_termios_driver',
+ 'test_termios_utilities']))
+mod.addTest(mm.generator['test']('termios01', ['test_main',
+ '../termios/test_termios_driver',
+ '../termios/test_termios_utilities']))
+mod.addTest(mm.generator['test']('termios02', ['test_main',
+ '../termios/test_termios_driver',
+ '../termios/test_termios_utilities']))
+mod.addTest(mm.generator['test']('termios03', ['test_main',
+ '../termios/test_termios_driver',
+ '../termios/test_termios_utilities']))
+mod.addTest(mm.generator['test']('termios04', ['test_main',
+ '../termios/test_termios_driver',
+ '../termios/test_termios_utilities']))
+mod.addTest(mm.generator['test']('termios05', ['test_main',
+ '../termios/test_termios_driver',
+ '../termios/test_termios_utilities']))
+mod.addTest(mm

RTEMS 4.11.2-rc3 Release

2017-04-05 Thread Chris Johns

Hello,

RTEMS 4.11.2-rc3 is available for testing. If you are using RTEMS 4.11.1 
we encourage you to test and report any issues before the release date 
of 12th April 2017. I have moved the release date to give more time to 
see if the sync.rtems.org upgrade issues can be resolved.


The release is available here:

 https://ftp.rtems.org/pub/rtems/releases/4.11/rc/4.11.2-rc3/

The release notes contain the issues fixed. Important issues are:

 - DOSFS fixes
 - Libdl C++ exceptions fixes on 4.12 have been ported back
   to the 4.11 branch.

If you find an issue please raise a ticket and set the milestone to 4.11.2.

If you have a question please email this list.

Notes:

1. This release contains release notes for all 4.11 dot releases. The 
PDF has links in red to RTEMS's Trac so you can click though to Trac to 
review details.


2. Doxygen documentation will become available after it uploads from my 
personal servers. The progress on ticket #2950 has stalled so I am 
working around the issue by building the tar file locally and uploading 
rather than using the RTEMS servers.


3. I have fixed the issue where the RC is in the `rc` directory now works.

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


Re: [PATCH 1/7] Adding stty command files from FREEBSD tree

2017-04-05 Thread Sebastian Huber
I updated the FreeBSD baseline two days ago. Is this patch series based 
on this version?


--
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 0/2] xz Warning Removal Patches

2017-04-05 Thread Sebastian Huber

I think the main issue is:

Support for 64-bit CRC is build although XZ_USE_CRC64 is not defined

https://devel.rtems.org/ticket/2909

On 05/04/17 19:06, Joel Sherrill wrote:

Hi

I tried to take a direct and minimal approach to removing
the warnings in xz that appear in every BSP build. I used
the rule of only adding lines.

Joel Sherrill (2):
   xz/xz_config.h: Define __always_inline to inline to avoid warnings
   xz/xz_crc64.c: Add prototypes to fix warnings

  cpukit/libmisc/xz/xz_config.h | 6 ++
  cpukit/libmisc/xz/xz_crc64.c  | 5 +
  2 files changed, 11 insertions(+)



--
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: Anyone used expat or libxml2 on RTEMS?

2017-04-05 Thread Christian Mauderer
Am 05.04.2017 um 22:58 schrieb Joel Sherrill:
> Hi
> 
> Looking to see if anyone has used either of
> these libraries on RTEMS. If so, if you have
> build instructions, it would be appreciated.
> 
> Thanks.
> 
> --joel
> 
> 
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>

Hello Joel,

there is an expat port included in the libbsd. It was necessary for
lib80211_regdomain which is used in the WLAN part of ifconfig. There
have been no changes necessary compared to the FreeBSD sources.

Kind regards

Christian Mauderer
-- 

embedded brains GmbH
Christian Mauderer
Dornierstr. 4
D-82178 Puchheim
Germany
email: christian.maude...@embedded-brains.de
Phone: +49-89-18 94 741 - 18
Fax:   +49-89-18 94 741 - 08
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