diff options
Diffstat (limited to 'freebsd/sys/kern/tty.c')
-rw-r--r-- | freebsd/sys/kern/tty.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/freebsd/sys/kern/tty.c b/freebsd/sys/kern/tty.c index f4a2b01f..aa9734cf 100644 --- a/freebsd/sys/kern/tty.c +++ b/freebsd/sys/kern/tty.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include <rtems/bsd/local/opt_capsicum.h> +#include <rtems/bsd/local/opt_printf.h> #include <sys/param.h> #include <sys/capsicum.h> @@ -108,6 +109,12 @@ SYSCTL_INT(_kern, OID_AUTO, tty_drainwait, CTLFLAG_RWTUN, #define TTYBUF_MAX 65536 +#ifdef PRINTF_BUFR_SIZE +#define TTY_PRBUF_SIZE PRINTF_BUFR_SIZE +#else +#define TTY_PRBUF_SIZE 256 +#endif + /* * 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 @@ -1065,7 +1072,9 @@ tty_alloc_mutex(struct ttydevsw *tsw, void *sc, struct mtx *mutex) PATCH_FUNC(busy); #undef PATCH_FUNC - tp = malloc(sizeof(struct tty), M_TTY, M_WAITOK|M_ZERO); + tp = malloc(sizeof(struct tty) + TTY_PRBUF_SIZE, M_TTY, + M_WAITOK | M_ZERO); + tp->t_prbufsz = TTY_PRBUF_SIZE; tp->t_devsw = tsw; tp->t_devswsoftc = sc; tp->t_flags = tsw->tsw_flags; |