call vcons_replay_msgbuf() when appropriate

This commit is contained in:
macallan 2009-08-20 02:49:30 +00:00
parent eccd210ff3
commit 45727432a7
2 changed files with 12 additions and 11 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: ffb.c,v 1.36 2008/11/16 05:10:46 macallan Exp $ */
/* $NetBSD: ffb.c,v 1.37 2009/08/20 02:50:46 macallan Exp $ */
/* $OpenBSD: creator.c,v 1.20 2002/07/30 19:48:15 jason Exp $ */
/*
@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ffb.c,v 1.36 2008/11/16 05:10:46 macallan Exp $");
__KERNEL_RCSID(0, "$NetBSD: ffb.c,v 1.37 2009/08/20 02:50:46 macallan Exp $");
#include <sys/types.h>
#include <sys/param.h>
@ -239,11 +239,12 @@ ffb_attach(struct ffb_softc *sc)
sc->sc_fb.fb_device = &sc->sc_dv;
fb_attach(&sc->sc_fb, sc->sc_console);
ffb_clearscreen(sc);
if (sc->sc_console) {
wsdisplay_cnattach(&ffb_stdscreen, ri, 0, 0, defattr);
vcons_replay_msgbuf(&ffb_console_screen);
}
ffb_clearscreen(sc);
waa.console = sc->sc_console;
waa.scrdata = &ffb_screenlist;
@ -433,7 +434,6 @@ ffb_mmap(void *vsc, void *vs, off_t off, int prot)
break;
#endif
}
return (-1);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: cgsix.c,v 1.44 2009/02/20 22:55:26 martin Exp $ */
/* $NetBSD: cgsix.c,v 1.45 2009/08/20 02:49:30 macallan Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@ -78,7 +78,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: cgsix.c,v 1.44 2009/02/20 22:55:26 martin Exp $");
__KERNEL_RCSID(0, "$NetBSD: cgsix.c,v 1.45 2009/08/20 02:49:30 macallan Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -615,6 +615,9 @@ cg6attach(struct cgsix_softc *sc, const char *name, int isconsole)
vcons_init(&sc->vd, sc, &cgsix_defaultscreen, &cgsix_accessops);
sc->vd.init_screen = cgsix_init_screen;
cg6_setup_palette(sc);
cgsix_clearscreen(sc);
if(isconsole) {
/* we mess with cg6_console_screen only once */
vcons_init_screen(&sc->vd, &cg6_console_screen, 1,
@ -627,7 +630,8 @@ cg6attach(struct cgsix_softc *sc, const char *name, int isconsole)
cgsix_defaultscreen.ncols = ri->ri_cols;
SCREEN_VISIBLE(&cg6_console_screen);
sc->vd.active = &cg6_console_screen;
wsdisplay_cnattach(&cgsix_defaultscreen, ri, 0, 0, defattr);
wsdisplay_cnattach(&cgsix_defaultscreen, ri, 0, 0, defattr);
vcons_replay_msgbuf(&cg6_console_screen);
} else {
/*
* we're not the console so we just clear the screen and don't
@ -648,9 +652,6 @@ cg6attach(struct cgsix_softc *sc, const char *name, int isconsole)
cgsix_defaultscreen.ncols = ri->ri_cols;
}
}
cg6_setup_palette(sc);
cgsix_clearscreen(sc);
aa.scrdata = &cgsix_screenlist;
aa.console = isconsole;