mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-19 10:53:58 +00:00
Merge changes from Andrew Gallatin to support different CIA based platforms.
Add code to identify and attach either serial or VGA console as appropriate.
This commit is contained in:
parent
b50b3bda1d
commit
bba326e18d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=37824
@ -1,4 +1,4 @@
|
||||
/* $Id: dec_eb164.c,v 1.1 1998/07/05 12:10:10 dfr Exp $ */
|
||||
/* $Id: dec_eb164.c,v 1.2 1998/07/12 16:07:43 dfr Exp $ */
|
||||
/* $NetBSD: dec_eb164.c,v 1.26 1998/04/17 02:45:19 mjacob Exp $ */
|
||||
|
||||
/*
|
||||
@ -40,6 +40,10 @@
|
||||
|
||||
#include <machine/rpb.h>
|
||||
#include <machine/cpuconf.h>
|
||||
#include <machine/clock.h>
|
||||
|
||||
#include "sio.h"
|
||||
#include "sc.h"
|
||||
|
||||
#ifndef CONSPEED
|
||||
#define CONSPEED TTYDEF_SPEED
|
||||
@ -48,6 +52,8 @@ static int comcnrate = CONSPEED;
|
||||
|
||||
void dec_eb164_init __P((void));
|
||||
static void dec_eb164_cons_init __P((void));
|
||||
extern void eb164_intr_enable(int irq);
|
||||
extern void eb164_intr_disable(int irq);
|
||||
|
||||
void
|
||||
dec_eb164_init()
|
||||
@ -61,22 +67,21 @@ dec_eb164_init()
|
||||
|
||||
platform.iobus = "cia";
|
||||
platform.cons_init = dec_eb164_cons_init;
|
||||
platform.pci_intr_map = NULL;
|
||||
platform.pci_intr_disable = eb164_intr_disable;
|
||||
platform.pci_intr_enable = eb164_intr_enable;
|
||||
}
|
||||
|
||||
static void
|
||||
dec_eb164_cons_init()
|
||||
{
|
||||
cia_init();
|
||||
#ifdef DDB
|
||||
siocnattach(0x3f8, 57600);
|
||||
#endif
|
||||
#if 0
|
||||
struct ctb *ctb;
|
||||
struct cia_config *ccp;
|
||||
extern struct cia_config cia_configuration;
|
||||
|
||||
ccp = &cia_configuration;
|
||||
cia_init(ccp, 0);
|
||||
cia_init();
|
||||
|
||||
#ifdef DDB
|
||||
siogdbattach(0x2f8, 57600);
|
||||
#endif
|
||||
|
||||
ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off);
|
||||
|
||||
@ -92,26 +97,17 @@ dec_eb164_cons_init()
|
||||
*/
|
||||
DELAY(160000000 / comcnrate);
|
||||
|
||||
if(comcnattach(&ccp->cc_iot, 0x3f8, comcnrate,
|
||||
COM_FREQ,
|
||||
(TTYDEF_CFLAG & ~(CSIZE | PARENB)) | CS8))
|
||||
if (siocnattach(0x3f8, comcnrate))
|
||||
panic("can't init serial console");
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 3:
|
||||
#if NPCKBD > 0
|
||||
/* display console ... */
|
||||
/* XXX */
|
||||
(void) pckbc_cnattach(&ccp->cc_iot, PCKBC_KBD_SLOT);
|
||||
|
||||
if ((ctb->ctb_turboslot & 0xffff) == 0)
|
||||
isa_display_console(&ccp->cc_iot, &ccp->cc_memt);
|
||||
else
|
||||
pci_display_console(&ccp->cc_iot, &ccp->cc_memt,
|
||||
&ccp->cc_pc, (ctb->ctb_turboslot >> 8) & 0xff,
|
||||
ctb->ctb_turboslot & 0xff, 0);
|
||||
#if NSC > 0
|
||||
sccnattach();
|
||||
#else
|
||||
panic("not configured to use display && keyboard console");
|
||||
#endif
|
||||
@ -124,5 +120,4 @@ dec_eb164_cons_init()
|
||||
panic("consinit: unknown console type %d\n",
|
||||
ctb->ctb_term_type);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user