From owner-freebsd-bugs Wed Dec 9 03:00:05 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id DAA00483 for freebsd-bugs-outgoing; Wed, 9 Dec 1998 03:00:05 -0800 (PST) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id DAA00419 for ; Wed, 9 Dec 1998 03:00:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from Unknown UID 563@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id DAA25641; Wed, 9 Dec 1998 03:00:01 -0800 (PST) Received: from gamma.qmw.ac.uk (gamma.qmw.ac.uk [138.37.6.8]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id CAA29795 for ; Wed, 9 Dec 1998 02:52:14 -0800 (PST) (envelope-from D.M.Pick@qmw.ac.uk) Received: from xi.css.qmw.ac.uk by gamma.qmw.ac.uk with SMTP-QMW with ESMTP; Wed, 9 Dec 1998 10:51:52 +0000 Received: from cgaa180 by xi.css.qmw.ac.uk with local (Exim 1.92 #1) for FreeBSD-gnats-submit@freebsd.org id 0znhDi-000169-00; Wed, 9 Dec 1998 10:51:50 +0000 Message-Id: Date: Wed, 9 Dec 1998 10:51:50 +0000 From: D.M.Pick@qmw.ac.uk Reply-To: D.M.Pick@qmw.ac.uk To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: conf/9028: DMPno1 - kernel build fails with "device opl0" and "controller snd0" Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 9028 >Category: conf >Synopsis: DMPno1 - kernel build fails with "device opl0" and "controller snd0" >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Dec 9 03:00:01 PST 1998 >Last-Modified: >Originator: David Pick >Organization: >Release: FreeBSD 3.0-RELEASE i386 >Environment: FreeBSD 3.0 installed from Walnut Creek CDROM on a Toshiba Libretto 50CT. >Description: Attempting to build a custom kernel failed with various symbols all starting "_MIDIbuf_" missing during the final link stage. Configuration file included "controller snd0" and "device opl0" >How-To-Repeat: Repeat the attempt to build the kernel using: # # LIBRETTO based on GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks # # For more information read the handbook part System Administration -> # Configuring the FreeBSD Kernel -> The Configuration File. # The handbook is available in /usr/share/doc/handbook or online as # latest version from the FreeBSD World Wide Web server # # # An exhaustive list of options and more detailed explanations of the # device lines is present in the ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # # $Id: GENERIC,v 1.125 1998/10/16 01:30:11 obrien Exp $ machine "i386" #cpu "I386_CPU" #cpu "I486_CPU" cpu "I586_CPU" #cpu "I686_CPU" ident LIBRETTO maxusers 32 options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options MFS #Memory Filesystem options MFS_ROOT #MFS usable as root device, "MFS" req'ed options NFS #Network Filesystem options NFS_ROOT #NFS usable as root device, "NFS" req'ed options MSDOSFS #MSDOS Filesystem options "CD9660" #ISO 9660 Filesystem options "CD9660_ROOT" #CD-ROM usable as root. "CD9660" req'ed options "EXT2FS" #Linux "ext2fs" Filesystem options PROCFS #Process filesystem options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=15000 #Be pessimistic about Joe SCSI device options UCONSOLE #Allow users to grab the console options FAILSAFE #Be conservative options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor config kernel root on wd0 controller isa0 #controller eisa0 #controller pci0 #controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr #disk fd0 at fdc0 drive 0 #disk fd1 at fdc0 drive 1 # Unless you know very well what you're doing, leave ft0 at drive 2, or # remove the line entirely if you don't need it. Trying to configure # it on another unit might cause surprises, see PR kern/7176. #tape ft0 at fdc0 drive 2 #options "CMD640" # work around CMD640 chip deficiency controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 #disk wd1 at wdc0 drive 1 #controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr #disk wd2 at wdc1 drive 0 #disk wd3 at wdc1 drive 1 #options ATAPI #Enable ATAPI support for IDE bus #options ATAPI_STATIC #Don't do it as an LKM #device wcd0 #IDE CD-ROM #device wfd0 #IDE Floppy (e.g. LS-120) # A single entry for any of these controllers (ncr, ahb, ahc, amd) is # sufficient for any number of installed devices. #controller ncr0 #controller amd0 #controller ahb0 #controller ahc0 #controller isp0 # This controller offers a number of configuration options, too many to # document here - see the LINT file in this directory and look up the # dpt0 entry there for much fuller documentation on this. #controller dpt0 #controller adv0 at isa? port ? cam irq ? #controller adw0 #controller bt0 at isa? port ? cam irq ? #controller aha0 at isa? port ? cam irq ? #controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr #!CAM#controller aic0 at isa? port 0x340 bio irq 11 vector aicintr #controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr #controller nca1 at isa? port 0x350 bio irq 5 vector ncaintr #controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr controller scbus0 device da0 device sa0 device pass0 device cd0 #Only need one of these, the code dynamically grows #device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr #device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr #controller matcd0 at isa? port 0x230 bio #device scd0 at isa? port 0x230 bio # syscons is the default console driver, resembling an SCO console device sc0 at isa? port "IO_KBD" conflicts tty irq 1 vector scintr # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? port "IO_KBD" conflicts tty irq 1 vector pcrint #options XSERVER # support for X server #options FAT_CURSOR # start with block cursor # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines #options PCVT_SCANSET=2 # IBM keyboards are non-std device npx0 at isa? port "IO_NPX" irq 13 vector npxintr # # Laptop support (see LINT for more options) # device apm0 at isa? flags 0x31 # Advanced Power Management # PCCARD (PCMCIA) support controller card0 device pcic0 at card? device pcic1 at card? # You may need to reset all pccards after resuming options PCIC_RESUME_RESET # reset after resume device sio0 at isa? port "IO_COM1" flags 0x20010 tty irq 4 vector siointr device sio1 at isa? port "IO_COM2" flags 0x20000 tty irq 3 vector siointr device sio2 at isa? disable port "IO_COM3" tty irq 15 vector siointr device sio3 at isa? disable port "IO_COM4" tty irq 9 vector siointr #device lpt0 at isa? port? tty irq 7 vector lptintr controller ppc0 at isa? port? tty irq 7 vector ppcintr controller ppbus0 controller vpo0 at ppbus? device nlpt0 at ppbus? device plip0 at ppbus? device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr # Order is important here due to intrusive probes, do *not* alphabetize # this list of network interfaces until the probes have been fixed. # Right now it appears that the ie0 must be probed before ep0. See # revision 1.20 of this file. #device de0 #device fxp0 #device tl0 #device tx0 #device vx0 #device xl0 #device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr #device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr device ep0 at isa? disable port 0x300 net irq 10 vector epintr #device ex0 at isa? port? net irq? vector exintr #device fe0 at isa? port 0x300 net irq ? vector feintr #device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr #device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr #device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr #device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr #device cs0 at isa? port 0x300 net irq ? vector csintr pseudo-device loop pseudo-device ether pseudo-device sl 2 pseudo-device ppp 2 pseudo-device tun 2 pseudo-device pty 16 pseudo-device gzip # Exec gzipped a.out's pseudo-device vn 2 # Vnode deiver (turns a file into a device) pseudo-device snp 4 # Snoop device - to look at pty/vty/etc.. # # The PPP_BSDCOMP option enables support for compress(1) style entire # packet compression, the PPP_DEFLATE is for zlib/gzip style compression. # PPP_FILTER enables code for filtering the ppp data stream and selecting # events for resetting the demand dial activity timer - requires bpfilter. # See pppd(8) for more details. # options PPP_BSDCOMP #PPP BSD-compress support options PPP_DEFLATE #PPP zlib/deflate/gzip support options PPP_FILTER #enable bpf filtering (needs bpfilter) # KTRACE enables the system-call tracing facility ktrace(2). # This adds 4 KB bloat to your kernel, and slightly increases # the costs of each syscall. options KTRACE #kernel tracing # This provides support for System V shared memory. # options SYSVSHM # These two options provide support for System V Interface # Definition-style interprocess communication, in the form # of shared semaphores and message-queues respectively. options SYSVSEM options SYSVMSG # The `bpfilter' pseudo-device enables the Berkeley Packet Filter. Be # aware of the legal and administrative consequences of enabling this # option. The number of devices determines the maximum number of # simultaneous BPF clients programs runnable. pseudo-device bpfilter 8 #Berkeley packet filter # Allow user-mode programs to manipulate their local descriptor tables. # This option is required for the WINE Windows(tm) emulator, and is # not used for anything else (that we know of). options USER_LDT # This option includes a MD5 routine in the kernel, this is used for # various authentication and privacy used. options "MD5" options IPX # Novell IPX/SPX protocols options NETATALK # Appletalk protocols options MROUTING # Multicast routing options IPFIREWALL # Firewall options IPFIREWALL_VERBOSE # Say something about dropped packets options "IPFIREWALL_VERBOSE_LIMIT=100" # Say it only so many times #options IPFIREWALL_DEFAULT_TO_ACCEPT # Allow everything by default options IPDIVERT # Include divert sockets controller snd0 device opl0 at isa? port 0x388 # Yamaha OPL-3 >Fix: Noted the files containing the references were "soundcard.o" and "soundswitch.o". Found where these files were referenced in "/usr/src/sys/i386/conf/files.i386" and added another line to that file to include "i386/isa/sound/midibuf.c" under the same conditions as used for "i386/isa/sound/soundswitch.c" and "i386/isa/sound/soundcard.c". Attempting the kernel build again now works - and the kernel runs. Noted that there were already lines for this file to include it if various sound devices were present - but not for "opl". I'm not sure if there should also be one for "opl" as well, but I'm fairly sure that the one for "snd" should be there if files included for the "snd" option call code in "midibuf.c". Admittedly, I don't fully inderstand the "config" command... and normally you wouldn't include "snd" without specifying an actual device as well. I'd appreciate being informed of the correct changes to make ASAP even though I've rated the problem as "medium" priority for general fixing in the next release. -- David Pick D.M.Pick@qmw.ac.uk >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message