svn commit: r355316 - head/sys/dev/syscons

Kyle Evans kevans at FreeBSD.org
Tue Dec 3 02:30:53 UTC 2019


Author: kevans
Date: Tue Dec  3 02:30:52 2019
New Revision: 355316
URL: https://svnweb.freebsd.org/changeset/base/355316

Log:
  syscons.c: clang-format pass to reduce style inconsistencies
  
  This was purely automatically massaged... some parts are still imperfect,
  but this is close enough to make it more readable/easy to work on.
  Unfortunately the vt/syscons/kdb situation slightly complicates changes to
  tty locking, so some work will need to be done to remediate that.

Modified:
  head/sys/dev/syscons/syscons.c

Modified: head/sys/dev/syscons/syscons.c
==============================================================================
--- head/sys/dev/syscons/syscons.c	Mon Dec  2 22:44:34 2019	(r355315)
+++ head/sys/dev/syscons/syscons.c	Tue Dec  3 02:30:52 2019	(r355316)
@@ -65,13 +65,13 @@ __FBSDID("$FreeBSD$");
 #include <sys/power.h>
 
 #include <machine/clock.h>
-#if defined(__arm__) || defined(__mips__) || \
-	defined(__powerpc__) || defined(__sparc64__)
+#if defined(__arm__) || defined(__mips__) || defined(__powerpc__) || \
+    defined(__sparc64__)
 #include <machine/sc_machdep.h>
 #else
 #include <machine/pc/display.h>
 #endif
-#if defined( __i386__) || defined(__amd64__)
+#if defined(__i386__) || defined(__amd64__)
 #include <machine/psl.h>
 #include <machine/frame.h>
 #endif
@@ -92,71 +92,74 @@ __FBSDID("$FreeBSD$");
 #define COLD 0
 #define WARM 1
 
-#define DEFAULT_BLANKTIME	(5*60)		/* 5 minutes */
-#define MAX_BLANKTIME		(7*24*60*60)	/* 7 days!? */
+#define DEFAULT_BLANKTIME (5 * 60) /* 5 minutes */
+#define MAX_BLANKTIME (7 * 24 * 60 * 60) /* 7 days!? */
 
-#define KEYCODE_BS		0x0e		/* "<-- Backspace" key, XXX */
+#define KEYCODE_BS 0x0e /* "<-- Backspace" key, XXX */
 
 /* NULL-safe version of "tty_opened()" */
-#define	tty_opened_ns(tp)	((tp) != NULL && tty_opened(tp))
+#define tty_opened_ns(tp) ((tp) != NULL && tty_opened(tp))
 
-static	u_char		sc_kattrtab[MAXCPU];
+static u_char sc_kattrtab[MAXCPU];
 
-static	int		sc_console_unit = -1;
-static	int		sc_saver_keyb_only = 1;
-static  scr_stat    	*sc_console;
-static  struct consdev	*sc_consptr;
-static	void		*sc_kts[MAXCPU];
-static	struct sc_term_sw *sc_ktsw;
-static	scr_stat	main_console;
-static	struct tty 	*main_devs[MAXCONS];
+static int sc_console_unit = -1;
+static int sc_saver_keyb_only = 1;
+static scr_stat *sc_console;
+static struct consdev *sc_consptr;
+static void *sc_kts[MAXCPU];
+static struct sc_term_sw *sc_ktsw;
+static scr_stat main_console;
+static struct tty *main_devs[MAXCONS];
 
-static  char        	init_done = COLD;
-static	int		shutdown_in_progress = FALSE;
-static	int		suspend_in_progress = FALSE;
-static	char		sc_malloc = FALSE;
+static char init_done = COLD;
+static int shutdown_in_progress = FALSE;
+static int suspend_in_progress = FALSE;
+static char sc_malloc = FALSE;
 
-static	int		saver_mode = CONS_NO_SAVER; /* LKM/user saver */
-static	int		run_scrn_saver = FALSE;	/* should run the saver? */
-static	int		enable_bell = TRUE; /* enable beeper */
+static int saver_mode = CONS_NO_SAVER; /* LKM/user saver */
+static int run_scrn_saver = FALSE; /* should run the saver? */
+static int enable_bell = TRUE; /* enable beeper */
 
 #ifndef SC_DISABLE_REBOOT
-static  int		enable_reboot = TRUE; /* enable keyboard reboot */
+static int enable_reboot = TRUE; /* enable keyboard reboot */
 #endif
 
 #ifndef SC_DISABLE_KDBKEY
-static  int		enable_kdbkey = TRUE; /* enable keyboard debug */
+static int enable_kdbkey = TRUE; /* enable keyboard debug */
 #endif
 
-static	long        	scrn_blank_time = 0;    /* screen saver timeout value */
+static long scrn_blank_time = 0; /* screen saver timeout value */
 #ifdef DEV_SPLASH
-static	int     	scrn_blanked;		/* # of blanked screen */
-static	int		sticky_splash = FALSE;
+static int scrn_blanked; /* # of blanked screen */
+static int sticky_splash = FALSE;
 
-static	void		none_saver(sc_softc_t *sc, int blank) { }
-static	void		(*current_saver)(sc_softc_t *, int) = none_saver;
+static void
+none_saver(sc_softc_t *sc, int blank)
+{
+}
+static void (*current_saver)(sc_softc_t *, int) = none_saver;
 #endif
 
 #ifdef SC_NO_SUSPEND_VTYSWITCH
-static	int		sc_no_suspend_vtswitch = 1;
+static int sc_no_suspend_vtswitch = 1;
 #else
-static	int		sc_no_suspend_vtswitch = 0;
+static int sc_no_suspend_vtswitch = 0;
 #endif
-static	int		sc_susp_scr;
+static int sc_susp_scr;
 
 static SYSCTL_NODE(_hw, OID_AUTO, syscons, CTLFLAG_RD, 0, "syscons");
 static SYSCTL_NODE(_hw_syscons, OID_AUTO, saver, CTLFLAG_RD, 0, "saver");
 SYSCTL_INT(_hw_syscons_saver, OID_AUTO, keybonly, CTLFLAG_RW,
     &sc_saver_keyb_only, 0, "screen saver interrupted by input only");
-SYSCTL_INT(_hw_syscons, OID_AUTO, bell, CTLFLAG_RW, &enable_bell, 
-    0, "enable bell");
+SYSCTL_INT(
+    _hw_syscons, OID_AUTO, bell, CTLFLAG_RW, &enable_bell, 0, "enable bell");
 #ifndef SC_DISABLE_REBOOT
-SYSCTL_INT(_hw_syscons, OID_AUTO, kbd_reboot, CTLFLAG_RW|CTLFLAG_SECURE, &enable_reboot,
-    0, "enable keyboard reboot");
+SYSCTL_INT(_hw_syscons, OID_AUTO, kbd_reboot, CTLFLAG_RW | CTLFLAG_SECURE,
+    &enable_reboot, 0, "enable keyboard reboot");
 #endif
 #ifndef SC_DISABLE_KDBKEY
-SYSCTL_INT(_hw_syscons, OID_AUTO, kbd_debug, CTLFLAG_RW|CTLFLAG_SECURE, &enable_kdbkey,
-    0, "enable keyboard debug");
+SYSCTL_INT(_hw_syscons, OID_AUTO, kbd_debug, CTLFLAG_RW | CTLFLAG_SECURE,
+    &enable_kdbkey, 0, "enable keyboard debug");
 #endif
 SYSCTL_INT(_hw_syscons, OID_AUTO, sc_no_suspend_vtswitch, CTLFLAG_RWTUN,
     &sc_no_suspend_vtswitch, 0, "Disable VT switch before suspend.");
@@ -164,15 +167,15 @@ SYSCTL_INT(_hw_syscons, OID_AUTO, sc_no_suspend_vtswit
 #include "font.h"
 #endif
 
-	tsw_ioctl_t	*sc_user_ioctl;
+tsw_ioctl_t *sc_user_ioctl;
 
-static	bios_values_t	bios_value;
+static bios_values_t bios_value;
 
-static	int		enable_panic_key;
+static int enable_panic_key;
 SYSCTL_INT(_machdep, OID_AUTO, enable_panic_key, CTLFLAG_RW, &enable_panic_key,
-	   0, "Enable panic via keypress specified in kbdmap(5)");
+    0, "Enable panic via keypress specified in kbdmap(5)");
 
-#define SC_CONSOLECTL	255
+#define SC_CONSOLECTL 255
 
 #define VTY_WCHAN(sc, vty) (&SC_DEV(sc, vty))
 
@@ -191,8 +194,8 @@ static void scsuspend(void *);
 static void scresume(void *);
 static u_int scgetc(sc_softc_t *sc, u_int flags, struct sc_cnstate *sp);
 static void sc_puts(scr_stat *scp, u_char *buf, int len);
-#define SCGETC_CN	1
-#define SCGETC_NONBLOCK	2
+#define SCGETC_CN 1
+#define SCGETC_NONBLOCK 2
 static void sccnupdate(scr_stat *scp);
 static scr_stat *alloc_scp(sc_softc_t *sc, int vty);
 static void init_scp(sc_softc_t *sc, int vty, scr_stat *scp);
@@ -205,11 +208,12 @@ static int scsplash_callback(int event, void *arg);
 static void scsplash_saver(sc_softc_t *sc, int show);
 static int add_scrn_saver(void (*this_saver)(sc_softc_t *, int));
 static int remove_scrn_saver(void (*this_saver)(sc_softc_t *, int));
-static int set_scrn_saver_mode(scr_stat *scp, int mode, u_char *pal, int border);
+static int set_scrn_saver_mode(
+    scr_stat *scp, int mode, u_char *pal, int border);
 static int restore_scrn_saver_mode(scr_stat *scp, int changemode);
 static void stop_scrn_saver(sc_softc_t *sc, void (*saver)(sc_softc_t *, int));
 static int wait_scrn_saver_stop(sc_softc_t *sc);
-#define scsplash_stick(stick)		(sticky_splash = (stick))
+#define scsplash_stick(stick) (sticky_splash = (stick))
 #else /* !DEV_SPLASH */
 #define scsplash_stick(stick)
 #endif /* DEV_SPLASH */
@@ -231,44 +235,44 @@ static int sc_kattr(void);
 static timeout_t blink_screen;
 static struct tty *sc_alloc_tty(int, int);
 
-static cn_probe_t	sc_cnprobe;
-static cn_init_t	sc_cninit;
-static cn_term_t	sc_cnterm;
-static cn_getc_t	sc_cngetc;
-static cn_putc_t	sc_cnputc;
-static cn_grab_t	sc_cngrab;
-static cn_ungrab_t	sc_cnungrab;
+static cn_probe_t sc_cnprobe;
+static cn_init_t sc_cninit;
+static cn_term_t sc_cnterm;
+static cn_getc_t sc_cngetc;
+static cn_putc_t sc_cnputc;
+static cn_grab_t sc_cngrab;
+static cn_ungrab_t sc_cnungrab;
 
 CONSOLE_DRIVER(sc);
 
-static	tsw_open_t	sctty_open;
-static	tsw_close_t	sctty_close;
-static	tsw_outwakeup_t	sctty_outwakeup;
-static	tsw_ioctl_t	sctty_ioctl;
-static	tsw_mmap_t	sctty_mmap;
+static tsw_open_t sctty_open;
+static tsw_close_t sctty_close;
+static tsw_outwakeup_t sctty_outwakeup;
+static tsw_ioctl_t sctty_ioctl;
+static tsw_mmap_t sctty_mmap;
 
 static struct ttydevsw sc_ttydevsw = {
-	.tsw_open	= sctty_open,
-	.tsw_close	= sctty_close,
-	.tsw_outwakeup	= sctty_outwakeup,
-	.tsw_ioctl	= sctty_ioctl,
-	.tsw_mmap	= sctty_mmap,
+	.tsw_open = sctty_open,
+	.tsw_close = sctty_close,
+	.tsw_outwakeup = sctty_outwakeup,
+	.tsw_ioctl = sctty_ioctl,
+	.tsw_mmap = sctty_mmap,
 };
 
-static d_ioctl_t	consolectl_ioctl;
-static d_close_t	consolectl_close;
+static d_ioctl_t consolectl_ioctl;
+static d_close_t consolectl_close;
 
 static struct cdevsw consolectl_devsw = {
-	.d_version	= D_VERSION,
-	.d_flags	= D_NEEDGIANT | D_TRACKCLOSE,
-	.d_ioctl	= consolectl_ioctl,
-	.d_close	= consolectl_close,
-	.d_name		= "consolectl",
+	.d_version = D_VERSION,
+	.d_flags = D_NEEDGIANT | D_TRACKCLOSE,
+	.d_ioctl = consolectl_ioctl,
+	.d_close = consolectl_close,
+	.d_name = "consolectl",
 };
 
 /* ec -- emergency console. */
 
-static	u_int	ec_scroffset;
+static u_int ec_scroffset;
 
 static void
 ec_putc(int c)
@@ -309,15 +313,18 @@ ec_putc(int c)
 	do {
 		ind = ec_scroffset;
 		column = ind % xsize;
-		width = (c == '\b' ? -1 : c == '\t' ? (column + 8) & ~7 :
-		    c == '\r' ? -column : c == '\n' ? xsize - column : 1);
+		width = (c == '\b' ?
+			-1 :
+			c == '\t' ?
+			(column + 8) & ~7 :
+			c == '\r' ? -column : c == '\n' ? xsize - column : 1);
 		if (width == 0 || (width < 0 && ind < -width))
 			return;
 	} while (atomic_cmpset_rel_int(&ec_scroffset, ind, ind + width) == 0);
 	if (c == '\b' || c == '\r')
 		return;
 	if (c == '\n')
-		ind += xsize;	/* XXX clearing from new pos is not atomic */
+		ind += xsize; /* XXX clearing from new pos is not atomic */
 
 	attr = sc_kattr();
 	if (c == '\t' || c == '\n')
@@ -330,88 +337,89 @@ ec_putc(int c)
 int
 sc_probe_unit(int unit, int flags)
 {
-    if (!vty_enabled(VTY_SC))
-        return ENXIO;
-    if (!scvidprobe(unit, flags, FALSE)) {
-	if (bootverbose)
-	    printf("%s%d: no video adapter found.\n", SC_DRIVER_NAME, unit);
-	return ENXIO;
-    }
+	if (!vty_enabled(VTY_SC))
+		return ENXIO;
+	if (!scvidprobe(unit, flags, FALSE)) {
+		if (bootverbose)
+			printf("%s%d: no video adapter found.\n",
+			    SC_DRIVER_NAME, unit);
+		return ENXIO;
+	}
 
-    /* syscons will be attached even when there is no keyboard */
-    sckbdprobe(unit, flags, FALSE);
+	/* syscons will be attached even when there is no keyboard */
+	sckbdprobe(unit, flags, FALSE);
 
-    return 0;
+	return 0;
 }
 
-/* probe video adapters, return TRUE if found */ 
+/* probe video adapters, return TRUE if found */
 static int
 scvidprobe(int unit, int flags, int cons)
 {
-    /*
-     * Access the video adapter driver through the back door!
-     * Video adapter drivers need to be configured before syscons.
-     * However, when syscons is being probed as the low-level console,
-     * they have not been initialized yet.  We force them to initialize
-     * themselves here. XXX
-     */
-    vid_configure(cons ? VIO_PROBE_ONLY : 0);
+	/*
+	 * Access the video adapter driver through the back door!
+	 * Video adapter drivers need to be configured before syscons.
+	 * However, when syscons is being probed as the low-level console,
+	 * they have not been initialized yet.  We force them to initialize
+	 * themselves here. XXX
+	 */
+	vid_configure(cons ? VIO_PROBE_ONLY : 0);
 
-    return (vid_find_adapter("*", unit) >= 0);
+	return (vid_find_adapter("*", unit) >= 0);
 }
 
 /* probe the keyboard, return TRUE if found */
 static int
 sckbdprobe(int unit, int flags, int cons)
 {
-    /* access the keyboard driver through the backdoor! */
-    kbd_configure(cons ? KB_CONF_PROBE_ONLY : 0);
+	/* access the keyboard driver through the backdoor! */
+	kbd_configure(cons ? KB_CONF_PROBE_ONLY : 0);
 
-    return (kbd_find_keyboard("*", unit) >= 0);
+	return (kbd_find_keyboard("*", unit) >= 0);
 }
 
-static char
-*adapter_name(video_adapter_t *adp)
+static char *
+adapter_name(video_adapter_t *adp)
 {
-    static struct {
-	int type;
-	char *name[2];
-    } names[] = {
-	{ KD_MONO,	{ "MDA",	"MDA" } },
-	{ KD_HERCULES,	{ "Hercules",	"Hercules" } },
-	{ KD_CGA,	{ "CGA",	"CGA" } },
-	{ KD_EGA,	{ "EGA",	"EGA (mono)" } },
-	{ KD_VGA,	{ "VGA",	"VGA (mono)" } },
-	{ KD_TGA,	{ "TGA",	"TGA" } },
-	{ -1,		{ "Unknown",	"Unknown" } },
-    };
-    int i;
+	static struct {
+		int type;
+		char *name[2];
+	} names[] = {
+		{ KD_MONO, { "MDA", "MDA" } },
+		{ KD_HERCULES, { "Hercules", "Hercules" } },
+		{ KD_CGA, { "CGA", "CGA" } },
+		{ KD_EGA, { "EGA", "EGA (mono)" } },
+		{ KD_VGA, { "VGA", "VGA (mono)" } },
+		{ KD_TGA, { "TGA", "TGA" } },
+		{ -1, { "Unknown", "Unknown" } },
+	};
+	int i;
 
-    for (i = 0; names[i].type != -1; ++i)
-	if (names[i].type == adp->va_type)
-	    break;
-    return names[i].name[(adp->va_flags & V_ADP_COLOR) ? 0 : 1];
+	for (i = 0; names[i].type != -1; ++i)
+		if (names[i].type == adp->va_type)
+			break;
+	return names[i].name[(adp->va_flags & V_ADP_COLOR) ? 0 : 1];
 }
 
 static void
 sctty_outwakeup(struct tty *tp)
 {
-    size_t len;
-    u_char buf[PCBURST];
-    scr_stat *scp = sc_get_stat(tp);
+	size_t len;
+	u_char buf[PCBURST];
+	scr_stat *scp = sc_get_stat(tp);
 
-    if (scp->status & SLKED ||
-	(scp == scp->sc->cur_scp && scp->sc->blink_in_progress))
-	return;
+	if (scp->status & SLKED ||
+	    (scp == scp->sc->cur_scp && scp->sc->blink_in_progress))
+		return;
 
-    for (;;) {
-	len = ttydisc_getc(tp, buf, sizeof buf);
-	if (len == 0)
-	    break;
-	SC_VIDEO_LOCK(scp->sc);
-	sc_puts(scp, buf, len);
-	SC_VIDEO_UNLOCK(scp->sc);
-    }
+	for (;;) {
+		len = ttydisc_getc(tp, buf, sizeof buf);
+		if (len == 0)
+			break;
+		SC_VIDEO_LOCK(scp->sc);
+		sc_puts(scp, buf, len);
+		SC_VIDEO_UNLOCK(scp->sc);
+	}
 }
 
 static struct tty *
@@ -553,144 +561,145 @@ sc_set_vesa_mode(scr_stat *scp, sc_softc_t *sc, int un
 int
 sc_attach_unit(int unit, int flags)
 {
-    sc_softc_t *sc;
-    scr_stat *scp;
-    struct cdev *dev;
-    void *oldts, *ts;
-    int i, vc;
+	sc_softc_t *sc;
+	scr_stat *scp;
+	struct cdev *dev;
+	void *oldts, *ts;
+	int i, vc;
 
-    if (!vty_enabled(VTY_SC))
-        return ENXIO;
+	if (!vty_enabled(VTY_SC))
+		return ENXIO;
 
-    flags &= ~SC_KERNEL_CONSOLE;
+	flags &= ~SC_KERNEL_CONSOLE;
 
-    if (sc_console_unit == unit) {
-	/*
-	 * If this unit is being used as the system console, we need to
-	 * adjust some variables and buffers before and after scinit().
-	 */
-	/* assert(sc_console != NULL) */
-	flags |= SC_KERNEL_CONSOLE;
-	scmeminit(NULL);
+	if (sc_console_unit == unit) {
+		/*
+		 * If this unit is being used as the system console, we need to
+		 * adjust some variables and buffers before and after scinit().
+		 */
+		/* assert(sc_console != NULL) */
+		flags |= SC_KERNEL_CONSOLE;
+		scmeminit(NULL);
 
-	scinit(unit, flags);
+		scinit(unit, flags);
 
-	if (sc_console->tsw->te_size > 0) {
-	    sc_ktsw = sc_console->tsw;
-	    /* assert(sc_console->ts != NULL); */
-	    oldts = sc_console->ts;
-	    for (i = 0; i <= mp_maxid; i++) {
-		ts = malloc(sc_console->tsw->te_size, M_DEVBUF,
-			    M_WAITOK | M_ZERO);
-		(*sc_console->tsw->te_init)(sc_console, &ts, SC_TE_COLD_INIT);
-		sc_console->ts = ts;
-		(*sc_console->tsw->te_default_attr)(sc_console, sc_kattrtab[i],
-						    SC_KERNEL_CONS_REV_ATTR);
-		sc_kts[i] = ts;
-	    }
-	    sc_console->ts = oldts;
-    	    (*sc_console->tsw->te_default_attr)(sc_console, SC_NORM_ATTR,
-						SC_NORM_REV_ATTR);
+		if (sc_console->tsw->te_size > 0) {
+			sc_ktsw = sc_console->tsw;
+			/* assert(sc_console->ts != NULL); */
+			oldts = sc_console->ts;
+			for (i = 0; i <= mp_maxid; i++) {
+				ts = malloc(sc_console->tsw->te_size, M_DEVBUF,
+				    M_WAITOK | M_ZERO);
+				(*sc_console->tsw->te_init)(
+				    sc_console, &ts, SC_TE_COLD_INIT);
+				sc_console->ts = ts;
+				(*sc_console->tsw->te_default_attr)(sc_console,
+				    sc_kattrtab[i], SC_KERNEL_CONS_REV_ATTR);
+				sc_kts[i] = ts;
+			}
+			sc_console->ts = oldts;
+			(*sc_console->tsw->te_default_attr)(
+			    sc_console, SC_NORM_ATTR, SC_NORM_REV_ATTR);
+		}
+	} else {
+		scinit(unit, flags);
 	}
-    } else {
-	scinit(unit, flags);
-    }
 
-    sc = sc_get_softc(unit, flags & SC_KERNEL_CONSOLE);
-    sc->config = flags;
-    callout_init(&sc->ctimeout, 0);
-    callout_init(&sc->cblink, 0);
-    scp = sc_get_stat(sc->dev[0]);
-    if (sc_console == NULL)	/* sc_console_unit < 0 */
-	sc_console = scp;
+	sc = sc_get_softc(unit, flags & SC_KERNEL_CONSOLE);
+	sc->config = flags;
+	callout_init(&sc->ctimeout, 0);
+	callout_init(&sc->cblink, 0);
+	scp = sc_get_stat(sc->dev[0]);
+	if (sc_console == NULL) /* sc_console_unit < 0 */
+		sc_console = scp;
 
 #ifdef SC_PIXEL_MODE
-    if ((sc->config & SC_VESAMODE) != 0)
-	sc_set_vesa_mode(scp, sc, unit);
+	if ((sc->config & SC_VESAMODE) != 0)
+		sc_set_vesa_mode(scp, sc, unit);
 #endif /* SC_PIXEL_MODE */
 
-    /* initialize cursor */
-    if (!ISGRAPHSC(scp))
-    	update_cursor_image(scp);
+	/* initialize cursor */
+	if (!ISGRAPHSC(scp))
+		update_cursor_image(scp);
 
-    /* get screen update going */
-    scrn_timer(sc);
+	/* get screen update going */
+	scrn_timer(sc);
 
-    /* set up the keyboard */
-    (void)kbdd_ioctl(sc->kbd, KDSKBMODE, (caddr_t)&scp->kbd_mode);
-    update_kbd_state(scp, scp->status, LOCK_MASK);
+	/* set up the keyboard */
+	(void)kbdd_ioctl(sc->kbd, KDSKBMODE, (caddr_t)&scp->kbd_mode);
+	update_kbd_state(scp, scp->status, LOCK_MASK);
 
-    printf("%s%d: %s <%d virtual consoles, flags=0x%x>\n",
-	   SC_DRIVER_NAME, unit, adapter_name(sc->adp), sc->vtys, sc->config);
-    if (bootverbose) {
-	printf("%s%d:", SC_DRIVER_NAME, unit);
-    	if (sc->adapter >= 0)
-	    printf(" fb%d", sc->adapter);
-	if (sc->keyboard >= 0)
-	    printf(", kbd%d", sc->keyboard);
-	if (scp->tsw)
-	    printf(", terminal emulator: %s (%s)",
-		   scp->tsw->te_name, scp->tsw->te_desc);
-	printf("\n");
-    }
+	printf("%s%d: %s <%d virtual consoles, flags=0x%x>\n", SC_DRIVER_NAME,
+	    unit, adapter_name(sc->adp), sc->vtys, sc->config);
+	if (bootverbose) {
+		printf("%s%d:", SC_DRIVER_NAME, unit);
+		if (sc->adapter >= 0)
+			printf(" fb%d", sc->adapter);
+		if (sc->keyboard >= 0)
+			printf(", kbd%d", sc->keyboard);
+		if (scp->tsw)
+			printf(", terminal emulator: %s (%s)",
+			    scp->tsw->te_name, scp->tsw->te_desc);
+		printf("\n");
+	}
 
-    /* Register suspend/resume/shutdown callbacks for the kernel console. */
-    if (sc_console_unit == unit) {
-	EVENTHANDLER_REGISTER(power_suspend_early, scsuspend, NULL,
-			      EVENTHANDLER_PRI_ANY);
-	EVENTHANDLER_REGISTER(power_resume, scresume, NULL,
-			      EVENTHANDLER_PRI_ANY);
-	EVENTHANDLER_REGISTER(shutdown_pre_sync, scshutdown, NULL,
-			      SHUTDOWN_PRI_DEFAULT);
-    }
+	/* Register suspend/resume/shutdown callbacks for the kernel console. */
+	if (sc_console_unit == unit) {
+		EVENTHANDLER_REGISTER(
+		    power_suspend_early, scsuspend, NULL, EVENTHANDLER_PRI_ANY);
+		EVENTHANDLER_REGISTER(
+		    power_resume, scresume, NULL, EVENTHANDLER_PRI_ANY);
+		EVENTHANDLER_REGISTER(
+		    shutdown_pre_sync, scshutdown, NULL, SHUTDOWN_PRI_DEFAULT);
+	}
 
-    for (vc = 0; vc < sc->vtys; vc++) {
-	if (sc->dev[vc] == NULL) {
-		sc->dev[vc] = sc_alloc_tty(vc, vc + unit * MAXCONS);
-		if (vc == 0 && sc->dev == main_devs)
-			SC_STAT(sc->dev[0]) = &main_console;
+	for (vc = 0; vc < sc->vtys; vc++) {
+		if (sc->dev[vc] == NULL) {
+			sc->dev[vc] = sc_alloc_tty(vc, vc + unit * MAXCONS);
+			if (vc == 0 && sc->dev == main_devs)
+				SC_STAT(sc->dev[0]) = &main_console;
+		}
+		/*
+		 * The first vty already has struct tty and scr_stat initialized
+		 * in scinit().  The other vtys will have these structs when
+		 * first opened.
+		 */
 	}
-	/*
-	 * The first vty already has struct tty and scr_stat initialized
-	 * in scinit().  The other vtys will have these structs when
-	 * first opened.
-	 */
-    }
 
-    dev = make_dev(&consolectl_devsw, 0, UID_ROOT, GID_WHEEL, 0600,
-        "consolectl");
-    dev->si_drv1 = sc->dev[0];
+	dev = make_dev(
+	    &consolectl_devsw, 0, UID_ROOT, GID_WHEEL, 0600, "consolectl");
+	dev->si_drv1 = sc->dev[0];
 
-    return 0;
+	return 0;
 }
 
 static void
 scmeminit(void *arg)
 {
-    if (!vty_enabled(VTY_SC))
-        return;
-    if (sc_malloc)
-	return;
-    sc_malloc = TRUE;
+	if (!vty_enabled(VTY_SC))
+		return;
+	if (sc_malloc)
+		return;
+	sc_malloc = TRUE;
 
-    /*
-     * As soon as malloc() becomes functional, we had better allocate
-     * various buffers for the kernel console.
-     */
+	/*
+	 * As soon as malloc() becomes functional, we had better allocate
+	 * various buffers for the kernel console.
+	 */
 
-    if (sc_console_unit < 0)	/* sc_console == NULL */
-	return;
+	if (sc_console_unit < 0) /* sc_console == NULL */
+		return;
 
-    /* copy the temporary buffer to the final buffer */
-    sc_alloc_scr_buffer(sc_console, FALSE, FALSE);
+	/* copy the temporary buffer to the final buffer */
+	sc_alloc_scr_buffer(sc_console, FALSE, FALSE);
 
 #ifndef SC_NO_CUTPASTE
-    sc_alloc_cut_buffer(sc_console, FALSE);
+	sc_alloc_cut_buffer(sc_console, FALSE);
 #endif
 
 #ifndef SC_NO_HISTORY
-    /* initialize history buffer & pointers */
-    sc_alloc_history_buffer(sc_console, 0, 0, FALSE);
+	/* initialize history buffer & pointers */
+	sc_alloc_history_buffer(sc_console, 0, 0, FALSE);
 #endif
 }
 
@@ -700,101 +709,104 @@ SYSINIT(sc_mem, SI_SUB_KMEM, SI_ORDER_ANY, scmeminit, 
 static int
 scdevtounit(struct tty *tp)
 {
-    int vty = SC_VTY(tp);
+	int vty = SC_VTY(tp);
 
-    if (vty == SC_CONSOLECTL)
-	return ((sc_console != NULL) ? sc_console->sc->unit : -1);
-    else if ((vty < 0) || (vty >= MAXCONS*sc_max_unit()))
-	return -1;
-    else
-	return vty/MAXCONS;
+	if (vty == SC_CONSOLECTL)
+		return ((sc_console != NULL) ? sc_console->sc->unit : -1);
+	else if ((vty < 0) || (vty >= MAXCONS * sc_max_unit()))
+		return -1;
+	else
+		return vty / MAXCONS;
 }
 
 static int
 sctty_open(struct tty *tp)
 {
-    int unit = scdevtounit(tp);
-    sc_softc_t *sc;
-    scr_stat *scp;
+	int unit = scdevtounit(tp);
+	sc_softc_t *sc;
+	scr_stat *scp;
 #ifndef __sparc64__
-    keyarg_t key;
+	keyarg_t key;
 #endif
 
-    DPRINTF(5, ("scopen: dev:%s, unit:%d, vty:%d\n",
-		devtoname(tp->t_dev), unit, SC_VTY(tp)));
+	DPRINTF(5,
+	    ("scopen: dev:%s, unit:%d, vty:%d\n", devtoname(tp->t_dev), unit,
+		SC_VTY(tp)));
 
-    sc = sc_get_softc(unit, (sc_console_unit == unit) ? SC_KERNEL_CONSOLE : 0);
-    if (sc == NULL)
-	return ENXIO;
+	sc = sc_get_softc(
+	    unit, (sc_console_unit == unit) ? SC_KERNEL_CONSOLE : 0);
+	if (sc == NULL)
+		return ENXIO;
 
-    if (!tty_opened(tp)) {
-        /* Use the current setting of the <-- key as default VERASE. */  
-        /* If the Delete key is preferable, an stty is necessary     */
+	if (!tty_opened(tp)) {
+		/* Use the current setting of the <-- key as default VERASE. */
+		/* If the Delete key is preferable, an stty is necessary     */
 #ifndef __sparc64__
-	if (sc->kbd != NULL) {
-	    key.keynum = KEYCODE_BS;
-	    (void)kbdd_ioctl(sc->kbd, GIO_KEYMAPENT, (caddr_t)&key);
-            tp->t_termios.c_cc[VERASE] = key.key.map[0];
-	}
+		if (sc->kbd != NULL) {
+			key.keynum = KEYCODE_BS;
+			(void)kbdd_ioctl(sc->kbd, GIO_KEYMAPENT, (caddr_t)&key);
+			tp->t_termios.c_cc[VERASE] = key.key.map[0];
+		}
 #endif
-    }
+	}
 
-    scp = sc_get_stat(tp);
-    if (scp == NULL) {
-	scp = SC_STAT(tp) = alloc_scp(sc, SC_VTY(tp));
-	if (ISGRAPHSC(scp))
-	    sc_set_pixel_mode(scp, NULL, 0, 0, 16, 8);
-    }
-    if (!tp->t_winsize.ws_col && !tp->t_winsize.ws_row) {
-	tp->t_winsize.ws_col = scp->xsize;
-	tp->t_winsize.ws_row = scp->ysize;
-    }
+	scp = sc_get_stat(tp);
+	if (scp == NULL) {
+		scp = SC_STAT(tp) = alloc_scp(sc, SC_VTY(tp));
+		if (ISGRAPHSC(scp))
+			sc_set_pixel_mode(scp, NULL, 0, 0, 16, 8);
+	}
+	if (!tp->t_winsize.ws_col && !tp->t_winsize.ws_row) {
+		tp->t_winsize.ws_col = scp->xsize;
+		tp->t_winsize.ws_row = scp->ysize;
+	}
 
-    return (0);
+	return (0);
 }
 
 static void
 sctty_close(struct tty *tp)
 {
-    scr_stat *scp;
-    int s;
+	scr_stat *scp;
+	int s;
 
-    if (SC_VTY(tp) != SC_CONSOLECTL) {
-	scp = sc_get_stat(tp);
-	/* were we in the middle of the VT switching process? */
-	DPRINTF(5, ("sc%d: scclose(), ", scp->sc->unit));
-	s = spltty();
-	if ((scp == scp->sc->cur_scp) && (scp->sc->unit == sc_console_unit))
-	    cnavailable(sc_consptr, TRUE);
-	if (finish_vt_rel(scp, TRUE, &s) == 0)	/* force release */
-	    DPRINTF(5, ("reset WAIT_REL, "));
-	if (finish_vt_acq(scp) == 0)		/* force acknowledge */
-	    DPRINTF(5, ("reset WAIT_ACQ, "));
+	if (SC_VTY(tp) != SC_CONSOLECTL) {
+		scp = sc_get_stat(tp);
+		/* were we in the middle of the VT switching process? */
+		DPRINTF(5, ("sc%d: scclose(), ", scp->sc->unit));
+		s = spltty();
+		if ((scp == scp->sc->cur_scp) &&
+		    (scp->sc->unit == sc_console_unit))
+			cnavailable(sc_consptr, TRUE);
+		if (finish_vt_rel(scp, TRUE, &s) == 0) /* force release */
+			DPRINTF(5, ("reset WAIT_REL, "));
+		if (finish_vt_acq(scp) == 0) /* force acknowledge */
+			DPRINTF(5, ("reset WAIT_ACQ, "));
 #ifdef not_yet_done
-	if (scp == &main_console) {
-	    scp->pid = 0;
-	    scp->proc = NULL;
-	    scp->smode.mode = VT_AUTO;
-	}
-	else {
-	    sc_vtb_destroy(&scp->vtb);
+		if (scp == &main_console) {
+			scp->pid = 0;
+			scp->proc = NULL;
+			scp->smode.mode = VT_AUTO;
+		} else {
+			sc_vtb_destroy(&scp->vtb);
 #ifndef __sparc64__
-	    sc_vtb_destroy(&scp->scr);
+			sc_vtb_destroy(&scp->scr);
 #endif
-	    sc_free_history_buffer(scp, scp->ysize);
-	    SC_STAT(tp) = NULL;
-	    free(scp, M_DEVBUF);
-	}
+			sc_free_history_buffer(scp, scp->ysize);
+			SC_STAT(tp) = NULL;
+			free(scp, M_DEVBUF);
+		}
 #else
-	scp->pid = 0;
-	scp->proc = NULL;
-	scp->smode.mode = VT_AUTO;
+		scp->pid = 0;
+		scp->proc = NULL;
+		scp->smode.mode = VT_AUTO;
 #endif
-	scp->kbd_mode = K_XLATE;
-	if (scp == scp->sc->cur_scp)
-	    (void)kbdd_ioctl(scp->sc->kbd, KDSKBMODE, (caddr_t)&scp->kbd_mode);
-	DPRINTF(5, ("done.\n"));
-    }
+		scp->kbd_mode = K_XLATE;
+		if (scp == scp->sc->cur_scp)
+			(void)kbdd_ioctl(
+			    scp->sc->kbd, KDSKBMODE, (caddr_t)&scp->kbd_mode);
+		DPRINTF(5, ("done.\n"));
+	}
 }
 
 #if 0 /* XXX mpsafetty: fix screensaver. What about outwakeup? */
@@ -810,867 +822,886 @@ scread(struct cdev *dev, struct uio *uio, int flag)
 static int
 sckbdevent(keyboard_t *thiskbd, int event, void *arg)
 {
-    sc_softc_t *sc;
-    struct tty *cur_tty;
-    int c, error = 0; 
-    size_t len;
-    const u_char *cp;
+	sc_softc_t *sc;
+	struct tty *cur_tty;
+	int c, error = 0;
+	size_t len;
+	const u_char *cp;
 
-    sc = (sc_softc_t *)arg;
-    /* assert(thiskbd == sc->kbd) */
+	sc = (sc_softc_t *)arg;
+	/* assert(thiskbd == sc->kbd) */
 
-    mtx_lock(&Giant);
+	mtx_lock(&Giant);
 
-    switch (event) {
-    case KBDIO_KEYINPUT:
-	break;
-    case KBDIO_UNLOADING:
-	sc->kbd = NULL;
-	sc->keyboard = -1;
-	kbd_release(thiskbd, (void *)&sc->keyboard);
-	goto done;
-    default:
-	error = EINVAL;
-	goto done;
-    }
+	switch (event) {
+	case KBDIO_KEYINPUT:
+		break;
+	case KBDIO_UNLOADING:
+		sc->kbd = NULL;
+		sc->keyboard = -1;
+		kbd_release(thiskbd, (void *)&sc->keyboard);
+		goto done;
+	default:
+		error = EINVAL;
+		goto done;
+	}
 
-    /* 
-     * Loop while there is still input to get from the keyboard.
-     * I don't think this is nessesary, and it doesn't fix
-     * the Xaccel-2.1 keyboard hang, but it can't hurt.		XXX
-     */
-    while ((c = scgetc(sc, SCGETC_NONBLOCK, NULL)) != NOKEY) {
+	/*
+	 * Loop while there is still input to get from the keyboard.
+	 * I don't think this is nessesary, and it doesn't fix
+	 * the Xaccel-2.1 keyboard hang, but it can't hurt.		XXX
+	 */
+	while ((c = scgetc(sc, SCGETC_NONBLOCK, NULL)) != NOKEY) {
 
-	cur_tty = SC_DEV(sc, sc->cur_scp->index);
-	if (!tty_opened_ns(cur_tty))
-	    continue;
+		cur_tty = SC_DEV(sc, sc->cur_scp->index);
+		if (!tty_opened_ns(cur_tty))
+			continue;
 
-	if ((*sc->cur_scp->tsw->te_input)(sc->cur_scp, c, cur_tty))
-	    continue;
+		if ((*sc->cur_scp->tsw->te_input)(sc->cur_scp, c, cur_tty))
+			continue;
 
-	switch (KEYFLAGS(c)) {
-	case 0x0000: /* normal key */
-	    ttydisc_rint(cur_tty, KEYCHAR(c), 0);
-	    break;
-	case FKEY:  /* function key, return string */
-	    cp = (*sc->cur_scp->tsw->te_fkeystr)(sc->cur_scp, c);
-	    if (cp != NULL) {
-	    	ttydisc_rint_simple(cur_tty, cp, strlen(cp));
-		break;
-	    }
-	    cp = kbdd_get_fkeystr(thiskbd, KEYCHAR(c), &len);
-	    if (cp != NULL)
-	    	ttydisc_rint_simple(cur_tty, cp, len);
-	    break;
-	case MKEY:  /* meta is active, prepend ESC */
-	    ttydisc_rint(cur_tty, 0x1b, 0);
-	    ttydisc_rint(cur_tty, KEYCHAR(c), 0);
-	    break;
-	case BKEY:  /* backtab fixed sequence (esc [ Z) */
-	    ttydisc_rint_simple(cur_tty, "\x1B[Z", 3);
-	    break;
+		switch (KEYFLAGS(c)) {
+		case 0x0000: /* normal key */
+			ttydisc_rint(cur_tty, KEYCHAR(c), 0);
+			break;
+		case FKEY: /* function key, return string */
+			cp = (*sc->cur_scp->tsw->te_fkeystr)(sc->cur_scp, c);
+			if (cp != NULL) {
+				ttydisc_rint_simple(cur_tty, cp, strlen(cp));
+				break;
+			}
+			cp = kbdd_get_fkeystr(thiskbd, KEYCHAR(c), &len);
+			if (cp != NULL)
+				ttydisc_rint_simple(cur_tty, cp, len);
+			break;
+		case MKEY: /* meta is active, prepend ESC */
+			ttydisc_rint(cur_tty, 0x1b, 0);
+			ttydisc_rint(cur_tty, KEYCHAR(c), 0);
+			break;
+		case BKEY: /* backtab fixed sequence (esc [ Z) */
+			ttydisc_rint_simple(cur_tty, "\x1B[Z", 3);
+			break;
+		}
+
+		ttydisc_rint_done(cur_tty);
 	}
 
-	ttydisc_rint_done(cur_tty);
-    }
+	sc->cur_scp->status |= MOUSE_HIDDEN;
 
-    sc->cur_scp->status |= MOUSE_HIDDEN;
-
 done:
-    mtx_unlock(&Giant);
-    return (error);
+	mtx_unlock(&Giant);
+	return (error);
 }
 
 static int
 sctty_ioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td)
 {
-    int error;
-    int i;
-    struct cursor_attr *cap;
-    sc_softc_t *sc;
-    scr_stat *scp;
-    int s;
+	int error;
+	int i;
+	struct cursor_attr *cap;
+	sc_softc_t *sc;
+	scr_stat *scp;
+	int s;
 #if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \
     defined(COMPAT_FREEBSD4) || defined(COMPAT_43)
-    int ival;
+	int ival;
 #endif
 
-    /* If there is a user_ioctl function call that first */
-    if (sc_user_ioctl) {
-	error = (*sc_user_ioctl)(tp, cmd, data, td);
+	/* If there is a user_ioctl function call that first */
+	if (sc_user_ioctl) {

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list