예제 #1
0
static void
dcons_os_putc(struct dcons_softc *dc, int c)
{
	if (dg.dma_tag != NULL)
		bus_dmamap_sync(dg.dma_tag, dg.dma_map, BUS_DMASYNC_POSTWRITE);

	dcons_putc(dc, c);

	if (dg.dma_tag != NULL)
		bus_dmamap_sync(dg.dma_tag, dg.dma_map, BUS_DMASYNC_PREWRITE);
}
예제 #2
0
static void
dcons_tty_start(struct tty *tp)
{
	struct dcons_softc *dc;
	int s;

	dc = (struct dcons_softc *)tp->t_dev->si_drv1;
	s = spltty();
	if (tp->t_state & (TS_TIMEOUT | TS_TTSTOP)) {
		ttwwakeup(tp);
		return;
	}

	tp->t_state |= TS_BUSY;
	while (tp->t_outq.c_cc != 0)
		dcons_putc(dc, getc(&tp->t_outq));
	tp->t_state &= ~TS_BUSY;

	ttwwakeup(tp);
	splx(s);
}
예제 #3
0
static void
dconsole_putchar(int c)
{
    dcons_putc(&sc[0], c);
}
예제 #4
0
static void
dcons_cnputc(dev_t dev, int c)
{
	dcons_putc((struct dcons_softc *)dev->si_drv1, c);
}
예제 #5
0
static void
dcons_cnputc(struct consdev *cp, int c)
{
	dcons_putc((struct dcons_softc *)cp->cn_arg, c);
}