PERFORCE change 102749 for review

John Birrell jb at FreeBSD.org
Sat Jul 29 23:50:52 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=102749

Change 102749 by jb at jb_freebsd2 on 2006/07/29 23:50:38

	Add a console method to allow atomic writes of strings to reduce the
	amount of interleaving of console output.

Affected files ...

.. //depot/projects/dtrace/src/sys/sys/cons.h#3 edit

Differences ...

==== //depot/projects/dtrace/src/sys/sys/cons.h#3 (text+ko) ====

@@ -45,6 +45,7 @@
 typedef	int	cn_getc_t(struct consdev *);
 typedef	int	cn_checkc_t(struct consdev *);
 typedef	void	cn_putc_t(struct consdev *, int);
+typedef	void	cn_puts_t(struct consdev *, char *, int);
 
 struct consdev {
 	cn_probe_t	*cn_probe;
@@ -59,6 +60,8 @@
 				/* kernel "return char if available" interface */
 	cn_putc_t	*cn_putc;
 				/* kernel putchar interface */
+	cn_puts_t	*cn_puts;
+				/* write one or more characters */
 	struct	tty *cn_tp;	/* tty structure for console device */
 	short	cn_pri;		/* pecking order; the higher the better */
 	void	*cn_arg;	/* drivers method argument */
@@ -80,9 +83,10 @@
 
 #ifdef _KERNEL
 
-#define CONS_DRIVER(name, probe, init, term, getc, checkc, putc, dbctl)	\
+#define CONS_DRIVER(name, probe, init, term, getc, checkc, putc, puts,  \
+    dbctl)							\
 	static struct consdev name##_consdev = {			\
-		probe, init, term, getc, checkc, putc			\
+		probe, init, term, getc, checkc, putc, puts		\
 	};								\
 	DATA_SET(cons_set, name##_consdev)
 
@@ -93,6 +97,7 @@
 		.cn_term = name##_cnterm,				\
 		.cn_getc = name##_cngetc,				\
 		.cn_putc = name##_cnputc,				\
+		.cn_puts = name##_cnputs,				\
 	};								\
 	DATA_SET(cons_set, name##_consdev)
 
@@ -106,6 +111,7 @@
 int	cncheckc(void);
 int	cngetc(void);
 void	cnputc(int);
+void	cnputs(char *, int);
 int	cnunavailable(void);
 
 #endif /* _KERNEL */


More information about the p4-projects mailing list