diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index 3f52d5981268..305e1b63b1ca 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -1,205 +1,208 @@
#
# 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.133 1998/12/04 18:01:23 wpaul Exp $
+# $Id: GENERIC,v 1.134 1998/12/09 23:28:43 n_hibma Exp $
machine "i386"
cpu "I386_CPU"
cpu "I486_CPU"
cpu "I586_CPU"
cpu "I686_CPU"
ident GENERIC
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 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
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
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1
controller wdc1 at isa? port "IO_WD2" bio irq 15
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) is
# sufficient for any number of installed devices.
controller ncr0
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
#controller aic0 at isa? port 0x340 bio irq 11
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
device mcd0 at isa? port 0x300 bio irq 10
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
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device vt0 at isa? port IO_KBD conflicts tty irq 1
#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
#
# Laptop support (see LINT for more options)
#
device apm0 at isa? disable flags 0x31 # Advanced Power Management
# PCCARD (PCMCIA) support
#controller card0
#device pcic0 at card?
#device pcic1 at card?
device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4
device sio1 at isa? port "IO_COM2" tty irq 3
device sio2 at isa? disable port "IO_COM3" tty irq 5
device sio3 at isa? disable port "IO_COM4" tty irq 9
device lpt0 at isa? port? tty irq 7
device psm0 at isa? port IO_KBD conflicts tty irq 12
# 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 mx0
device pn0
device rl0
device tl0
device tx0
device vr0
device vx0
device wb0
device xl0
device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000
device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000
device ep0 at isa? port 0x300 net irq 10
device ex0 at isa? port? net irq?
device fe0 at isa? port 0x300 net irq ?
device le0 at isa? port 0x300 net irq 5 iomem 0xd0000
device lnc0 at isa? port 0x280 net irq 10 drq 0
device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000
device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000
device cs0 at isa? port 0x300 net irq ?
pseudo-device loop
pseudo-device ether
pseudo-device sl 1
pseudo-device ppp 1
pseudo-device tun 1
pseudo-device pty 16
pseudo-device gzip # Exec gzipped a.out's
# 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
# 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 4 #Berkeley packet filter
# USB support
#controller uhci0
#controller ohci0
#controller usb0
#
# for the moment we have to specify the priorities of the device
# drivers explicitly by the ordering in the list below. This will
# be changed in the future.
#
#device ums0
#device ukbd0
#device ulpt0
#device uhub0
+#device ucom0
+#device umodem0
#device hid0
#device ugen0
+
#
#options USB_DEBUG
#options USBVERBOSE
diff --git a/sys/conf/files b/sys/conf/files
index 94f47c52f306..9749d33833f1 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -1,637 +1,639 @@
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
# dependency lines other than the first are silently ignored.
#
aicasm optional ahc device-driver \
dependency "$S/dev/aic7xxx/*.[chyl]" \
compile-with "${MAKE} -f $S/dev/aic7xxx/Makefile MAKESRCPATH=$S/dev/aic7xxx" \
no-obj no-implicit-rule \
clean "aicasm aicasm_gram.c aicasm_scan.c y.tab.h"
aic7xxx_{seq,reg}.h optional ahc device-driver \
compile-with "./aicasm ${INCLUDES} -o aic7xxx_seq.h -r aic7xxx_reg.h $S/dev/aic7xxx/aic7xxx.seq" \
no-obj no-implicit-rule before-depend \
clean "aic7xxx_seq.h aic7xxx_reg.h" \
dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
device_if.o standard \
compile-with "${NORMAL_C}" \
no-implicit-rule local
device_if.c standard \
dependency "$S/kern/makedevops.pl $S/kern/device_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -c $S/kern/device_if.m" \
no-obj no-implicit-rule before-depend local \
clean "device_if.c"
device_if.h standard \
dependency "$S/kern/makedevops.pl $S/kern/device_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -h $S/kern/device_if.m" \
no-obj no-implicit-rule before-depend \
clean "device_if.h"
bus_if.o standard \
compile-with "${NORMAL_C}" \
no-implicit-rule local
bus_if.c standard \
dependency "$S/kern/makedevops.pl $S/kern/bus_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -c $S/kern/bus_if.m" \
no-obj no-implicit-rule before-depend local \
clean "bus_if.c"
bus_if.h standard \
dependency "$S/kern/makedevops.pl $S/kern/bus_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -h $S/kern/bus_if.m" \
no-obj no-implicit-rule before-depend \
clean "bus_if.h"
coda/coda_namecache.c optional vcoda
coda/coda_fbsd.c optional vcoda
coda/coda_psdev.c optional vcoda
coda/coda_subr.c optional vcoda
coda/coda_venus.c optional vcoda
coda/coda_vfsops.c optional vcoda
coda/coda_vnops.c optional vcoda
cam/cam.c optional scbus
cam/cam_xpt.c optional scbus
cam/cam_extend.c optional scbus
cam/cam_queue.c optional scbus
cam/cam_periph.c optional scbus
cam/cam_sim.c optional scbus
cam/scsi/scsi_all.c optional scbus
cam/scsi/scsi_da.c optional da
cam/scsi/scsi_pt.c optional pt
cam/scsi/scsi_sa.c optional sa
cam/scsi/scsi_cd.c optional cd
cam/scsi/scsi_ch.c optional ch
cam/scsi/scsi_pass.c optional pass
cam/scsi/scsi_scan.c optional scan
cam/scsi/scsi_target.c optional targ
ddb/db_access.c optional ddb
ddb/db_kld.c optional ddb
ddb/db_aout.c optional ddb
ddb/db_break.c optional ddb
ddb/db_command.c optional ddb
ddb/db_examine.c optional ddb
ddb/db_expr.c optional ddb
ddb/db_input.c optional ddb
ddb/db_lex.c optional ddb
ddb/db_output.c optional ddb
ddb/db_print.c optional ddb
ddb/db_ps.c optional ddb
ddb/db_run.c optional ddb
ddb/db_sym.c optional ddb
ddb/db_trap.c optional ddb
ddb/db_variables.c optional ddb
ddb/db_watch.c optional ddb
ddb/db_write_cmd.c optional ddb
dev/advansys/advansys.c optional adv device-driver
dev/advansys/advlib.c optional adv device-driver
dev/advansys/advmcode.c optional adv device-driver
dev/advansys/adwcam.c optional adw device-driver
dev/advansys/adwlib.c optional adw device-driver
dev/advansys/adwmcode.c optional adw device-driver
dev/aha/aha.c optional aha device-driver
dev/aic7xxx/aic7xxx.c optional ahc device-driver \
dependency "aic7xxx_{reg,seq}.h"
dev/aic7xxx/93cx6.c optional ahc device-driver
dev/aic6x60/aic.c optional aic device-driver
dev/buslogic/bt.c optional bt device-driver
dev/ccd/ccd.c optional ccd device-driver
dev/isp/isp_freebsd.c optional isp device-driver
dev/isp/isp.c optional isp device-driver
#dev/dpt/dpt_control.c optional dpt device-driver
dev/dpt/dpt_scsi.c optional dpt device-driver
dev/en/midway.c optional en device-driver
dev/hea/eni.c optional hea device-driver
dev/hea/eni_buffer.c optional hea device-driver
dev/hea/eni_globals.c optional hea device-driver
dev/hea/eni_if.c optional hea device-driver
dev/hea/eni_init.c optional hea device-driver
dev/hea/eni_intr.c optional hea device-driver
dev/hea/eni_receive.c optional hea device-driver
dev/hea/eni_transmit.c optional hea device-driver
dev/hea/eni_vcm.c optional hea device-driver
dev/hfa/fore_buffer.c optional hfa device-driver
dev/hfa/fore_command.c optional hfa device-driver
dev/hfa/fore_globals.c optional hfa device-driver
dev/hfa/fore_if.c optional hfa device-driver
dev/hfa/fore_init.c optional hfa device-driver
dev/hfa/fore_intr.c optional hfa device-driver
dev/hfa/fore_load.c optional hfa device-driver
dev/hfa/fore_output.c optional hfa device-driver
dev/hfa/fore_receive.c optional hfa device-driver
dev/hfa/fore_stats.c optional hfa device-driver
dev/hfa/fore_timer.c optional hfa device-driver
dev/hfa/fore_transmit.c optional hfa device-driver
dev/hfa/fore_vcm.c optional hfa device-driver
dev/pdq/pdq.c optional fea device-driver
dev/pdq/pdq_ifsubr.c optional fea device-driver
dev/pdq/pdq.c optional fpa device-driver
dev/pdq/pdq_ifsubr.c optional fpa device-driver
dev/ppbus/nlpt.c optional nlpt
dev/ppbus/ppb_base.c optional ppbus
dev/ppbus/ppb_1284.c optional ppbus
dev/ppbus/ppb_msq.c optional ppbus
dev/ppbus/ppbconf.c optional ppbus
dev/ppbus/ppi.c optional ppi
dev/ppbus/pps.c optional pps
dev/ppbus/vpo.c optional vpo
dev/ppbus/vpoio.c optional vpo
dev/ppbus/immio.c optional vpo
dev/ppbus/if_plip.c optional plip
dev/ppbus/lpbb.c optional lpbb
smbus_if.o optional smbus \
dependency "smbus_if.c smbus_if.h" \
compile-with "${NORMAL_C}" \
no-implicit-rule local
smbus_if.c optional smbus \
dependency "$S/kern/makedevops.pl $S/dev/smbus/smbus_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -c $S/dev/smbus/smbus_if.m" \
no-obj no-implicit-rule before-depend local \
clean "smbus_if.c"
smbus_if.h optional smbus \
dependency "$S/kern/makedevops.pl $S/dev/smbus/smbus_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -h $S/dev/smbus/smbus_if.m" \
no-obj no-implicit-rule before-depend \
clean "smbus_if.h"
dev/smbus/smbconf.c optional smbus
dev/smbus/smbus.c optional smbus
dev/smbus/smb.c optional smb
dev/iicbus/iicbb.c optional iicbb
iicbb_if.o optional iicbb \
dependency "iicbb_if.c" \
compile-with "${NORMAL_C}" \
no-implicit-rule local
iicbb_if.c optional iicbb \
dependency "$S/kern/makedevops.pl $S/dev/iicbus/iicbb_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -c $S/dev/iicbus/iicbb_if.m" \
no-obj no-implicit-rule before-depend local \
clean "iicbb_if.c"
iicbb_if.h optional iicbb \
dependency "$S/kern/makedevops.pl $S/dev/iicbus/iicbb_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -h $S/dev/iicbus/iicbb_if.m" \
no-obj no-implicit-rule before-depend \
clean "iicbb_if.h"
dev/iicbus/iicsmb.c optional iicsmb \
dependency "iicbus_if.h"
iicbus_if.o optional iicbus \
dependency "iicbus_if.c iicbus_if.h" \
compile-with "${NORMAL_C}" \
no-implicit-rule local
iicbus_if.c optional iicbus \
dependency "$S/kern/makedevops.pl $S/dev/iicbus/iicbus_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -c $S/dev/iicbus/iicbus_if.m" \
no-obj no-implicit-rule before-depend local \
clean "iicbus_if.c"
iicbus_if.h optional iicbus \
dependency "$S/kern/makedevops.pl $S/dev/iicbus/iicbus_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -h $S/dev/iicbus/iicbus_if.m" \
no-obj no-implicit-rule before-depend \
clean "iicbus_if.h"
dev/iicbus/iiconf.c optional iicbus
dev/iicbus/iicbus.c optional iicbus
dev/iicbus/if_ic.c optional ic
dev/iicbus/iic.c optional iic
dev/vn/vn.c optional vn
dev/vx/if_vx.c optional vx device-driver
gnu/ext2fs/ext2_alloc.c optional ext2fs
gnu/ext2fs/ext2_balloc.c optional ext2fs
gnu/ext2fs/ext2_inode.c optional ext2fs
gnu/ext2fs/ext2_inode_cnv.c optional ext2fs
gnu/ext2fs/ext2_linux_balloc.c optional ext2fs
gnu/ext2fs/ext2_linux_ialloc.c optional ext2fs
gnu/ext2fs/ext2_lookup.c optional ext2fs
gnu/ext2fs/ext2_subr.c optional ext2fs
gnu/ext2fs/ext2_vfsops.c optional ext2fs
gnu/ext2fs/ext2_vnops.c optional ext2fs
isofs/cd9660/cd9660_bmap.c optional cd9660
isofs/cd9660/cd9660_lookup.c optional cd9660
isofs/cd9660/cd9660_node.c optional cd9660
isofs/cd9660/cd9660_rrip.c optional cd9660
isofs/cd9660/cd9660_util.c optional cd9660
isofs/cd9660/cd9660_vfsops.c optional cd9660
isofs/cd9660/cd9660_vnops.c optional cd9660
kern/imgact_aout.c standard
kern/imgact_elf.c standard
kern/imgact_gzip.c optional gzip
kern/imgact_shell.c standard
kern/inflate.c optional gzip
kern/init_main.c standard
kern/init_sysent.c standard
kern/kern_intr.c standard
kern/kern_module.c standard
kern/kern_linker.c standard
kern/link_aout.c standard
kern/link_elf.c standard
kern/kern_acct.c standard
kern/kern_clock.c standard
kern/kern_conf.c standard
kern/kern_descrip.c standard
kern/kern_environment.c standard
kern/kern_exec.c standard
kern/kern_exit.c standard
kern/kern_fork.c standard
kern/kern_ktrace.c standard
kern/kern_lkm.c standard
kern/kern_lock.c standard
kern/kern_lockf.c standard
kern/kern_malloc.c standard
kern/kern_mib.c standard
kern/kern_ntptime.c standard
kern/kern_physio.c standard
kern/kern_proc.c standard
kern/kern_prot.c standard
kern/kern_resource.c standard
kern/kern_shutdown.c standard
kern/kern_sig.c standard
kern/kern_subr.c standard
kern/kern_synch.c standard
kern/kern_sysctl.c standard
kern/kern_time.c standard
kern/kern_timeout.c standard
kern/kern_xxx.c standard
kern/md5c.c standard
kern/subr_autoconf.c standard
kern/subr_bus.c standard
kern/subr_devstat.c standard
kern/subr_diskslice.c standard
kern/subr_dkbad.c standard
kern/subr_log.c standard
kern/subr_module.c standard
kern/subr_prf.c standard
kern/subr_prof.c standard
kern/subr_rlist.c standard
kern/subr_xxx.c standard
kern/sys_generic.c standard
kern/sys_pipe.c standard
kern/sys_process.c standard
kern/subr_rman.c standard
kern/sys_socket.c standard
kern/sysv_ipc.c standard
kern/sysv_msg.c optional sysvmsg
kern/sysv_sem.c optional sysvsem
kern/sysv_shm.c optional sysvshm
kern/tty.c standard
kern/tty_compat.c standard
kern/tty_conf.c standard
kern/tty_pty.c optional pty
kern/tty_snoop.c optional snp
kern/tty_subr.c standard
kern/tty_tb.c optional tb
kern/tty_tty.c standard
kern/uipc_domain.c standard
kern/uipc_mbuf.c standard
kern/uipc_proto.c standard
kern/uipc_socket.c standard
kern/uipc_socket2.c standard
kern/uipc_syscalls.c standard
kern/uipc_usrreq.c standard
kern/vfs_bio.c standard
kern/vfs_cache.c standard
kern/vfs_cluster.c standard
kern/vfs_conf.c standard
kern/vfs_default.c standard
kern/vfs_init.c standard
kern/vfs_lookup.c standard
kern/vfs_subr.c standard
kern/vfs_syscalls.c standard
kern/vfs_vnops.c standard
kern/kern_threads.c standard
kern/vfs_aio.c standard
miscfs/deadfs/dead_vnops.c standard
miscfs/devfs/devfs_tree.c optional devfs
miscfs/devfs/devfs_vfsops.c optional devfs
miscfs/devfs/devfs_vnops.c optional devfs
miscfs/fdesc/fdesc_vfsops.c optional fdesc
miscfs/fdesc/fdesc_vnops.c optional fdesc
miscfs/fifofs/fifo_vnops.c standard
miscfs/kernfs/kernfs_vfsops.c optional kernfs
miscfs/kernfs/kernfs_vnops.c optional kernfs
miscfs/nullfs/null_subr.c optional nullfs
miscfs/nullfs/null_vfsops.c optional nullfs
miscfs/nullfs/null_vnops.c optional nullfs
miscfs/portal/portal_vfsops.c optional portal
miscfs/portal/portal_vnops.c optional portal
miscfs/procfs/procfs_ctl.c optional procfs
miscfs/procfs/procfs_fpregs.c standard
miscfs/procfs/procfs_map.c optional procfs
miscfs/procfs/procfs_mem.c standard
miscfs/procfs/procfs_note.c optional procfs
miscfs/procfs/procfs_regs.c standard
miscfs/procfs/procfs_status.c optional procfs
miscfs/procfs/procfs_subr.c optional procfs
miscfs/procfs/procfs_type.c optional procfs
miscfs/procfs/procfs_vfsops.c optional procfs
miscfs/procfs/procfs_vnops.c optional procfs
miscfs/specfs/spec_vnops.c standard
miscfs/umapfs/umap_subr.c optional umapfs
miscfs/umapfs/umap_vfsops.c optional umapfs
miscfs/umapfs/umap_vnops.c optional umapfs
miscfs/union/union_subr.c optional union
miscfs/union/union_vfsops.c optional union
miscfs/union/union_vnops.c optional union
msdosfs/msdosfs_conv.c optional msdosfs
msdosfs/msdosfs_denode.c optional msdosfs
msdosfs/msdosfs_fat.c optional msdosfs
msdosfs/msdosfs_lookup.c optional msdosfs
msdosfs/msdosfs_vfsops.c optional msdosfs
msdosfs/msdosfs_vnops.c optional msdosfs
net/bpf.c optional bpfilter
net/bpf_filter.c optional bpfilter
net/bsd_comp.c optional ppp_bsdcomp
#net/hostcache.c standard
net/if.c standard
net/if_atmsubr.c optional atm
net/if_disc.c optional disc
net/if_ethersubr.c optional ether
net/if_fddisubr.c optional fddi
net/if_loop.c optional loop
net/if_media.c standard
net/if_mib.c standard
net/if_ppp.c optional ppp
net/if_sl.c optional sl
net/if_spppsubr.c optional sppp
net/if_tun.c optional tun
net/if_vlan.c optional vlan
net/ppp_deflate.c optional ppp_deflate
net/ppp_tty.c optional ppp
net/radix.c standard
net/raw_cb.c standard
net/raw_usrreq.c standard
net/route.c standard
net/rtsock.c standard
net/slcompress.c optional ppp
net/slcompress.c optional sl
net/zlib.c optional ppp_deflate
netatalk/aarp.c optional netatalk
netatalk/at_control.c optional netatalk
netatalk/at_proto.c optional netatalk
netatalk/at_rmx.c optional netatalkdebug
netatalk/ddp_input.c optional netatalk
netatalk/ddp_output.c optional netatalk
netatalk/ddp_usrreq.c optional netatalk
netatm/atm_aal5.c optional atm_core
netatm/atm_cm.c optional atm_core
netatm/atm_device.c optional atm_core
netatm/atm_if.c optional atm_core
netatm/atm_proto.c optional atm_core
netatm/atm_signal.c optional atm_core
netatm/atm_socket.c optional atm_core
netatm/atm_subr.c optional atm_core
netatm/atm_usrreq.c optional atm_core
netatm/ipatm/ipatm_event.c optional atm_ip atm_core
netatm/ipatm/ipatm_if.c optional atm_ip atm_core
netatm/ipatm/ipatm_input.c optional atm_ip atm_core
netatm/ipatm/ipatm_load.c optional atm_ip atm_core
netatm/ipatm/ipatm_output.c optional atm_ip atm_core
netatm/ipatm/ipatm_usrreq.c optional atm_ip atm_core
netatm/ipatm/ipatm_vcm.c optional atm_ip atm_core
netatm/sigpvc/sigpvc_if.c optional atm_sigpvc atm_core
netatm/sigpvc/sigpvc_subr.c optional atm_sigpvc atm_core
netatm/spans/spans_arp.c optional atm_spans atm_core \
dependency "spans_xdr.h"
netatm/spans/spans_cls.c optional atm_spans atm_core
netatm/spans/spans_if.c optional atm_spans atm_core
netatm/spans/spans_kxdr.c optional atm_spans atm_core
netatm/spans/spans_msg.c optional atm_spans atm_core
netatm/spans/spans_print.c optional atm_spans atm_core
netatm/spans/spans_proto.c optional atm_spans atm_core
netatm/spans/spans_subr.c optional atm_spans atm_core
netatm/spans/spans_util.c optional atm_spans atm_core
spans_xdr.h optional atm_spans atm_core \
before-depend \
dependency "$S/netatm/spans/spans_xdr.x" \
compile-with "rpcgen -h -C $S/netatm/spans/spans_xdr.x > spans_xdr.h" \
clean "spans_xdr.h" \
no-obj no-implicit-rule
spans_xdr.c optional atm_spans atm_core \
before-depend \
dependency "$S/netatm/spans/spans_xdr.x" \
compile-with "rpcgen -c -C $S/netatm/spans/spans_xdr.x > spans_xdr.c" \
clean "spans_xdr.c" \
no-obj no-implicit-rule local
spans_xdr.o optional atm_spans atm_core \
dependency "$S/netatm/spans/spans_xdr.x" \
compile-with "${NORMAL_C}" \
no-implicit-rule local
netatm/uni/q2110_sigaa.c optional atm_uni atm_core
netatm/uni/q2110_sigcpcs.c optional atm_uni atm_core
netatm/uni/q2110_subr.c optional atm_uni atm_core
netatm/uni/qsaal1_sigaa.c optional atm_uni atm_core
netatm/uni/qsaal1_sigcpcs.c optional atm_uni atm_core
netatm/uni/qsaal1_subr.c optional atm_uni atm_core
netatm/uni/sscf_uni.c optional atm_uni atm_core
netatm/uni/sscf_uni_lower.c optional atm_uni atm_core
netatm/uni/sscf_uni_upper.c optional atm_uni atm_core
netatm/uni/sscop.c optional atm_uni atm_core
netatm/uni/sscop_lower.c optional atm_uni atm_core
netatm/uni/sscop_pdu.c optional atm_uni atm_core
netatm/uni/sscop_sigaa.c optional atm_uni atm_core
netatm/uni/sscop_sigcpcs.c optional atm_uni atm_core
netatm/uni/sscop_subr.c optional atm_uni atm_core
netatm/uni/sscop_timer.c optional atm_uni atm_core
netatm/uni/sscop_upper.c optional atm_uni atm_core
netatm/uni/uni_load.c optional atm_uni atm_core
netatm/uni/uniarp.c optional atm_uni atm_core
netatm/uni/uniarp_cache.c optional atm_uni atm_core
netatm/uni/uniarp_input.c optional atm_uni atm_core
netatm/uni/uniarp_output.c optional atm_uni atm_core
netatm/uni/uniarp_timer.c optional atm_uni atm_core
netatm/uni/uniarp_vcm.c optional atm_uni atm_core
netatm/uni/uniip.c optional atm_uni atm_core
netatm/uni/unisig_decode.c optional atm_uni atm_core
netatm/uni/unisig_encode.c optional atm_uni atm_core
netatm/uni/unisig_if.c optional atm_uni atm_core
netatm/uni/unisig_mbuf.c optional atm_uni atm_core
netatm/uni/unisig_msg.c optional atm_uni atm_core
netatm/uni/unisig_print.c optional atm_uni atm_core
netatm/uni/unisig_proto.c optional atm_uni atm_core
netatm/uni/unisig_sigmgr_state.c optional atm_uni atm_core
netatm/uni/unisig_subr.c optional atm_uni atm_core
netatm/uni/unisig_util.c optional atm_uni atm_core
netatm/uni/unisig_vc_state.c optional atm_uni atm_core
netinet/fil.c optional ipfilter inet
netinet/if_atm.c optional atm
netinet/if_ether.c optional ether
netinet/igmp.c optional inet
netinet/in.c optional inet
#netinet/in_hostcache.c optional inet
netinet/in_pcb.c optional inet
netinet/in_proto.c optional inet
netinet/in_rmx.c optional inet
netinet/ip_auth.c optional ipfilter inet
netinet/ip_divert.c optional ipdivert
netinet/ip_fil.c optional ipfilter inet
netinet/ip_flow.c optional inet
netinet/ip_frag.c optional ipfilter inet
netinet/ip_fw.c optional ipfirewall
netinet/ip_icmp.c optional inet
netinet/ip_input.c optional inet
netinet/ip_log.c optional ipfilter inet
netinet/ip_mroute.c optional inet
netinet/ip_nat.c optional ipfilter inet
netinet/ip_output.c optional inet
netinet/ip_proxy.c optional ipfilter inet
netinet/ip_state.c optional ipfilter inet
netinet/mlf_ipl.c optional ipfilter inet
netinet/raw_ip.c optional inet
netinet/tcp_debug.c optional tcpdebug
netinet/tcp_input.c optional inet
netinet/tcp_output.c optional inet
netinet/tcp_subr.c optional inet
netinet/tcp_timer.c optional inet
netinet/tcp_usrreq.c optional inet
netinet/udp_usrreq.c optional inet
netipx/ipx.c optional ipx
netipx/ipx_cksum.c optional ipx
netipx/ipx_input.c optional ipx
netipx/ipx_ip.c optional ipx
netipx/ipx_outputfl.c optional ipx
netipx/ipx_pcb.c optional ipx
netipx/ipx_proto.c optional ipx
netipx/ipx_tun.c optional ipx
netipx/ipx_usrreq.c optional ipx
netipx/spx_debug.c optional ipx
netipx/spx_usrreq.c optional ipx
netkey/key.c optional key
netkey/key_debug.c optional key_debug
netnatm/natm.c optional natm
netnatm/natm_pcb.c optional natm
netnatm/natm_proto.c optional natm
netns/idp_usrreq.c optional ns
netns/ns.c optional ns
netns/ns_error.c optional ns
netns/ns_input.c optional ns
netns/ns_ip.c optional ns
netns/ns_output.c optional ns
netns/ns_pcb.c optional ns
netns/ns_proto.c optional ns
netns/spp_debug.c optional ns
netns/spp_usrreq.c optional ns
nfs/nfs_bio.c optional nfs
nfs/nfs_node.c optional nfs
nfs/nfs_nqlease.c optional nfs
nfs/nfs_serv.c optional nfs
nfs/nfs_socket.c optional nfs
nfs/nfs_srvcache.c optional nfs
nfs/nfs_subs.c optional nfs
nfs/nfs_syscalls.c optional nfs
nfs/nfs_vfsops.c optional nfs
nfs/nfs_vnops.c optional nfs
nfs/bootp_subr.c optional bootp
nfs/krpc_subr.c optional bootp
pccard/pccard.c optional card
pccard/pccard_beep.c optional card
pccard/pcic.c optional pcic device-driver
pci/pcic_p.c optional pcic device-driver
pci/adv_pci.c optional adv device-driver
pci/adw_pci.c optional adw device-driver
pci/ahc_pci.c optional ahc device-driver \
dependency "aic7xxx_reg.h $S/pci/ahc_pci.c"
pci/brooktree848.c optional bktr device-driver
pci/bt848_i2c.c optional bktr device-driver
pci/bt_pci.c optional bt device-driver
pci/dpt_pci.c optional pci dpt device-driver
pci/cy_pci.c optional cy device-driver
pci/if_de.c optional de device-driver
pci/if_ed_p.c optional ed device-driver
pci/if_en_pci.c optional en device-driver
pci/if_fxp.c optional fxp device-driver
pci/if_lnc_p.c optional lnc device-driver
pci/if_mx.c optional mx device-driver
pci/if_pn.c optional pn device-driver
pci/if_fpa.c optional fpa device-driver
pci/if_rl.c optional rl device-driver
pci/if_sr_p.c optional sr device-driver
pci/if_tl.c optional tl device-driver
pci/if_tx.c optional tx device-driver
pci/if_vr.c optional vr device-driver
pci/if_vx_pci.c optional vx device-driver
pci/if_wb.c optional wb device-driver
pci/if_xl.c optional xl device-driver
pci/isp_pci.c optional isp device-driver
pci/meteor.c optional meteor device-driver
pci/ncr.c optional ncr device-driver
pci/pci.c optional pci device-driver
pci/pci_compat.c optional pci
pci/pcisupport.c optional pci
pci/wdc_p.c optional wdc device-driver
pci/simos.c optional simos device-driver
pci/xrpu.c optional xrpu device-driver
posix4/posix4_mib.c standard
posix4/p1003_1b.c standard
posix4/ksched.c optional _kposix_priority_scheduling
ufs/ffs/ffs_alloc.c optional ffs
ufs/ffs/ffs_alloc.c optional mfs
ufs/ffs/ffs_balloc.c optional ffs
ufs/ffs/ffs_balloc.c optional mfs
ufs/ffs/ffs_inode.c optional ffs
ufs/ffs/ffs_inode.c optional mfs
ufs/ffs/ffs_softdep_stub.c standard
ufs/ffs/ffs_softdep.c optional softupdates
ufs/ffs/ffs_subr.c optional ffs
ufs/ffs/ffs_subr.c optional mfs
ufs/ffs/ffs_tables.c optional ffs
ufs/ffs/ffs_tables.c optional mfs
ufs/ffs/ffs_vfsops.c optional ffs
ufs/ffs/ffs_vfsops.c optional mfs
ufs/ffs/ffs_vnops.c optional ffs
ufs/ffs/ffs_vnops.c optional mfs
ufs/mfs/mfs_vfsops.c optional mfs
ufs/mfs/mfs_vnops.c optional mfs
ufs/ufs/ufs_bmap.c standard
ufs/ufs/ufs_disksubr.c standard
ufs/ufs/ufs_ihash.c standard
ufs/ufs/ufs_inode.c standard
ufs/ufs/ufs_lookup.c standard
ufs/ufs/ufs_quota.c standard
ufs/ufs/ufs_vfsops.c standard
ufs/ufs/ufs_vnops.c standard
vm/default_pager.c standard
vm/device_pager.c standard
vm/swap_pager.c standard
vm/vm_fault.c standard
vm/vm_glue.c standard
vm/vm_init.c standard
vm/vm_kern.c standard
vm/vm_map.c standard
vm/vm_meter.c standard
vm/vm_mmap.c standard
vm/vm_object.c standard
vm/vm_page.c standard
vm/vm_pageout.c standard
vm/vm_pager.c standard
vm/vm_swap.c standard
vm/vm_unix.c standard
vm/vnode_pager.c standard
vm/vm_zone.c standard
#
# USB support
dev/pci/uhci_pci.c optional uhci device-driver
dev/pci/ohci_pci.c optional ohci device-driver
usb_if.o optional usb device-driver \
dependency "usb_if.c" \
compile-with "${NORMAL_C}" \
no-implicit-rule local
usb_if.c optional usb device-driver \
dependency "$S/kern/makedevops.pl $S/dev/usb/usb_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -c $S/dev/usb/usb_if.m" \
no-obj no-implicit-rule before-depend local \
clean "usb_if.c"
usb_if.h optional usb device-driver \
dependency "$S/kern/makedevops.pl $S/dev/usb/usb_if.m" \
compile-with "perl5 $S/kern/makedevops.pl -h $S/dev/usb/usb_if.m" \
no-obj no-implicit-rule before-depend \
clean "usb_if.h"
dev/usb/uhci.c optional uhci device-driver
dev/usb/ohci.c optional ohci device-driver
dev/usb/usb.c optional usb device-driver
dev/usb/usbdi.c optional usb device-driver
dev/usb/usbdi_util.c optional usb device-driver
#dev/usb/usb_mem.c optional usb device-driver
dev/usb/usb_subr.c optional usb device-driver
dev/usb/usb_quirks.c optional usb device-driver
dev/usb/hid.c optional usb device-driver
# ordering in the list of drivers below is important and should
# be the inverse of the wanted one (MAKE_SET)
dev/usb/ugen.c optional ugen device-driver
#dev/usb/uhid.c optional hid device-driver
+dev/usb/umodem.c optional umodem device-driver
+dev/usb/ucom.c optional ucom device-driver
dev/usb/ums.c optional ums device-driver
dev/usb/ulpt.c optional ulpt device-driver
dev/usb/ukbd.c optional ukbd device-driver
dev/usb/uhub.c optional uhub device-driver
diff --git a/sys/dev/usb/ucom.c b/sys/dev/usb/ucom.c
new file mode 100644
index 000000000000..235057706cb9
--- /dev/null
+++ b/sys/dev/usb/ucom.c
@@ -0,0 +1,201 @@
+/* $NetBSD: ucom.c,v 1.1 1998/12/02 22:47:19 augustss Exp $ */
+
+/*
+ * Copyright (c) 1998 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Lennart Augustsson (augustss@carlstedt.se) at
+ * Carlstedt Research & Technology.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include
+
+#include
+#include
+#include
+#include
+#if defined(__NetBSD__)
+#include
+#include
+#elif defined(__FreeBSD__)
+#include
+#include
+#include
+#include
+#endif
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#ifdef USB_DEBUG
+#define DPRINTF(x) if (ucomdebug) printf x
+#define DPRINTFN(n,x) if (ucomdebug>(n)) printf x
+int ucomdebug = 0;
+#else
+#define DPRINTF(x)
+#define DPRINTFN(n,x)
+#endif
+
+struct ucom_softc {
+ bdevice sc_dev; /* base device */
+ usbd_interface_handle sc_iface; /* interface */
+};
+
+#if defined(__NetBSD__)
+int ucom_match __P((struct device *, struct cfdata *, void *));
+void ucom_attach __P((struct device *, struct device *, void *));
+#elif defined(__FreeBSD__)
+static device_probe_t ucom_match;
+static device_attach_t ucom_attach;
+static device_detach_t ucom_detach;
+#endif
+
+void ucom_intr __P((usbd_request_handle, usbd_private_handle, usbd_status));
+void ucom_disco __P((void *));
+
+#if defined(__NetBSD__)
+extern struct cfdriver ucom_cd;
+
+struct cfattach ucom_ca = {
+ sizeof(struct ucom_softc), ucom_match, ucom_attach
+};
+#elif defined(__FreeBSD__)
+static devclass_t ucom_devclass;
+
+static device_method_t ucom_methods[] = {
+ DEVMETHOD(device_probe, ucom_match),
+ DEVMETHOD(device_attach, ucom_attach),
+ DEVMETHOD(device_detach, ucom_detach),
+ {0,0}
+};
+
+static driver_t ucom_driver = {
+ "ucom",
+ ucom_methods,
+ DRIVER_TYPE_MISC,
+ sizeof(struct ucom_softc)
+};
+#endif
+
+
+#if defined(__NetBSD__)
+int
+ucom_match(parent, match, aux)
+ struct device *parent;
+ struct cfdata *match;
+ void *aux;
+{
+ struct usb_attach_arg *uaa = aux;
+#elif defined(__FreeBSD__)
+static int
+ucom_match(device_t device)
+{
+ struct usb_attach_arg *uaa = device_get_ivars(device);
+#endif
+ usb_interface_descriptor_t *id;
+
+ if (!uaa->iface)
+ return (UMATCH_NONE);
+ id = usbd_get_interface_descriptor(uaa->iface);
+ if (id->bInterfaceClass != UCLASS_CDC ||
+ id->bInterfaceSubClass != USUBCLASS_MODEM)
+ return (UMATCH_NONE);
+ return (UMATCH_IFACECLASS_IFACESUBCLASS);
+}
+
+#if defined(__NetBSD__)
+void
+ucom_attach(parent, self, aux)
+ struct device *parent;
+ struct device *self;
+ void *aux;
+{
+ struct ucom_softc *sc = (struct ucom_softc *)self;
+ struct usb_attach_arg *uaa = aux;
+#elif defined(__FreeBSD__)
+static int
+ucom_attach(device_t self)
+{
+ struct ucom_softc *sc = device_get_softc(self);
+ struct usb_attach_arg *uaa = device_get_ivars(self);
+#endif
+ usbd_interface_handle iface = uaa->iface;
+ usb_interface_descriptor_t *id;
+ char devinfo[1024];
+
+ sc->sc_iface = iface;
+ id = usbd_get_interface_descriptor(iface);
+ usbd_devinfo(uaa->device, 0, devinfo);
+#if defined(__FreeBSD__)
+ usb_device_set_desc(self, devinfo);
+ printf("%s%d", device_get_name(self), device_get_unit(self));
+#endif
+
+ printf(": %s, iclass %d/%d\n", devinfo, id->bInterfaceClass, id->bInterfaceSubClass);
+
+ ATTACH_SUCCESS_RETURN;
+}
+
+#if defined(__FreeBSD__)
+static int
+ucom_detach(device_t self)
+{
+ struct ucom_softc *sc = device_get_softc(self);
+ char *devinfo = (char *) device_get_desc(self);
+
+ if (devinfo) {
+ device_set_desc(self, NULL);
+ free(devinfo, M_USB);
+ }
+
+ return 0;
+}
+#endif
+
+#if defined(__FreeBSD__)
+DRIVER_MODULE(ucom, usb, ucom_driver, ucom_devclass, usb_driver_load, 0);
+#endif
+
diff --git a/sys/dev/usb/umodem.c b/sys/dev/usb/umodem.c
new file mode 100644
index 000000000000..07cf6d418ead
--- /dev/null
+++ b/sys/dev/usb/umodem.c
@@ -0,0 +1,202 @@
+/* $NetBSD: umodem.c,v 1.1 1998/12/03 19:58:09 augustss Exp $ */
+
+/*
+ * Copyright (c) 1998 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Lennart Augustsson (augustss@carlstedt.se) at
+ * Carlstedt Research & Technology.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include
+
+#include
+#include
+#include
+#include
+#if defined(__NetBSD__)
+#include
+#include
+#elif defined(__FreeBSD__)
+#include
+#include
+#include
+#include
+#endif
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#ifdef USB_DEBUG
+#define DPRINTF(x) if (umodemdebug) printf x
+#define DPRINTFN(n,x) if (umodemdebug>(n)) printf x
+int umodemdebug = 0;
+#else
+#define DPRINTF(x)
+#define DPRINTFN(n,x)
+#endif
+
+struct umodem_softc {
+ bdevice sc_dev; /* base device */
+ usbd_interface_handle sc_iface; /* interface */
+};
+
+#if defined(__NetBSD__)
+int umodem_match __P((struct device *, struct cfdata *, void *));
+void umodem_attach __P((struct device *, struct device *, void *));
+#elif defined(__FreeBSD__)
+static device_probe_t umodem_match;
+static device_attach_t umodem_attach;
+static device_detach_t umodem_detach;
+#endif
+
+void umodem_intr __P((usbd_request_handle, usbd_private_handle, usbd_status));
+void umodem_disco __P((void *));
+
+#if defined(__NetBSD__)
+extern struct cfdriver umodem_cd;
+
+struct cfattach umodem_ca = {
+ sizeof(struct umodem_softc), umodem_match, umodem_attach
+};
+#elif defined(__FreeBSD__)
+static devclass_t umodem_devclass;
+
+static device_method_t umodem_methods[] = {
+ DEVMETHOD(device_probe, umodem_match),
+ DEVMETHOD(device_attach, umodem_attach),
+ DEVMETHOD(device_detach, umodem_detach),
+ {0,0}
+};
+
+static driver_t umodem_driver = {
+ "umodem",
+ umodem_methods,
+ DRIVER_TYPE_MISC,
+ sizeof(struct umodem_softc)
+};
+#endif
+
+#if defined(__NetBSD__)
+int
+umodem_match(parent, match, aux)
+ struct device *parent;
+ struct cfdata *match;
+ void *aux;
+{
+ struct usb_attach_arg *uaa = aux;
+#elif defined(__FreeBSD__)
+static int
+umodem_match(device_t device)
+{
+ struct usb_attach_arg *uaa = device_get_ivars(device);
+#endif
+
+ usb_interface_descriptor_t *id;
+
+ if (!uaa->iface)
+ return (UMATCH_NONE);
+ id = usbd_get_interface_descriptor(uaa->iface);
+ if (id->bInterfaceClass != UCLASS_CDC ||
+ id->bInterfaceSubClass != USUBCLASS_MODEM)
+ return (UMATCH_NONE);
+ return (UMATCH_IFACECLASS_IFACESUBCLASS);
+}
+
+#if defined(__NetBSD__)
+void
+umodem_attach(parent, self, aux)
+ struct device *parent;
+ struct device *self;
+ void *aux;
+{
+ struct umodem_softc *sc = (struct umodem_softc *)self;
+ struct usb_attach_arg *uaa = aux;
+#elif defined(__FreeBSD__)
+static int
+umodem_attach(device_t self)
+{
+ struct umodem_softc *sc = device_get_softc(self);
+ struct usb_attach_arg *uaa = device_get_ivars(self);
+#endif
+
+ usbd_interface_handle iface = uaa->iface;
+ usb_interface_descriptor_t *id;
+ char devinfo[1024];
+
+ sc->sc_iface = iface;
+ id = usbd_get_interface_descriptor(iface);
+ usbd_devinfo(uaa->device, 0, devinfo);
+#if defined(__FreeBSD__)
+ usb_device_set_desc(self, devinfo);
+ printf("%s%d", device_get_name(self), device_get_unit(self));
+#endif
+
+ printf(": %s, iclass %d/%d\n", devinfo, id->bInterfaceClass, id->bInterfaceSubClass);
+
+ ATTACH_SUCCESS_RETURN;
+}
+
+#if defined(__FreeBSD__)
+static int
+umodem_detach(device_t self)
+{
+ struct umodem_softc *sc = device_get_softc(self);
+ char *devinfo = (char *) device_get_desc(self);
+
+ if (devinfo) {
+ device_set_desc(self, NULL);
+ free(devinfo, M_USB);
+ }
+
+ return 0;
+}
+#endif
+
+#if defined(__FreeBSD__)
+DRIVER_MODULE(umodem, usb, umodem_driver, umodem_devclass, usb_driver_load, 0);
+#endif
+
diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC
index 3f52d5981268..305e1b63b1ca 100644
--- a/sys/i386/conf/GENERIC
+++ b/sys/i386/conf/GENERIC
@@ -1,205 +1,208 @@
#
# 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.133 1998/12/04 18:01:23 wpaul Exp $
+# $Id: GENERIC,v 1.134 1998/12/09 23:28:43 n_hibma Exp $
machine "i386"
cpu "I386_CPU"
cpu "I486_CPU"
cpu "I586_CPU"
cpu "I686_CPU"
ident GENERIC
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 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
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
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1
controller wdc1 at isa? port "IO_WD2" bio irq 15
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) is
# sufficient for any number of installed devices.
controller ncr0
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
#controller aic0 at isa? port 0x340 bio irq 11
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
device mcd0 at isa? port 0x300 bio irq 10
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
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device vt0 at isa? port IO_KBD conflicts tty irq 1
#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
#
# Laptop support (see LINT for more options)
#
device apm0 at isa? disable flags 0x31 # Advanced Power Management
# PCCARD (PCMCIA) support
#controller card0
#device pcic0 at card?
#device pcic1 at card?
device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4
device sio1 at isa? port "IO_COM2" tty irq 3
device sio2 at isa? disable port "IO_COM3" tty irq 5
device sio3 at isa? disable port "IO_COM4" tty irq 9
device lpt0 at isa? port? tty irq 7
device psm0 at isa? port IO_KBD conflicts tty irq 12
# 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 mx0
device pn0
device rl0
device tl0
device tx0
device vr0
device vx0
device wb0
device xl0
device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000
device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000
device ep0 at isa? port 0x300 net irq 10
device ex0 at isa? port? net irq?
device fe0 at isa? port 0x300 net irq ?
device le0 at isa? port 0x300 net irq 5 iomem 0xd0000
device lnc0 at isa? port 0x280 net irq 10 drq 0
device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000
device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000
device cs0 at isa? port 0x300 net irq ?
pseudo-device loop
pseudo-device ether
pseudo-device sl 1
pseudo-device ppp 1
pseudo-device tun 1
pseudo-device pty 16
pseudo-device gzip # Exec gzipped a.out's
# 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
# 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 4 #Berkeley packet filter
# USB support
#controller uhci0
#controller ohci0
#controller usb0
#
# for the moment we have to specify the priorities of the device
# drivers explicitly by the ordering in the list below. This will
# be changed in the future.
#
#device ums0
#device ukbd0
#device ulpt0
#device uhub0
+#device ucom0
+#device umodem0
#device hid0
#device ugen0
+
#
#options USB_DEBUG
#options USBVERBOSE