Subject: Re: dev/isa/pckbcvar.h in current
To: None <M.Drochner@fz-juelich.de>
From: D'Arcy" "J.M. <darcy@druid.net>
List: current-users
Date: 02/05/1999 06:59:37
Thus spake drochner@zel459.zel.kfa-juelich.de
> darcy@druid.net said:
> > In file included from machine/pccons.h:22,
> >                  from ../../../../arch/i386/isa/pccons.c:115: ../../../
> > ../dev/isa/pckbcvar.h:63: syntax error before `pckbc_slot_t' cc1:
> > warnings being treated as errors ../../../../dev/isa/pckbcvar.h:63:
> > warning: function declaration isn't a prototype *** Error code 1 
> 
> You probably got an inconsistency into your config file.
> There are two ways to use pccons - normally you just have
> pc0	at isa0 port 0x60 irq 1		# generic PC console device
> in your config file, and perhaps a
> opms0	at pc? irq 12		# PS/2 auxiliary port mouse
> but no special "pckbc" keyboard controller driver.

Well, I have the pc0 line and no pck* lines.  The system will be a
server locked in a closet so all I want is a dumb screen.  No mice
are turned on either.  I'm not sure why pckbcvar.h is included in the
first place.

I modified the header to make it compile.  Here is the change to
line 63.

< int pckbc_cnattach __P((bus_space_tag_t, pckbc_slot_t));
> int pckbc_cnattach __P((void *, pckbc_slot_t));

This allowed it to compile bu on bootup it hung.

> A more exotic way (if one wants to use the new pckbc driver
> or perhaps a wheel mouse without completely switching to wscons)
> is to have
> pc0 at isa?
> in conjunction with
> pckbc0	at isa0
> pcconskbd*	at pckbc?
> and perhaps
> opms*		at pckbc?
> or
> pms*		at pckbc?
> pmsi*		at pckbc?
> wsmouse*        at      pms?
> wsmouse*        at      pmsi?
> 
> You obviously have a mix of both, "pc0" and "pckbc",
> but not "pcconskbd".

Honestly, no.  I do have the WSDISPLAY options on.  Would that matter?

> I'll look into this whether the error can be caught in
> an obvious way - but it must fail because a plain
> pccons and pckbc would access the same hardware and
> mess it up horribly.

Here is my config (stripped of comments) if you want to test with it.

include "arch/i386/conf/std.i386"
maxusers        32
options         I386_CPU
options         I486_CPU
options         I586_CPU
options         I686_CPU
options         MATH_EMULATE
options         USER_LDT
options         XSERVER
options         UCONSOLE
options         INSECURE
options         RTC_OFFSET=0
options         KTRACE
options         SYSVMSG
options         SYSVSEM
options         SYSVSHM
options         LKM
options         DIAGNOSTIC
options         COMPAT_NOMID
options         COMPAT_09
options         COMPAT_10
options         COMPAT_11
options         COMPAT_12
options         COMPAT_13
options         COMPAT_43
options         COMPAT_386BSD_MBRPART
options         COMPAT_SVR4
options         COMPAT_IBCS2
options         COMPAT_LINUX
options         COMPAT_FREEBSD
options         EXEC_ELF32
file-system     FFS
file-system     EXT2FS
file-system     LFS
file-system     MFS
file-system     NFS
file-system     CD9660
file-system     MSDOSFS
file-system     FDESC
file-system     KERNFS
file-system     NULLFS
file-system     PORTAL
file-system     PROCFS
file-system     UMAPFS
file-system     UNION
file-system     CODA
options         QUOTA
options         INET
options         PFIL_HOOKS
options         IPFILTER_LOG
options         PCIVERBOSE
options         USBVERBOSE
options         NFS_BOOT_BOOTP,NFS_BOOT_BOOTPARAM
options         WSEMUL_VT100
options         WS_KERNEL_FG=WSCOL_GREEN
options         WSDISPLAY_COMPAT_PCVT
options         WSDISPLAY_COMPAT_SYSCONS
options         WSDISPLAY_COMPAT_USL
options         WSDISPLAY_COMPAT_RAWKBD
config          netbsd  root on ? type ?
mainbus0 at root
pci*    at mainbus? bus ?
pci*    at pchb? bus ?
pci*    at ppb? bus ?
pchb*   at pci? dev ? function ?
pceb*   at pci? dev ? function ?
pcib*   at pci? dev ? function ?
ppb*    at pci? dev ? function ?
puc*    at pci? dev ? function ?
eisa*   at mainbus?
eisa*   at pceb?
isa*    at mainbus?
isa*    at pceb?
isa*    at pcib?
pcmcia* at pcic? controller ? socket ?
pcic0   at isa? port 0x3e0 iomem 0xd0000 iosiz 0x4000
pcic1   at isa? port 0x3e2 iomem 0xd4000 iosiz 0x4000
pcic0   at pci? dev? function ?
isapnp0 at isa?
pcic*   at isapnp?
npx0    at isa? port 0xf0 irq 13
pc0     at isa? port 0x60 irq 1
vga0            at isa?
vga*            at pci?
pcdisplay0      at isa?
pcppi0  at isa?
sysbeep0        at pcppi?
com*    at puc? port ?
com*    at isapnp?
com0    at isa? port 0x3f8 irq 4
com1    at isa? port 0x2f8 irq 3
lpt*    at puc? port ?
lpt0    at isa? port 0x378 irq 7
pciide* at pci ? dev ? function ? flags 0x0000
wdc*    at isapnp?
wdc*    at pcmcia? function ?
wdc0    at isa? port 0x1f0 irq 14
wdc1    at isa? port 0x170 irq 15
wd*     at wdc? channel ? drive ? flags 0x0000
wd*     at pciide? channel ? drive ? flags 0x0000
atapibus* at wdc? channel ?
atapibus* at pciide? channel ?
cd*     at atapibus? drive ? flags 0x0000
sd*     at atapibus? drive ? flags 0x0000
uk*     at atapibus? drive ? flags 0x0000
fdc0    at isa? port 0x3f0 irq 6 drq 2
fd*     at fdc? drive ?
ep*     at pci? dev ? function ?
ex*     at pci? dev ? function ?
include "arch/i386/conf/GENERIC.local"
pseudo-device   ccd             4
pseudo-device   md              1
pseudo-device   vnd             4
pseudo-device   bpfilter        8
pseudo-device   ipfilter
pseudo-device   loop
pseudo-device   ppp             2
pseudo-device   sl              2
pseudo-device   strip           2
pseudo-device   tun             2
pseudo-device   gre             2
pseudo-device   ipip            2
pseudo-device   pty             64
pseudo-device   tb              1
pseudo-device   sequencer       1
pseudo-device   vcoda           4

-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 424 2871     (DoD#0082)    (eNTP)   |  what's for dinner.