コード例 #1
0
ファイル: consinit.c プロジェクト: ryo/netbsd-src
/*
 * consinit:
 * initialize the system console.
 * XXX - shouldn't deal with this initted thing, but then,
 * it shouldn't be called from init386 either.
 */
void
consinit(void)
{
	static int initted = 0;
	union xen_cmdline_parseinfo xcp;

	if (initted) {
		return;
	}
	initted = 1;
	xen_parse_cmdline(XEN_PARSE_CONSOLE, &xcp);
	
#if (NVGA > 0)
	if (xendomain_is_privileged()) {
#ifdef CONS_OVERRIDE
		if (strcmp(default_consinfo.devname, "tty0") == 0 ||
		    strcmp(default_consinfo.devname, "pc") == 0) {
#else
		if (strcmp(xcp.xcp_console, "tty0") == 0 || /* linux name */
		    strcmp(xcp.xcp_console, "pc") == 0) { /* NetBSD name */
#endif /* CONS_OVERRIDE */
			int error;
			vga_cnattach(x86_bus_space_io, x86_bus_space_mem,
			    -1, 1);
			error = ENODEV;
#if (NPCKBC > 0)
			error = pckbc_cnattach(x86_bus_space_io, IO_KBD, KBCMDP,
			    PCKBC_KBD_SLOT, 0);
#endif
#if (NUKBD > 0)
			if (error)
				error = ukbd_cnattach();
#endif
			if (error)
				printf("WARNING: no console keyboard, "
				    "error=%d\n", error);
			return;
		}
	}
#endif /* NVGA */
#if NXENCONS > 0
	xenconscn_attach();
	return;
#endif /* NXENCONS */
	panic("consinit: no console");
}

#ifdef KGDB
void
kgdb_port_init(void)
{
#if (NCOM > 0)
	if(!strcmp(kgdb_devname, "com")) {
		bus_space_tag_t tag = x86_bus_space_io;

		com_kgdb_attach(tag, comkgdbaddr, comkgdbrate, COM_FREQ, 
		    COM_TYPE_NORMAL, comkgdbmode);
	}
#endif
}
コード例 #2
0
static void
consinit_com(const char *consdev)
{
	static const bus_addr_t comcnaddrs[] = {
		IYONIX_UART1,		/* com0 */
	};
	/*
	 * Console devices are mapped VA==PA.  Our devmap reflects
	 * this, so register it now so drivers can map the console
	 * device.
	 */
	pmap_devmap_register(iyonix_devmap);

	/* When we support more than the first serial port as console,
	 * we should check consdev for a number.
	 */
#if NCOM > 0
	if (comcnattach(&obio_bs_tag, comcnaddrs[comcnunit], comcnspeed,
	    COM_FREQ, COM_TYPE_NORMAL, comcnmode))
	{
		panic("can't init serial console @%lx", comcnaddrs[comcnunit]);
	}
#else
	panic("serial console @%lx not configured", comcnaddrs[comcnunit]);
#endif

#if KGDB
#if NCOM > 0
	if (strcmp(kgdb_devname, "com") == 0) {
		com_kgdb_attach(&obio_bs_tag, kgdb_devaddr, kgdb_devrate,
		    COM_FREQ, COM_TYPE_NORMAL, kgdb_devmode);
	}
#endif	/* NCOM > 0 */
#endif	/* KGDB */
}
コード例 #3
0
ファイル: kgdb_machdep.c プロジェクト: lacombar/netbsd-alc
/*
 * alpha_kgdb_init:
 *
 *	Initialize KGDB -- connect to the device.
 */
void
alpha_kgdb_init(const char **valid_devs, struct alpha_bus_space *bst)
{
	int i;

	for (i = 0; valid_devs[i] != NULL; i++) {
		if (strcmp(kgdb_devname, valid_devs[i]) == 0)
			break;
	}
	if (valid_devs[i] == NULL) {
		printf("%s is not a valid KGDB device for this platform\n",
		    kgdb_devname);
		return;
	}

#if NCOM > 0
	if (strcmp(kgdb_devname, "com") == 0) {
		com_kgdb_attach(bst, kgdb_devaddr, kgdb_devrate, COM_FREQ,
		    COM_TYPE_NORMAL, kgdb_devmode);
		return;
	}
#endif /* NCOM > 0 */

	printf("The %s driver is not configured into the kernel; "
	    "KGDB not attached\n", kgdb_devname);
}
コード例 #4
0
ファイル: osk5912_machdep.c プロジェクト: lacombar/netbsd-alc
void
static kgdb_port_init(void)
{
	static int kgdbsinit_called = 0;

	if (kgdbsinit_called != 0)
		return;

	kgdbsinit_called = 1;

	bus_space_handle_t bh;
	if (bus_space_map(&omap_a4x_bs_tag, comkgdbaddr, OMAP_COM_SIZE, 0, &bh))
		panic("kgdb port can not be mapped.");

	/*
	 * The TRM says the mode should be disabled while dll and dlh are
	 * being changed so we disable before attaching, then enable.
	 */
	bus_space_write_1(&omap_a4x_bs_tag, bh,
			  OMAP_COM_MDR1, OMAP_COM_MDR1_MODE_DISABLE);

	if (com_kgdb_attach(&omap_a4x_bs_tag, comkgdbaddr, comkgdbspeed,
			OMAP_COM_FREQ, COM_TYPE_NORMAL, comkgdbmode))
		panic("KGDB uart can not be initialized.");

	bus_space_write_1(&omap_a4x_bs_tag, bh,
			  OMAP_COM_MDR1, OMAP_COM_MDR1_MODE_UART_16X);

	bus_space_unmap(&omap_a4x_bs_tag, bh, OMAP_COM_SIZE);
}
コード例 #5
0
ファイル: hdlg_machdep.c プロジェクト: lacombar/netbsd-alc
void
consinit(void)
{
	static const bus_addr_t comcnaddrs[] = {
		HDLG_UART1,		/* com0 */
	};
	static int consinit_called;

	if (consinit_called)
		return;
	consinit_called = 1;

	/*
	 * Console devices are mapped VA==PA.  Our devmap reflects
	 * this, so register it now so drivers can map the console
	 * device.
	 */
	pmap_devmap_register(hdlg_devmap);

#if NCOM > 0
	if (comcnattach(&obio_bs_tag, comcnaddrs[comcnunit], comcnspeed,
	    COM_FREQ, COM_TYPE_NORMAL, comcnmode))
		panic("can't init serial console @%lx", comcnaddrs[comcnunit]);
#else
	panic("serial console @%lx not configured", comcnaddrs[comcnunit]);
#endif
#if KGDB
#if NCOM > 0
	if (strcmp(kgdb_devname, "com") == 0) {
		com_kgdb_attach(&obio_bs_tag, kgdb_devaddr, kgdb_devrate,
				COM_FREQ, COM_TYPE_NORMAL, kgdb_devmode);
	}
#endif	/* NCOM > 0 */
#endif	/* KGDB */
}
コード例 #6
0
void
comgdbinit(struct consdev *cn)
{
	if (pucgdbbase == 0) {
		return;
	}
	com_kgdb_attach(puctag, pucgdbbase, CONSPEED, COM_FREQ,
	    COM_TYPE_NORMAL, CONMODE);
}
コード例 #7
0
void
kgdb_port_init(void)
{
#if (NCOM > 0)
	if(!strcmp(kgdb_devname, "com")) {
		com_kgdb_attach(x86_bus_space_io, comkgdbaddr, comkgdbrate,
		    COM_FREQ, COM_TYPE_NORMAL, comkgdbmode);
	}
#endif
}
コード例 #8
0
ファイル: consinit.c プロジェクト: MarginC/kame
void
kgdb_port_init(void)
{
#if (NCOM > 0)
	if(!strcmp(kgdb_devname, "com")) {
		bus_space_tag_t tag = opb_get_bus_space_tag();
		com_kgdb_attach(tag, comkgdbaddr, comkgdbrate, COM_FREQ * 6,
		    COM_TYPE_NORMAL, comkgdbmode);
	}
#endif
}
コード例 #9
0
ファイル: machdep.c プロジェクト: avsm/openbsd-xen-sys
void
kgdb_port_init(void)
{
#if NCOM > 0
	if (!strcmp(kgdb_devname, "com")) {
		bus_space_tag_t tag = X86_BUS_SPACE_IO;
		com_kgdb_attach(tag, comkgdbaddr, comkgdbrate, COM_FREQ,
		    comkgdbmode);
	}
#endif
} 
コード例 #10
0
ファイル: tsarm_machdep.c プロジェクト: lacombar/netbsd-alc
void
consinit(void)
{
	static int consinit_called;
	bus_space_handle_t ioh;

	if (consinit_called != 0)
		return;

	consinit_called = 1;

	/*
	 * Console devices are already mapped in VA.  Our devmap reflects
	 * this, so register it now so drivers can map the console
	 * device.
	 */
	pmap_devmap_register(tsarm_devmap);
#if 0
	isa_tsarm_init(TS7XXX_IO16_VBASE + TS7XXX_ISAIO,
		TS7XXX_IO16_VBASE + TS7XXX_ISAMEM);	

        if (comcnattach(&isa_io_bs_tag, 0x3e8, comcnspeed,
            COM_FREQ, COM_TYPE_NORMAL, comcnmode))
        {
                panic("can't init serial console");
        }
#endif

#if NEPCOM > 0
	bus_space_map(&ep93xx_bs_tag, EP93XX_APB_HWBASE + EP93XX_APB_UART1, 
		EP93XX_APB_UART_SIZE, 0, &ioh);
        if (epcomcnattach(&ep93xx_bs_tag, EP93XX_APB_HWBASE + EP93XX_APB_UART1, 
		ioh, comcnspeed, comcnmode))
	{
		panic("can't init serial console");
	}
#else
	panic("serial console not configured");
#endif
#if KGDB
#if NEPCOM > 0
	if (strcmp(kgdb_devname, "epcom") == 0) {
		com_kgdb_attach(&ep93xx_bs_tag, kgdb_devaddr, kgdb_devrate,
			kgdb_devmode);
	}
#endif	/* NEPCOM > 0 */
#endif	/* KGDB */
}
コード例 #11
0
ファイル: com_gsc.c プロジェクト: lacombar/netbsd-alc
int
com_gsc_kgdb_attach(void)
{
	int error;

	printf("kgdb: attaching com at 0x%x at %d baud...",
		KGDBADDR, KGDBRATE);
	error = com_kgdb_attach(&hppa_bustag, KGDBADDR + COMGSC_OFFSET,
				KGDBRATE, COMGSC_FREQUENCY, COM_TYPE_NORMAL,
				((TTYDEF_CFLAG & ~(CSIZE | CSTOPB | PARENB)) |
				 CS8));
	if (error) {
		printf(" failed (%d)\n", error);
	} else {
		printf(" ok\n");
	}
	return (error);
}
コード例 #12
0
ファイル: console.c プロジェクト: lacombar/netbsd-alc
void
kgdb_port_init()
{
# if (NCOM > 0)
#  define KGDB_DEVMODE ((TTYDEF_CFLAG & ~(CSIZE | CSTOPB | PARENB)) | CS8)
	if (mach_type == MACH_SGI_IP32)
		com_kgdb_attach(3, 0xbf398000, 9600, COM_FREQ, COM_TYPE_NORMAL,
		    KGDB_DEVMODE);
# endif	/* (NCOM > 0) */

# if (NZSC > 0)
	switch(mach_type) {
	case MACH_SGI_IP12:
	case MACH_SGI_IP20:
	case MACH_SGI_IP22:
		zs_kgdb_init();			/* XXX */
	}
# endif
}
コード例 #13
0
ファイル: hd64465uart.c プロジェクト: lacombar/netbsd-alc
int
hd64465uart_kgdb_init()
{

	if (strcmp(kgdb_devname, "hd64465uart") != 0)
		return (1);

	if (hd64465uart_chip.console)
		return (1);	/* can't share with console */

	hd64465uart_init();

	if (com_kgdb_attach(hd64465uart_chip.io_tag, 0x0, kgdb_rate,
	    COM_FREQ, COM_TYPE_NORMAL, CONMODE) != 0) {
		printf("%s: KGDB console open failed.\n", __func__);
		return (1);
	}

	return (0);
}
コード例 #14
0
void
static kgdb_port_init(void)
{
	bus_space_tag_t bst = &awin_a4x_bs_tag;
	static bool kgdbsinit_called;

	if (kgdbsinit_called)
		return;

	kgdbsinit_called = true;

	bus_space_handle_t bh;
	if (bus_space_map(bst, comkgdbaddr, AWIN_UART_SIZE, 0, &bh))
		panic("kgdb port can not be mapped.");

	if (com_kgdb_attach(bst, comkgdbaddr, comkgdbspeed, AWIN_REF_FREQ,
		    COM_TYPE_NORMAL, comkgdbmode))
		panic("KGDB uart can not be initialized.");

	bus_space_unmap(bst, bh, AWIN_UART_SIZE);
}
コード例 #15
0
void
consinit(void)
{
	static int consinit_called;
#if NEPCOM > 0
	bus_space_handle_t ioh;
#endif

	if (consinit_called != 0)
		return;

	consinit_called = 1;

	/*
	 * Console devices are already mapped in VA.  Our devmap reflects
	 * this, so register it now so drivers can map the console
	 * device.
	 */
	pmap_devmap_register(armadillo9_devmap);

#if NEPCOM > 0
	bus_space_map(&ep93xx_bs_tag, EP93XX_APB_HWBASE + comaddr[CONUNIT], 
		EP93XX_APB_UART_SIZE, 0, &ioh);
        if (epcomcnattach(&ep93xx_bs_tag, EP93XX_APB_HWBASE + comaddr[CONUNIT], 
		ioh, comcnspeed, comcnmode))
	{
		panic("can't init serial console");
	}
#else
	panic("serial console not configured");
#endif
#if KGDB
#if NEPCOM > 0
	if (strcmp(kgdb_devname, "epcom") == 0) {
		com_kgdb_attach(&ep93xx_bs_tag, kgdb_devaddr, kgdb_devrate,
			kgdb_devmode);
	}
#endif	/* NEPCOM > 0 */
#endif	/* KGDB */
}
コード例 #16
0
ファイル: viper_machdep.c プロジェクト: lacombar/netbsd-alc
void
kgdb_port_init(void)
{
#if (NCOM > 0) && defined(COM_PXA2X0)
	paddr_t paddr = 0;
	uint32_t ckenreg = ioreg_read(VIPER_CLKMAN_VBASE+CLKMAN_CKEN);

	if (0 == strcmp(kgdb_devname, "ffuart")) {
		paddr = PXA2X0_FFUART_BASE;
		ckenreg |= CKEN_FFUART;
	}
	else if (0 == strcmp(kgdb_devname, "btuart")) {
		paddr = PXA2X0_BTUART_BASE;
		ckenreg |= CKEN_BTUART;
	}

	if (paddr &&
	    0 == com_kgdb_attach(&pxa2x0_a4x_bs_tag, paddr,
		kgdb_rate, PXA2X0_COM_FREQ, COM_TYPE_PXA2x0, comkgdbmode)) {

		ioreg_write(VIPER_CLKMAN_VBASE+CLKMAN_CKEN, ckenreg);
	}
#endif
}