Commit Graph

2370 Commits

Author SHA1 Message Date
Brian Somers
57b102722a Fix ``make installkernel'' 2000-06-16 08:01:17 +00:00
David E. O'Brien
d78c2e654b Only copy /modules to /modules.old if /modules exists and is populated.
Submitted by:	John DeBoskey <jwd@FreeBSD.org>
2000-06-15 15:57:33 +00:00
Warner Losh
03c16f958a This file lies by saying 200-255 are reserved for local use, thus
implying that they aren't used for the rest of the system.

Fix the lies:
	253 is used by mfs (bad MFS for not registering it).
	254 is a magic cookie inside of the dev code in at least one place.
	255 is -1 which is magic in a different way in the dev code.
So, that means that 200-252 are reserved for local users.  A grep for
252 didn't turn anything up, so I'm assuming it and lower are safe.

And I thought I was being smart by allocating our local major numbers
from 254 on down.  This caused very very odd problems that were hard
to track down: close not being called, sync failing at reboot, etc.
2000-06-14 23:34:22 +00:00
Peter Wemm
42b0434934 s/iomem/maddr/
s/iosiz/msize/
2000-06-14 10:04:06 +00:00
KATO Takenori
bf7c3a8311 Catch up with Peter's config(8) changes. 2000-06-14 09:20:43 +00:00
Paul Saab
26b6ea69c3 Add option ALT_BREAK_TO_DEBUGGER.
Implement the Solaris way to break into DDB over a serial console
instead of sending a break.  Sending the character sequence
CR ~ ^b will break the kernel into DDB (if DDB is enabled).

Reviewed by:	peter
2000-06-14 06:41:33 +00:00
Peter Wemm
f71c01cc52 Borrow phk's axe and apply the next stage of config(8)'s evolution.
Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.

config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel.  You can reconfigure your
isa devices with the likes of this at loader(8) time:
  set hint.ed.0.port=0x320

userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.

It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8).  See the "hints" directive in GENERIC
as an example.

All device wiring has been moved out of config(8).  There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file.  If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you.  You can also compile in the
hints directly with:  hints "device.hints"  as well.

There are a few things that I'm not too happy with yet.  Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it.  However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built.  A stack of man4 pages will need updating. :-/

Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated.  eg:  'device fe 4' will compile the fe driver with NFE set
to 4.  You can then set hints for 4 units (0 - 3).  Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this.  This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.

Please exercise EXTREME CAUTION when transitioning!

Moral support by: phk, msmith, dfr, asmodai, imp, and others
2000-06-13 22:28:50 +00:00
KATO Takenori
b1cbb3c881 Merged from sys/conf/options.i386 rev 1.137. 2000-06-13 13:08:30 +00:00
KATO Takenori
65cbb03cfe Added new options CPU_PPRO2CELERON and CPU_L2_LATENCY to support
Socket 8 to 370 converters.  When (1) CPU_PPRO2CELERON option is
defined, (2) Intel CPU is found and (3) CPU ID is 0x66?, L2 cache is
enabled through MSR 0x11e.  The L2 cache latency value can be
specified by CPU_L2_LATENCY option.  Default value of L2 cache latency
is 5.

These options are useful if you use Socket 8 to Socket 370 converter
(e.g. Power Leap's PL-Pro/II.)  Most PentiumPro BIOSs don't enable L2
cache of Mendocino Celeron CPUs because they don't know Celeron CPUs.
These options are needles if you use a Coppermine (FCPGA) Celeron or
PentiumIII, becuase the L2 cache enable bit is hard wired and L2 cache
is always enabled.
2000-06-13 09:10:37 +00:00
Peter Wemm
696a396245 The buslogic driver doesn't have static unit limits (ie: no bt.h or
arbitary NBT limits)
2000-06-12 20:53:39 +00:00
Peter Wemm
d2c48a2708 Use objcopy to strip the gcc2_compiled. symbol from kernels.
ld(1) doesn't seem to have the ability to delete an arbitary symbol.
2000-06-12 20:22:07 +00:00
Seigo Tanimura
1f82d2d70d 1. Update Comtrol RocketPort driver(rp) to version 3.02.
2. Newbusify the driver.
3. Build as a module.

4. Use correct minor numbers when creating device files.
5. Correctly lock control characters.
6. Return ENXIO when device not configured.
Submitted by:	Tor Egge	<Tor.Egge@fast.no>

7. Fix the baud_table.
Submitted by:	Elliot Dierksen	<ebd@oau.org>

Note:
- the old driver still lives in src/sys/i386/isa, so that you can
  revert to it if something goes wrong.
- The module does not detach very well. Attaching works fine.
2000-06-11 06:43:16 +00:00
Peter Wemm
3f664fc689 A checkpoint of a part of a work-in-progress. Some more cleanups for
config(8).  This commit allows control of the creation of the
#include "foo.h" files.  We now only create them explicitly when needed.
BTW; these are mostly bad because they usually imply static limits on
numbers of units for devices.  eg: struct mysoftc sc[NFOO];
These static limits have Got To Go.
2000-06-10 22:13:40 +00:00
Peter Wemm
7611ef15cf Add ISP_COMPILE_12160_FW and ISP_COMPILE_12160_FW options to opt_isp.h 2000-06-10 02:09:50 +00:00
Peter Wemm
0d74cc4841 Add option BROKEN_KEYBOARD_RESET to an opt_*.h file 2000-06-10 02:05:57 +00:00
John Baldwin
8a28ce0e42 Document flags 0x100 in syscons.4, and document syscons' flags in LINT.
Reviewed by:	yokota, obrien
2000-06-09 23:47:30 +00:00
Doug Rabson
6d08679b14 Add files for agp driver. 2000-06-09 16:05:39 +00:00
Doug Rabson
5eacd0690f Claim major 148 for agp. 2000-06-09 15:48:01 +00:00
Alexander Langer
855e2f196c Since many people use LINT as "supported hardware" list, add
all supported cards to the description of the ep-driver.

Reviewed by:	asmodai
2000-06-09 13:09:50 +00:00
Robert Watson
a996141f6e Introduce additional POSIX.1e-related stubs
o options CAPABILITIES
o kern/kern_cap.c -- syscall stubs returning ENOSYS

syscalls.master changes to follow

Obtained from:	TrustedBSD Project
2000-06-07 04:53:49 +00:00
Cameron Grant
24cd998f34 enable ds1 driver 2000-06-06 23:34:19 +00:00
Joerg Wunsch
aaf8e08205 Mention that i4bisppp requires sppp; too many people use LINT as a
configuration guide and then miss this one.
2000-06-06 10:31:19 +00:00
KATO Takenori
7dca57550f Merged from sys/conf/Makefile.i386 revision 1.187. 2000-06-06 08:18:31 +00:00
Bruce Evans
f47f0edde4 Use "nm | awk ..." instead of genassym(1) to generate symbol value headers.
Symbol values are now represented using array sizes (4 arrays per symbol
so that 16-bit machines can represent 64-bit values) instead of being raw
binary values.

Reviewed by:	marcel
2000-06-02 09:27:48 +00:00
Mike Smith
11ca1e30c7 Bump the default NBUS value to 8. 2000-05-31 19:01:45 +00:00
Yoshihiro Takahashi
51f48c44d1 Fixed most disordering. 2000-05-31 10:48:36 +00:00
Cameron Grant
bd68ce8be9 yamaha ds1/ds1e pci sound driver - work in progress, mixer and playback only.
tested on ymf724f only.

conf/files entry is commented out, enable it manually to test this code and
let me know results.
2000-05-31 03:21:36 +00:00
Brian Feldman
c0c5a953c0 Change sl(4) configuration lines to reflect its new dynamic nature. 2000-05-30 23:01:37 +00:00
Peter Wemm
30d1c11e3a Encapsulate the old PCI compatability support and APIs completely under
"options COMPAT_OLDPCI".  This option already existed, but now also tidies
up the declarations in #include <pci/pci*.h>.  It is amazing how much stuff
was using the old pre-FreeBSD 3.x names and going silently undetected.
2000-05-28 16:35:57 +00:00
Doug Rabson
ca2e05343b Add taskqueue system for easy-to-use SWIs among other things.
Reviewed by: arch
2000-05-28 15:45:30 +00:00
Peter Wemm
23dff9e066 The dreaded isa_compat.h tables are no longer used, so there is no need
for a seperate pc98 version of this stuff.  Applying the same changes
from the i386 version yields identical files so remove these and use the
common ones.
2000-05-28 13:32:49 +00:00
Andrew Gallatin
6ab09a6376 Add AlphaServer 2000 (demi-sable), 2100 (sable), and 2100A (lynx) support.
Only PCI and on-board ISA peripherials are supported at this time.

This support has been only lightly tested due to a lack of response to my
call for testers on the freebsd-alpha mailing list.  It works quite well
on the one AS2100 on which it has been tested, but it may not work on
an AS2100A and should therefore be regarded as experimental.
2000-05-28 02:52:54 +00:00
David E. O'Brien
fe449a53f3 MFA: Add {kernel,module}-{depend,clean,cleandepend,tags,install,reinstall}
targets.  The {depend,clean,cleandepend,tags,install,reinstall} targets
are composits of the {kernel,module}-* targets (based on NO_MODULES).
2000-05-27 21:50:15 +00:00
Mike Smith
1bd2fef771 Take 146 and 147 for the twe driver. 2000-05-24 23:19:15 +00:00
Dan Moschuk
4f14ee00f2 sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT.
Suggested by: des/nbm
2000-05-22 16:12:28 +00:00
Dan Moschuk
fcdc02160f Add option ICMP_BANDLIM_SUPPRESS_OUTPUT to the mix. With this option,
badport_bandlim() will not muck up your console with printf() messages.
2000-05-22 15:00:41 +00:00
Peter Wemm
24488c7498 Provide a temporary undocumented option: SHM_PHYS_BACKED. This will
become sysctl and/or flags controlled later.  It's mainly here for an
easy place to test the physical memory backed objects.
2000-05-21 13:52:13 +00:00
Peter Wemm
249645144d Checkpoint of a new physical memory backed object type, that does not
have pv_entries.  This is intended for very special circumstances,
eg: a certain database that has a 1GB shm segment mapped into 300
processes.  That would consume 2GB of kvm just to hold the pv_entries
alone.  This would not be used on systems unless the physical ram was
available, as it's not pageable.

This is a work-in-progress, but is a useful and functional checkpoint.
Matt has got some more fixes for it that will be committed soon.

Reviewed by:	dillon
2000-05-21 13:41:29 +00:00
Mike Smith
8b140d57f8 Correct the syntax of ROOTDEVNAME and describe it somewhat better. 2000-05-19 20:46:28 +00:00
Yoshihiro Takahashi
67d17d7279 Fixed to support PC-98. 2000-05-19 16:31:45 +00:00
Darren Reed
276dd9374f add IPFILTER_DEFAULT_BLOCK and put it in opt_ipfilter.h 2000-05-16 08:58:39 +00:00
Paul Richards
9b55e84fec Re-organise lnc driver in preparation for newbusifying it. 2000-05-16 02:08:04 +00:00
Paul Richards
5baeead2f1 Fix location of lnc pci code. 2000-05-14 19:10:46 +00:00
Paul Richards
ca9f504536 Build lnc driver from /sys/dev from now on. 2000-05-14 18:24:41 +00:00
Doug Rabson
5c885c3f83 Port ppc driver to alpha.
Submitted by: Andrew M. Miklic <miklic@ibm.net>
2000-05-14 13:47:57 +00:00
Peter Wemm
8594105eba Unbreak 'make reinstall' after last commit 2000-05-13 07:39:46 +00:00
David E. O'Brien
7dfe885ec1 Add {kernel,module}-{depend,clean,cleandepend,tags,install,reinstall}
targets.  The {depend,clean,cleandepend,tags,install,reinstall} targets
are composits of the {kernel,module}-* targets (based on NO_MODULES).
2000-05-13 03:15:37 +00:00
David E. O'Brien
77de1b4ff3 Fix modules: target.
Submitted by:	jhb

1. ${.CURDIR}/modules was a confusing way to spell ${.OBJDIR}/modules
2. ${.CURDIR}/../../modules is a verbose, wrong path to the module sources.
   The correct path is $S/modules, since ${.CURDIR} for the kernel may be
   in the obj tree but the sources are in the src tree.
3. The `obj' and `all' steps may be combined, as can `obj' and `depend'.
Submitted by:	bde

Backup ${DESTDIR}/modules to ${DESTDIR}/modules.old to match the same action
done to the kernel.
2000-05-10 17:24:08 +00:00
Yoshihiro Takahashi
a5b52892d8 Sync with sys/conf/Makefile.i386 revision 1.184, 1.185 and 1.186. 2000-05-10 13:57:22 +00:00
Darren Reed
40f251bc6d bring in net/pfil.c for pfil_hooks or ipfilter 2000-05-10 13:43:49 +00:00
Darren Reed
0656ae020e options PFIL_HOOKS -> opt_pfil_hooks.h 2000-05-10 13:43:27 +00:00
John Baldwin
f548daf09f Move UKBD_DFLT_KEYMAP into the options file since USB is machine
independent.  This allows the ukbd0 driver to compile on the Alpha.

Approved by:	o`brien (in principle)
2000-05-09 18:23:38 +00:00
Nick Hibma
8760f39d55 Create a separate target for the 'modules'. Without this the modules
are only rebuilt if the kernel has changed as well.

While there make 'all' and 'modules' a PHONY target.
2000-05-09 10:39:38 +00:00
Doug Rabson
80b173e496 Reserve 145 for DRI graphics system. 2000-05-07 13:31:41 +00:00
Matt Jacob
35be082bb7 add in the few bits necessary to support Alpha 4100 (Rawhide) systems 2000-05-07 04:58:32 +00:00
Jeroen Ruigrok van der Werven
fe43d8e2e0 cdrom.com will be ftpsoftware.com in future, reflect this.
Submitted by:	Alexander Langer <alex@big.endian.de> on IRC
2000-05-06 14:26:13 +00:00
David E. O'Brien
df07109126 Build modules in a subdir of the kernel build dir. Add a `cleandir'
target for those whose fingers try to use that to clean out the modules
build dir.
2000-05-05 06:00:08 +00:00
David E. O'Brien
6a5e9a6adb Set MAKEOBJDIRPREFIX to modules/ in the current directory and build modules
there.
2000-05-04 21:12:28 +00:00
Chuck Robey
10ae1068e5 Cause modules to build with the kernel build. Modules are removed
from the sys Makefile's SUBDIRs.  This is conditioned in make.conf by the
NO_MODULES variable and the existence of the modules directory.  The
actual location of the modules is not modified.  Changes in Makefiles
only, this does not affect Peter's recent changes.

Reviewed by:	Peter Wemm, who warned me I would get some flack, and
		he had the good idea for the NO_MODULES variable.
2000-05-02 02:26:04 +00:00
Nick Hibma
b5ea1f0c77 The USB double bulk pipe driver (Host to host cables). Currently there
are two supported chips, the NetChip 1080 (only prototypes available)
and the EzLink cable. Any other cable should be supported however as they
are all very much alike (there is a difference between them wrt
performance).

It uses Netgraph.

This driver was mostly written by Doug Ambrisko and Julian Elischer and
I would like to thank Whistle for yet another contribution. And my
aplogies to them for me sitting on the driver for so long (2 months).

Also, many thanks to Reid Augustin from NetChip for providing me with a
prototype of their 1080 chip.

Be aware of the fact that this driver is very immature and has only been
tested very lightly. If someone feels like learning about Netgraph however
this is an excellent driver to start playing with.
2000-05-01 22:48:23 +00:00
Peter Wemm
09be11ba99 Remove KMODDEPS support. All our existing dependencies are specified
via the MODULE_VERSION() and MODULE_DEPEND() macros that both the loader
and kld system know how to deal with.  The old DT_NEEDED tag is still
supported by the loader (and will remain supported for a while) - but the
kernel side presently doesn't know how to deal with DT_NEEDED.
2000-05-01 18:06:49 +00:00
Peter Wemm
ab063af911 Move the MSG* and SEM* options to opt_sysvipc.h
Remove evil allocation macros from machdep.c (why was that there???) and
use malloc() instead.
Move paramters out of param.h and into the code itself.
Move a bunch of internal definitions from public sys/*.h headers (without
#ifdef _KERNEL even) into the code itself.

I had hoped to make some of this more dynamic, but the cost of doing
wakeups on all sleeping processes on old arrays was too frightening.
The other possibility is to initialize on the first use, and allow
dynamic sysctl changes to parameters right until that point. That would
allow /etc/rc.sysctl to change SEM* and MSG* defaults as we presently
do with SHM*, but without the nightmare of changing a running system.
2000-05-01 13:33:56 +00:00
Matthew N. Dodd
68c68f014d Split out the ISA bus front end code into its own file. PCCARD attachment
coming later this week.  Mitsuru IWASAKI provided a patch to -mobile which
I used to make sure I was doing the right thing but only a small part of
the actual patch was used.
2000-05-01 09:05:19 +00:00
Boris Popov
0bcd84403f Reserve major device number for nsmb (SMB/CIFS protocol) device. 2000-05-01 00:49:19 +00:00
Yoshihiro Takahashi
0b09ce0c5b - Added UKBD_DFLT_KEYMAP option.
Pointed out:	Tomokazu HARADA <tkhara@osk4.3web.ne.jp>

- Fixed disordering.
2000-04-30 09:12:48 +00:00
Peter Wemm
02d06d3007 LOAD_ADDRESS is not used here. See conf/ldscript.* for the link base
address.
2000-04-29 06:29:39 +00:00
Doug Rabson
20b11a6003 Reserve register t7 on alpha to point at per-cpu global variables. 2000-04-28 08:44:42 +00:00
Poul-Henning Kamp
599fcb028d Driver for DEC "Tulip" based WAN cards from LanMedia Corporation.
This driver should support both the SSI (V.35 etc) E1/T1 unchannelized,
DS3 and HSSI cards.  Only tested on the SSI card.

More info at: http://www.lanmedia.com

Thanks to LanMedia for donating two LMC1000P cards.

if_de.c driver modified by:     LanMedia
NetGraphification by:   	Stephen Kiernan <sk-ports@vegamuse.org>
2000-04-26 20:16:56 +00:00
David E. O'Brien
0c8aac01b6 Add linker_if.m to the mix. 2000-04-24 23:08:23 +00:00
David E. O'Brien
a4cf58bd99 Use kern/kern_random.c. 2000-04-24 21:53:54 +00:00
David E. O'Brien
b0e56cde37 * Use sys/sys/random.h rather than a i386 specific one.
* There was nothing that should be machine dependant about
  i386/isa/random_machdep.c, so it is now sys/kern/kern_random.c.
2000-04-24 17:30:08 +00:00
Mike Pritchard
b453864c6a Fix the grammar in my previous commit "lose" -> "loss".
I should have done it that way in the first place.

Pointed-out-by:  bde
2000-04-24 08:50:15 +00:00
Mike Pritchard
a9914af5ff Fix a typo in the comments.
Submitted by:	Allen Campbell <allenc@verinet.com>
2000-04-23 16:32:21 +00:00
Yoshihiro Takahashi
40190bd20e Sync with sys/conf/options.i386 revision 1.135. 2000-04-23 09:10:24 +00:00
Bill Paul
bd80fa2c7f Reoganize/update the SysKonnect driver:
- Break out the support for the XMAC II's PHY into an miibus driver.

- Reorganize the probe/attach stuff using newbus. Each XMAC is now
  attached to the parent GEnesis controller using newbus. This is
  necessary since each XMAC must also have an attached miibus, and
  the miibus read/write register routines need to be able to get
  at the softc struct for each XMAC, not the one for the parent
  controller. This allows me to get rid of the grotty code I added
  for selecting the unit numbers for the ifnet interfaces: the unit
  numbers are now derived from the newbus-assigned unit numbers,
  which should track with the ifnet interface numbers. I think.
  At the very least, there should never be any collisions.

- Add support for the SK-9821 and SK-9822 1000baseTX adapters. Special
  thanks to SysKonnect for loaning me two adapters for testing.
2000-04-22 02:16:41 +00:00
Warner Losh
7eaef3ae4b card_if.m used by oldcard now too 2000-04-20 07:55:56 +00:00
Warner Losh
a6fc5fff54 Add kern_event.c 2000-04-17 03:06:27 +00:00
Warner Losh
346ac3302e Forgot to commit this to add card_if.m.
Pointed out by: iwasaki-san.
2000-04-17 02:54:05 +00:00
Mike Smith
300451c472 Some more i386-only BIOS-friendliness:
- Add support for using the PCI BIOS functions for configuration space
   accesses, and make this the default.

 - Make PNPBIOS the default (obsoletes the PNPBIOS config option).

 - Add two new boot-time tunables to disable each of the above.
2000-04-16 20:48:33 +00:00
Poul-Henning Kamp
f7cdd63331 Add the scsi-target driver to LINT. 2000-04-16 06:50:03 +00:00
Robert Watson
a64ed08955 Introduce extended attribute support for FFS, allowing arbitrary
(name, value) pairs to be associated with inodes.  This support is
used for ACLs, MAC labels, and Capabilities in the TrustedBSD
security extensions, which are currently under development.

In this implementation, attributes are backed to data vnodes in the
style of the quota support in FFS.  Support for FFS extended
attributes may be enabled using the FFS_EXTATTR kernel option
(disabled by default).  Userland utilities and man pages will be
committed in the next batch.  VFS interfaces and man pages have
been in the repo since 4.0-RELEASE and are unchanged.

o ufs/ufs/extattr.h: UFS-specific extattr defines
o ufs/ufs/ufs_extattr.c: bulk of support routines
o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes
o contrib/softupdates/ffs_softdep.c: extattr.h includes
o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR

o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h
(This should not be the case, and will be fixed in a future commit)

Currently attributes are not supported in MFS.  This will be fixed.

Reviewed by:	adrian, bp, freebsd-fs, other unthanked souls
Obtained from:	TrustedBSD Project
2000-04-15 03:34:27 +00:00
KATO Takenori
49a8300403 Merged from sys/conf/Makefile.i386 rev 1.182. 2000-04-12 11:19:56 +00:00
Jeroen Ruigrok van der Werven
9d45f43586 The ASUSCOM_IPAC isn't broken according to submitter.
PR:		17840
Submitted by:	Ari Suutari <ari@suutari.iki.fi>
2000-04-10 18:33:23 +00:00
Archie Cobbs
a2b408ad06 Add new options NETGRAPH_MPPC_COMPRESSION and NETGRAPH_MPPC_ENCRYPTION.
(Note: NETGRAPH_MPPC_COMPRESSION is disabled until we find a non-proprietary
implementation of the MPPC compression algorithm.)
2000-04-09 21:15:23 +00:00
Warner Losh
9a8631b340 Add support for compiling kernel modules outside of the tree. If you
do not have the kernel you wish to compile against in either
/usr/src/sys or /sys, then you will need to set SYSDIR to point to the
sys directory of the source tree that contians the source.

Also, minor tweaks to the load/unload targets from Bruce.

I've had this through several make worlds, as well as using it on a
daily basis for the past couple of weeks to build modules needed for
testing at Timing Solutions.

Reviewed and revised by: bde
Work sponsored by: Timing Solutions
2000-04-08 17:20:00 +00:00
Doug Rabson
c0de587901 Use makeobjops.pl instead of makedevops.pl. 2000-04-08 15:31:28 +00:00
Doug Rabson
f7b7769172 * Factor out the object system from new-bus so that it can be used by
non-device code.
* Re-implement the method dispatch to improve efficiency. The new system
  takes about 40ns for a method dispatch on a 300Mhz PII which is only
  10ns slower than a direct function call on the same hardware.

This changes the new-bus ABI slightly so make sure you re-compile any
driver modules which you use.
2000-04-08 14:17:18 +00:00
Brian Somers
b44dfc0d29 Don't use ``grep | sed'' in the example for INCLUDE_CONFIG_FILE
when sed can do both.
2000-04-08 00:02:53 +00:00
Yoshihiro Takahashi
4b00895121 Newbusify adv driver.
Reviewed by:	imp
2000-04-07 11:32:42 +00:00
Warner Losh
0d5c223da4 Awi driver, ported from NetBSD from Atsushi Once-san.
From the README:
	Any IEEE 802.11 cards use AMD Am79C930 and Harris (Intersil) Chipset
	with PCnetMobile firmware by AMD.
	   BayStack 650   1Mbps Frequency Hopping PCCARD adapter
	   BayStack 660   2Mbps Direct Sequence PCCARD adapter
	   Icom SL-200    2Mbps Direct Sequence PCCARD adapter
	   Melco WLI-PCM  2Mbps Direct Sequence PCCARD adapter
	   NEL SSMagic    2Mbps Direct Sequence PCCARD adapter
	   Netwave AirSurfer Plus
			  1Mbps Frequency Hopping PCCARD adapter
	   Netwave AirSurfer Pro
			  2Mbps Direct Sequence PCCARD adapter

Known Problems:
	WEP is not supported.
	Does not create IBSS itself.
	Cannot configure the following on FreeBSD:
		selection of infrastructure/adhoc mode
		ESSID
		...

Submitted by: Atsushi Onoe <onoe@sm.sony.co.jp>
2000-04-06 02:48:48 +00:00
KATO Takenori
e4197aa9d6 Synced with sys/conf/Makefile.i386 revision 1.181. 2000-04-05 12:54:13 +00:00
Doug Rabson
d7a599a66f Make it possible to include a device interface description by a single
line in files or files.${arch} instead of 13 lines of code.

This is a small chance that this will break the alpha kernel build - I'll
fix it this evening if it does.
2000-04-05 10:33:55 +00:00
Doug Rabson
7fecffec3d Allow the calling Makefile to specify a list of device interfaces instead
of relying on the default list provided here.
2000-04-05 10:13:05 +00:00
Cameron Grant
fe9aab21ea enable emu10k1 (sblive) driver, though still playback only 2000-04-04 02:34:45 +00:00
Brian Feldman
f0cf8dfe0e One in a while, something happens so uncannily that you get knocked off
your feet.  The conversion of the "snp" device to a dynamically growing
device driver was done just a few days ago by Brooks Davis!  Shame on
me for not finding that PR :(

This is a forced commit of tty_snoop.c to give the submitter proper credit,
as most of the patch submitted is actually exactly the same code (by some
large amount of entropy).  Brooks also submitted the change to LINT to
set the example of "snp" usage to not include a number, as that number is
now deprecated, so that is also in this commit.

PR:		17629
Submitted by:	Brooks Davis <brooks@one-eyed-alien.net>
2000-04-02 07:02:48 +00:00
KATO Takenori
25ae42ba62 Merged from sys/conf/options.i386 rev 1.134. 2000-04-01 11:10:04 +00:00
Hellmuth Michaelis
a06da08313 Oops, PCVT_FREEBSD is useless too. Add new PCVT_GREENSAVER option. 2000-03-31 09:05:19 +00:00
Hellmuth Michaelis
aae85521f6 Remove useless PCVT_FREEBSD and PCVT_EMU_MOUSE. Add PCVT_GREENSAVER. 2000-03-31 09:02:39 +00:00
Hellmuth Michaelis
7ec3d24bf1 remove useless PCVT_EMU_MOUSE option. 2000-03-31 08:58:50 +00:00
Peter Wemm
255108f385 Make sysv-style shared memory tuneable params fully runtime adjustable
via sysctl.  It's done pretty simply but it should be quite adequate.
Also move SHMMAXPGS from $machine/include/vmparam.h as the comments that
went with it were wrong... we don't allocate KVM space for the pages so
that comment is bogus..  The only practical limit is how much physical
ram you want to lock up as this stuff isn't paged out or swap backed.
2000-03-30 07:17:05 +00:00
Warner Losh
5664bf9cea NewBus the cs driver.
Submitted by: max@rsu.ru
2000-03-30 05:16:16 +00:00
Peter Wemm
2af66d23ef Include param.o in the list of files that we scan for linker sets.
Without this, we cannot put sysctl nodes in there.
2000-03-29 23:20:35 +00:00
Yoshihiro Takahashi
239fe111cd - Added PC-98 Cbus frontend.
- Move dev/aic/aic_isa.c entry from conf/files to conf/files.MACHINE
   because PC-98 uses different file.

Submitted by:	nyan and IMAI Takeshi <take-i@ceres.dti.ne.jp>
2000-03-29 14:32:34 +00:00
Yoshihiro Takahashi
8b838a7ac2 Merge from the following changes.
File				Revision
sys/conf/files.i386		1.303 and 1.304
sys/dev/kbd/atkbd.c		1.23
sys/dev/syscons/scterm-sc.c	1.2
sys/dev/syscons/scvgarndr.c	1.5
sys/dev/syscons/scvtb.c		1.5
sys/dev/syscons/syscons.c	1.335
sys/isa/syscons_isa.c		1.11
sys/isa/vga_isa.c		1.17
2000-03-29 12:26:41 +00:00
Cameron Grant
57376530f0 split up ess and sb code
rewrite ess mixer to use native registers
rewrite play/rec code to use more accurate timer when available
add code to use audio2 for playback, but disable it as no irqs are generated
2000-03-28 18:31:01 +00:00
Bruce Evans
4a8d210268 Remove unused file. 2000-03-23 19:22:14 +00:00
Bruce Evans
83f7669eff Fixed most disordering (almost all except for i4b and targets with
complicated rules).
2000-03-23 19:08:49 +00:00
Bruce Evans
822dcb81d0 Fixed most disordering (all except for targets with complicated rules). 2000-03-23 19:03:26 +00:00
Jeroen Ruigrok van der Werven
000033d073 Document options HZ, place it in its own section `CLOCK OPTIONS' and
add the undocumented CLK_* options to that section as well.

Submitted by:	Mike Tancsa <mike@sentex.ca> (partially)
2000-03-23 16:22:50 +00:00
Bruce Evans
0784615675 Fixed clean rule for font.h. 2000-03-23 15:42:24 +00:00
KATO Takenori
25d654e785 Merged from sys/conf/files.i386 revision 1.310 (re-activate K6-2
MTRR driver).
2000-03-23 08:13:32 +00:00
Poul-Henning Kamp
91266b96c4 Isolate the Timecounter internals in their own two files.
Make the public interface more systematically named.

Remove the alternate method, it doesn't do any good, only ruins performance.

Add counters to profile the usage of the 8 access functions.

Apply the beer-ware to my code.

The weird +/- counts are caused by two repocopies behind the scenes:
	kern/kern_clock.c -> kern/kern_tc.c
	sys/time.h -> sys/timetc.h
(thanks peter!)
2000-03-20 14:09:06 +00:00
Peter Wemm
9ac61e92ca Argh, fix cut/paste mistake. This contributed to LINT not building. 2000-03-20 10:17:13 +00:00
Peter Wemm
a063b13d98 Tag a warning on the isa compat shims at config time. 2000-03-20 04:47:40 +00:00
Peter Wemm
9e0f2a9fb1 Use an intermediate file containing the module binary before converting
it into a ``shared'' .ko file.  This intermediate file can be directly
linked into a static kernel.  This isn't all that useful yet but will
become much more interesting shortly.
2000-03-20 01:29:59 +00:00
Brian Feldman
a3f7c5d143 Enable the K6-2 MTRR driver again, since there are reports of it working
with the applied change.

Submitted by:	 Coleman Kane <cokane@one.net>
2000-03-19 19:22:24 +00:00
Peter Wemm
4e64b0d320 Document and supply COMPAT_OLDPCI and COMPAT_OLDISA so 'make release'
still works.
2000-03-19 13:33:26 +00:00
Peter Wemm
80060e8897 Connect the ISA and PCI compatability shims to an option. In this case
it's options COMPAT_OLDISA and COMPAT_OLDPCI.  This is meant to be a
fairly strong incentive to update the older drivers to newbus, but doesn't
(quite) leave anybody hanging with no hardware support.  I was talking with
a few folks and I was encouraged to simply break or disable the shims but
that was a bit too drastic for my liking.
2000-03-19 13:07:12 +00:00
Jeroen Ruigrok van der Werven
cb2116539c Add device isic to the ASUSCOM_IPAC entry.
Remove quotes around some i4b options to be consistent with the rest.
2000-03-19 10:19:23 +00:00
Jeroen Ruigrok van der Werven
1eeb917c9c Put ASUSCOM_IPAC in the section where it belongs, namely i4b. 2000-03-18 19:30:58 +00:00
Jeroen Ruigrok van der Werven
bc0e3a03b5 Put the undocumented options back at the bottom as per old
practice.

Place the debug options above the undocumented options.
2000-03-18 18:39:02 +00:00
Jeroen Ruigrok van der Werven
5d6f1468bb Document three debug options: npx, bus and vfs locks debugging. 2000-03-18 17:30:12 +00:00
Matt Jacob
a4135b96f1 Alpha 8200: redo files arrangement for 8200 support. There sort of
still *is* a problem about how to get an mcclock attached w/o an
ISA declaration though.
2000-03-18 08:05:27 +00:00
Nick Hibma
e2dbd15f2e Please welcome the URio driver. Written by
Iwasa Kazmi <kzmi\@ca2.so-net.ne.jp>
2000-03-16 09:16:14 +00:00
Nick Hibma
fa55e6183a Add urio (143) 2000-03-15 22:06:01 +00:00
Peter Wemm
2a72e5e1c1 Move the files.* references to wdc files to the pc98 location after the
repo copy.
2000-03-15 21:53:12 +00:00
Søren Schmidt
000da71aa4 Fix the spelling, and some minor tweaks on the ata device... 2000-03-14 16:47:59 +00:00
Jeroen Ruigrok van der Werven
612a914d90 Remove wd entries.
Reviewed by:	sos
Approved by:	sos, phk, peter
2000-03-14 13:23:10 +00:00
Jeroen Ruigrok van der Werven
b2381471b9 Remove the wd driver from the i386 kernel options. 2000-03-14 13:18:14 +00:00
Jeroen Ruigrok van der Werven
844a81a990 Remove unused options.
Reviewed by:	sos
Approved by:	sos, phk, peter
2000-03-14 12:55:23 +00:00
Ruslan Ermilov
ef61e9f97d Remove option MD5, it has been standardized almost two years ago. 2000-03-13 11:37:43 +00:00
Jordan K. Hubbard
420e39abee Welcome to 5.0-current!
"First commit" claimed by:	jkh :)
2000-03-13 09:13:01 +00:00
Jonathan Lemon
5e3488e373 Add Compaq `ida' driver to GENERIC, update it's LINT entry.
Approved by:	jordan
2000-03-09 16:32:56 +00:00
Jonathan Lemon
a17e9eac9c Changes for IDA driver 2000-03-08 16:17:06 +00:00
Nik Clayton
9e54a8cebb Document the discard device appearing as 'ds0', 'ds1', etc.
PR:             docs/16994
Submitted by:   Giorgos Keramidas <keramida@ceid.upatras.gr>
2000-03-07 13:56:37 +00:00
KATO Takenori
7fb0223fd0 Merged from files.i386 rev 1.307. 2000-03-01 08:50:05 +00:00
Matthew N. Dodd
a535079a85 MCA is supported to some extent. Modify a comment that claims otherwise.
Approved by: 	jkh
2000-02-26 05:07:05 +00:00
Guido van Rooij
7830d3c3a1 Remove option IPFILTER_KLD. In case you wanted to kldload ipfilter,
the module would only work in kernels built with this option.
2000-02-23 20:10:53 +00:00
Jason Evans
dd85920a4f Add the VFS_AIO config option and leave it off by default. Unless the
VFS_AIO option is specified, all aio-related syscalls return ENOSYS.

The aio code is very fragile right now, and is unsuitable for default
inclusion in a production shell box.

Approved by:	jkh
2000-02-23 07:44:25 +00:00
Gary Jennejohn
4f9d49f140 Newbus-ify the USR Sportster TA Intern driver.
Enable the driver in sys/conf/files.i386.

In isa/isavar.h increase ISA_NPORT from 32 to 50. This is required
because this brain-damaged card maps 49 (!) port ranges. This does
not have a negative impact because this value only specifies the maximum
number of entries in a linked list and not the size of an array which
is allocated in all drivers.

The register/fifo access routines were not newbus-ified because
1) I knew that the old code worked and is simpler and more efficient
2) the if_ed driver does something similar and
3) the newbus macros collapse to inb/outb anyway.

Reviewed and tested by:	hm
Approved by:	jkh
2000-02-21 02:10:10 +00:00
Kazutaka YOKOTA
528b8853bb Make it clear that 'options XSERVER' is for pcvt and not for syscons.
Submitted by: Doug Barton <Doug@gorean.org>
Approved by: jkh
2000-02-16 04:27:04 +00:00
Matt Jacob
a6dd44dea5 Add comments about 12160 options.
Approved: jkh
2000-02-15 01:08:27 +00:00
Peter Wemm
242c5536ea Clean up some loose ends in the network code, including the X.25 and ISO
#ifdefs.  Clean out unused netisr's and leftover netisr linker set gunk.
Tested on x86 and alpha, including world.

Approved by:	jkh
2000-02-13 03:32:07 +00:00
Bill Fumerola
ce0c0d9da9 kbdcontrol isn't in everyones path(read: non-root people), so specify
an absolute path for us mere mortals.

Approved by:	jkh
2000-02-10 01:42:04 +00:00
Matthew N. Dodd
978d4f5bc8 Complete the repo-copy of ida_pci.c to sys/dev/ida/
Implicit Approval by:	 jkh
2000-02-09 04:17:10 +00:00
Matthew N. Dodd
1e8a96dc02 if_fpa is included when 'device fpa' is present, not 'device fea'.
Approved by:	jkh
2000-02-01 16:47:34 +00:00
Yoshinobu Inoue
158316667c Fix kernel build breakage.
ip6_fw.c also needs ipv6firewall options. Sorry for the problem.

Submitted by: Jim Bloom <bloom@acm.org>
2000-01-30 03:52:28 +00:00
Peter Wemm
4486cd7990 Use config's tools rather than #if's. 2000-01-29 18:54:12 +00:00
Peter Wemm
68b538c712 Remove 'conflicts' token - it has been effectively doing absolutely
nothing for quite some time.  The only thing that cared was userconfig,
but it was for one invisible device so we never saw it's effects.
2000-01-29 18:07:07 +00:00
Peter Wemm
81bb901ed1 Add some more comments about sound card bridge devices and their
relationship with pcm and other things like newmidi.
2000-01-29 17:56:23 +00:00
Peter Wemm
afa0d59d93 Still allow sbc/gusc/csa to perform as bridge devices (eg: to newmidi)
without pcm being present.
2000-01-29 17:48:28 +00:00
Peter Wemm
6724519462 Allow the pnp and pci cards to be attached with just a 'device pcm' in
the user's config file.  Based on an idea/suggestion from Cameron (cg).

Change LINT to build newpcm instead of the old Voxware derived stuff.
That's much more useful in the longer term.
2000-01-29 17:28:48 +00:00
Peter Wemm
5d021a76f2 Move the (duplicated exactly!) portable ISA pcm drivers to files and
tighten up the logic a little.
2000-01-29 17:15:03 +00:00
Peter Wemm
ce253636bb Remove (commented out and marked as broken) pseudo-device tb. This was
added in rev 1.205 (october 1995).
2000-01-29 16:39:14 +00:00
Peter Wemm
8f24ed4066 Remove kern/tty_tb.c. 2000-01-29 16:36:22 +00:00
Peter Wemm
db8ba2ef83 Don't build the wdc atapi attachments unless wdc is also present. 2000-01-29 15:58:30 +00:00
Peter Wemm
08922a1c23 Arrange for the following files to be compiled when the configuration
conditions are met rather than having to resort to #if's in the code.
> dev/syscons/scvgarndr.c               optional        sc vga
> dev/syscons/scvesactl.c               optional        sc vga vesa
> i386/isa/vesa.c                       optional        vga vesa
2000-01-29 15:04:33 +00:00
Yoshinobu Inoue
210d0432a3 Add ip6fw.
Yes it is almost code freeze, but as the result of many thought, now I
think this should be added before 4.0...

make world check, kernel build check is done.

Reviewed by: green
Obtained from: KAME project
2000-01-29 13:54:44 +00:00
Bruce Evans
9e4be63dd6 Add ${DEBUG_FLAGS} to CFLAGS in bsd.kmod.mk, not in scattered module
makefiles.  Bad examples in fxp/Makefile keep getting copied to new
makefiles.
2000-01-28 11:26:46 +00:00
Yoshinobu Inoue
0fea3d5165 IPv6 multicast routing.
kernel IPv6 multicast routing support.
  pim6 dense mode daemon
  pim6 sparse mode daemon
  netstat support of IPv6 multicast routing statistics

  Merging to the current and testing with other existing multicast routers
  is done by Tatsuya Jinmei <jinmei@kame.net>, who writes and maintainances
  the base code in KAME distribution.

  Make world check and kernel build check was also successful.
2000-01-28 05:10:56 +00:00
Yoshihiro Takahashi
f91518a21e Merge from sys/conf/files.i386 revision 1.301. 2000-01-28 01:05:08 +00:00
Archie Cobbs
2f522c9084 Include ddb/db_sysctl.c when compiling with 'options DDB'. 2000-01-27 22:29:19 +00:00
Jeroen Ruigrok van der Werven
d3041acd16 Completely remove ATA_16BIT_ONLY, since this is done automatically
by the ata driver nowadays.

OK'd by:	sos,peter
2000-01-27 19:28:15 +00:00
Søren Schmidt
a965bed802 remove the ATA_16BIT_ONLY options, its now automatic. 2000-01-27 18:53:41 +00:00
Jeroen Ruigrok van der Werven
310430f93a Removed ATA_STATIC_ID and ATA_16BIT_ONLY from the undocumented
options section, since they are documented higher up in the
file.

Probably forgotten by:	sos
2000-01-27 17:41:38 +00:00
Doug Rabson
9c26dc2b43 Get the ppc driver from sys/isa instead of sys/i386/isa. 2000-01-25 22:25:52 +00:00
Peter Wemm
ba6017903c Fix left over references to things like 'ata0' in comments.
Submitted by:	Jim Bloom <bloom@acm.org>
2000-01-25 18:56:41 +00:00
Bruce Evans
615e071ef3 Removed ssc and su. 2000-01-25 08:46:15 +00:00
Archie Cobbs
931f2cebff Reserve a major number for /dev/skip, used by the "security/skip" port. 2000-01-25 02:11:02 +00:00
Brian Somers
367d34f853 Move the *intrq variables into net/intrq.c and unconditionally
include this in all kernels.  Declare some const *intrq_present
variables that can be checked by a module prior to using *intrq
to queue data.

Make the if_tun module capable of processing atm, ip, ip6, ipx,
natm and netatalk packets when TUNSIFHEAD is ioctl()d on.

Review not required by: freebsd-hackers
2000-01-24 20:39:02 +00:00
Peter Wemm
d224cddc38 Copy i386/isa/atapi-cd.[ch] to a new name so that it doesn't have the
same object file (atapi-cd.o) as the ata drivers. I'd have called it
wcd.[ch], but there's already one of those in the Attic that we can't
clobber - the good names are taken.
Fix building so that it can be compiled into LINT alongside ata.

Requested by:	bde
2000-01-24 17:16:03 +00:00
KATO Takenori
95adcda0f9 Synced with files.i386. 2000-01-24 13:56:57 +00:00
Peter Wemm
b33b19409d Remove a bunch of no-op "port ?" and "irq ?" declarations. 2000-01-24 08:49:24 +00:00
Peter Wemm
623c24674d Activate the newbusified version of si. 2000-01-24 08:12:40 +00:00
Peter Wemm
647b247c34 oops, nearly forgot to commit the addition of ppbus_if.m to the list. 2000-01-23 15:42:44 +00:00
Peter Wemm
0d31b1798d Drop 'at ppbus?' and the trailing '0' from the ppbus children. 2000-01-23 14:46:20 +00:00
Peter Wemm
37973e862d I missed some trailing digits in a comment.
Submitted by:	asmodai
2000-01-23 14:34:38 +00:00
Peter Wemm
18ecdacc22 Bump configvers.h as a precaution. Although existing config files will
work unmodified still, new config files won't work on the old ones.
2000-01-23 12:24:48 +00:00
Peter Wemm
c9953c3b9e Update GENERIC/LINT to leave out the useless digit at the end of pci
or other unwired devices.
2000-01-23 12:18:53 +00:00
Boris Popov
5d94d71cd9 Allow if_ef driver to be compiled into kernel. 2000-01-23 03:35:11 +00:00
KATO Takenori
2945c302da Synced with the sc driver in the sys/dev/syscons directory.
Submitted by:	yokota
2000-01-20 15:16:49 +00:00
Mike Smith
c2b9ed0fc3 Add the pcdmx theatre lighting controller major number 2000-01-20 02:54:03 +00:00
Jordan K. Hubbard
3b2d592ca2 Import simple driver for a parallel port radio clock which receives
the German legal time (commonly available in Europe).

Submitted by:	Sascha Schumann <sascha@schumann.cx>
2000-01-19 18:17:25 +00:00
Peter Wemm
71d38539b4 Add a warning for the snd drivers and a pointer to pcm/sbc/etc. 2000-01-18 08:31:40 +00:00
Jeroen Ruigrok van der Werven
80756f7e69 Convert last examples of controller' to device'. 2000-01-16 09:37:18 +00:00
Kazutaka YOKOTA
2b944ee2b9 This is the 3rd stage of syscons code reorganization.
- Split terminal emulation code from the main part of the driver so
that we can have alternative terminal emulator modules if we like in
the future.  (We are not quite there yet, though.)

- Put sysmouse related code in a separate file, thus, simplifying the
main part of the driver.

As some files are added to the source tree, you need to run config(8)
before you compile a new kernel next time.

You shouldn't see any functional change by this commit; this is only
internal code reorganization.
2000-01-15 15:25:43 +00:00
Matt Jacob
8904e70b83 Add reference to SES device (it won't be in GENERIC unless folks clamor
for it). Document it's only option.
2000-01-15 07:46:39 +00:00
Matt Jacob
52e48164b9 add options collateral for SES/SAF-TE driver 2000-01-15 07:12:09 +00:00
Matt Jacob
e575259c13 add file collateral for SES/SAF-TE driver 2000-01-15 07:11:36 +00:00
Warner Losh
00e888b639 Add pccard aic attachment. 2000-01-14 23:44:32 +00:00
Bill Paul
261b9b3066 Add driver support for the Aironet 4500/4800 series wireless 802.11
NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported,
though only the ISA and PCI ones will work on the alpha for now.
PCCARD, ISA and PCI attachments are all provided. Also provided an
ancontrol(8) utility for configuring the NIC, man pages, and updated
pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired
mode, although you must configure the kernel explicitly to support the
hardwired mode since you have to know the I/O address and port ahead
of time.

Special thanks to Doug Ambrisko for doing the initial newbus hackery
and getting it to work in infrastructure mode.
2000-01-14 20:41:03 +00:00
Matthew N. Dodd
1ef4c904b6 Oops! We need an entry for if_ie still. Change a few nits
while I'm here.
2000-01-14 18:50:40 +00:00
KATO Takenori
81e8342ad3 Synced with options.i386 rev 1.132. 2000-01-14 12:56:42 +00:00
Peter Wemm
a7c517ceaf Add back the 'at ppbus?' for the lpt etc drivers. Now it's used. 2000-01-14 08:16:28 +00:00
Peter Wemm
c5191a983c Pre 4.0 tidy up.
Collect together the components of several drivers and export eisa from
the i386-only area (It's not, it's on some alphas too).  The code hasn't
been updated to work on the Alpha yet, but that can come later.

Repository copies were done a while ago.
Moving these now keeps them in consistant place across the 4.x series
as the newbusification progresses.

Submitted by:   mdodd
2000-01-14 07:14:17 +00:00
Bill Paul
0177987224 Add device driver support for USB ethernet adapters based on the CATC
USB-EL1202A chipset. Between this and the other two drivers, we should
have support for pretty much every USB ethernet adapter on the market.
The only other USB chip that I know of is the SMC USB97C196, and right
now I don't know of any adapters that use it (including the ones made
by SMC :/ ).

Note that the CATC chip supports a nifty feature: read and write combining.
This allows multiple ethernet packets to be transfered in a single USB
bulk in/out transaction. However I'm again having trouble with large
bulk in transfers like I did with the ADMtek chip, which leads me to
believe that our USB stack needs some work before we can really make
use of this feature. When/if things improve, I intend to revisit the
aue and cue drivers. For now, I've lost enough sanity points.
2000-01-14 03:14:49 +00:00
Nicolas Souchu
0f210c922b Port of ppbus standalone framework to the newbus system.
Note1: the correct interrupt level is invoked correctly for each driver.
       For this purpose, drivers request the bus before being able to
       call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus
       core when drivers release it. Thus, when BUS_SETUP_INTR is called
       at ppbus driver level, ppbus checks that the caller owns the
       bus and stores the interrupt handler cookie (in order to unregister
       it later).

       Printing is impossible while plip link is up is still TRUE.
       vpo (ZIP driver) and lpt are make in such a way that
       using the ZIP and printing concurrently is permitted is also TRUE.

Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET
       is now needed to force chipset detection. If set, the flags 0x40
       still avoid detection at boot.

Port of the pcf(4) driver to the newbus system (was previously directly
connected to the rootbus and attached by a bogus pcf_isa_probe function).
2000-01-14 00:18:06 +00:00
Peter Wemm
87263c3c61 Add missing 'DEVICE_SYSCTLS' to opt_bus.h. This is the (experimental?)
code that exports the bus heirarchy to hw.devices.*
2000-01-13 13:29:51 +00:00
Matthew N. Dodd
1f3e0d3de8 Remove the 'at isa? ...' bits for ex0.
Remove the confusing text about pccard and unit numbers for ep0.
2000-01-13 07:01:13 +00:00
Yoshihiro Takahashi
dad8dd78d6 Merge from sys/conf/files.i386 revision 1.296. 2000-01-12 13:43:23 +00:00
Peter Wemm
d0e12656b8 Add $FreeBSD$
Make the alpha linker script more like the i386 version - delete the
/usr/local and egcs directories
2000-01-11 15:35:16 +00:00
Peter Wemm
07997cf9cd Aiee! I committed the wrong conf/files. Replace the changes for newppbus
with the intended changes.
Drop db_aout.c from files, let db_kld.c do the work.

Noticed by:	bde
2000-01-11 14:54:09 +00:00
Peter Wemm
63aad530bc Fix a typo in the db_kld.c file - it's kld support not raw a.out support.
Always use db_kld.c for symbol table support as the base kernel maintains
this information.
2000-01-11 13:25:12 +00:00
Bill Paul
a0067d7b89 Attempt to fix a problem with receiving packets on USB ethernet interfaces.
Packets are received inside USB bulk transfer callbacks, which run at
splusb() (actually splbio()). The packet input queues are meant to be
manipulated at splimp(). However the locking apparently breaks down under
certain circumstances and the input queues can get trampled.

There's a similar problem with if_ppp, which is driven by hardware/tty
interrupts from the serial driver, but which must also manipulate the
packet input queues at splimp(). The fix there is to use a netisr, and
that's the fix I used here. (I can hear you groaning back there. Hush up.)

The usb_ethersubr module maintains a single queue of its own. When a
packet is received in the USB callback routine, it's placed on this
queue with usb_ether_input(). This routine also schedules a soft net
interrupt with schednetisr(). The ISR routine then runs later, at
splnet, outside of the USB callback/interrupt context, and passes the
packet to ether_input(), hopefully in a safe manner.

The reason this is implemented as a separate module is that there are
a limited number of NETISRs that we can use, and snarfing one up for
each driver that needs it is wasteful (there will be three once I get
the CATC driver done). It also reduces code duplication to a certain
small extent. Unfortunately, it also needs to be linked in with the
usb.ko module in order for the USB ethernet drivers to share it.

Also removed some uneeded includes from if_aue.c and if_kue.c

Fix suggested by: peter
Not rejected as a hairbrained idea by: n_hibma
2000-01-10 23:12:54 +00:00
Poul-Henning Kamp
86807e1622 Remove controller miibus, there already were a device miibus. 2000-01-10 12:06:32 +00:00
Warner Losh
90bba6bf72 Move xe driver from dev/pccard to dev/xe. Convert driver to newbus.
Driver is not functional yet, but does compile.  Tests with xe cards
indicates that it doesn't panic the machine when they are present, but
fail to probe.  Interface help in the pcic/pccard layers are needed to
complete this driver.
2000-01-10 08:05:53 +00:00
David E. O'Brien
5e93c21150 * Add `sym' SCSI driver options.
* bring in NIC comments from GENERIC
* slightly reorder a few things in an feable attempt at making the
  organization of LINT more logical.
2000-01-09 23:33:38 +00:00
Peter Wemm
b7db0275e2 Point to the right kernel ld script.
Remove stray PC98 make variable.
2000-01-09 17:59:49 +00:00
Peter Wemm
d2b1bc7312 Put on my asbestos suit and move $mach/conf/*.$mach to conf/*.$mach as
hinted at in the previous config(8) commits.  I've spoken about this with
a few people and after the initial suprise wore off they thought it wasn't
a bad idea.  The upshot of it is that all the files*, Makefile*, options*
files are all right next to each other in the hope that people making
changes to one set will remember the others.

Note, config(8) looks to sys/conf first, and falls back to sys/$mach/conf
still, so this doesn't stop people working in subdirs for new platforms.
But once it's in the tree it can be moved next to the other files so that
the non-i386 platforms are (hopefully) treated a little better than as if
they were "second class" ports.

This does not change any user editable files.  the config program is
still run in the same directory as before, the per-platform files
(GENERIC, LINT etc) are still in the same place.
2000-01-09 15:29:10 +00:00
KATO Takenori
832f9b3eb4 Synced with sys/i386/conf/Makefile.i386 (MACHINE -> MACHINE_ARCH).
Pointed out by:	peter
2000-01-09 14:56:07 +00:00
Bruce Evans
b7d1b97726 Removed defunct options EXTRA_SIO and KEY_DEBUG. 2000-01-09 14:47:38 +00:00
KATO Takenori
070e9ce61b Changed MACHINE -> MACHINE_ARCH to make the i386-kernel be able to
compiled on PC98.
2000-01-09 14:43:47 +00:00
KATO Takenori
218b3dbece Synced with sys/i386/conf/files.i386 rev 1.295. 2000-01-09 14:25:50 +00:00
KATO Takenori
a7dcfbda20 Synced with sys/i386/conf/Makefile.i386 rev 1.176. 2000-01-09 14:24:00 +00:00
Bruce Evans
4100386cb1 Put COMPAT_SVR4 in opt_dontuse.h for the same reasons as IBCS2 and
COMPAT_LINUX are there.  It shouldn't be and isn't used after config
time, except to complicate the svr4 module makefile.

Moved options for emulators to a separate section.
2000-01-09 10:58:39 +00:00
Bruce Evans
68b683dc58 Compile *_genassym.c with ordinary ${CFLAGS}. The (small) needs for
-U_KERNEL became negative when all all the genassym.c's were converted
to be cross-built.  Related cleanups: PARAM went away, but was still
used here; KERNEL was renamed to _KERNEL, but was still KERNEL here;
the deprecated macros $@ and $< were still used here.

Use "genassym ... > ${.TARGET}", not "genassym -o $@ ...", so that
genassym(1) doesn't need to support -o.

Removed half-baked hard-coded dependencies of *_genassym.o on headers.
These objects should be added to the list of objects in the depend
rule to get full dependencies.  This doesn't happen automatically
because they are not linked into the kernel.  Half baked dependencies
don't really help.
2000-01-09 08:24:27 +00:00
Cameron Grant
1440baa73c enable the neomagic driver 2000-01-09 08:17:47 +00:00
Bruce Evans
cfb95261b1 Quick fix for LINT breakage. KERNFORMAT went away, so don't use it
for trlld.o.
2000-01-09 07:50:42 +00:00
Peter Wemm
58fa7951a2 Bump configversion. The controller/device changes are upwards but not
downwards compatable.  If you try and config a s/controller/device/ kernel
with an old config(8), the results will be less than satisfactory.
2000-01-09 07:10:27 +00:00
Bruce Evans
a0b845fe92 Add "-I@/../include" and/or "-I${DESTDIR}/usr/include" to CFLAGS,
essentially as in kernel makefiles, so that module sources can include
<stddef.h> and other standard headers.  Only add the second path when
the first path can't be found, instead of when DESTDIR is defined.
Adding it used to be just an obfuscation.

Use "${.OBJDIR}" instyead of "." in -I paths.  Using "${.OBJDIR}" just
gave more verbose command lines and depend files.
2000-01-08 18:48:57 +00:00
Peter Wemm
a052e7173c config(8) doesn't know anything about scsi devices like it used to, remove
the misleading comments to that effect.
Prune bogus 'at foo?' (smbus, iicbus, ppbus) appendages on things that
they are meaningless for.  It was just eye candy and wasn't used by
anything in the tree.  The interconnects were defined by the drivers
themselves and auto discovery.
(The new ppbus code may change this if it uses the resource_get_*() calls
 to find it's configured children if self discovery isn't possible)
2000-01-08 17:51:33 +00:00
Peter Wemm
f31f62f872 Further sync Alpha and i386 Makefiles. Remove KERNFORMAT = elf stuff as
it's always true on these platforms (and is likely to be on others as
well since loader is the one that is configured for whatever the boot
requirements are)
2000-01-08 17:31:35 +00:00
Peter Wemm
0909397395 genassym is ELF-only, therefore the kernel is now ELF-only as well. 2000-01-08 17:12:15 +00:00
Marcel Moolenaar
6257c6285a Sync with i386
\begin{quote}
Compile genassym.c with ordinary ${CFLAGS}.  The (small) needs for
${GEN_CFLAGS} and -U_KERNEL became negative when all all the
genassym.c's were converted to be cross-built.

Makefile.*:
- Cleanups associated with the old genassym.
- Fixed deprecated spelling of ${.IMPSRC} as "$<".
\end{quote}

Submitted by: bde
2000-01-08 16:43:46 +00:00
Peter Wemm
70c43495f8 s/controller/device/ as per config(8) 2000-01-08 16:03:57 +00:00
Bruce Evans
c453bba744 Compile genassym.c with ordinary ${CFLAGS}. The (small) needs for
${GEN_CFLAGS} and -U_KERNEL became negative when all all the
genassym.c's were converted to be cross-built.

Makefile.*:
- Cleanups associated with the old genassym.
- Fixed deprecated spelling of ${.IMPSRC} as "$<".
2000-01-08 15:52:22 +00:00
Bill Paul
d04bb221f3 Add the vendor and device IDs for a whole bunch of additional USB
ethernet adapters that are supported by the aue and kue drivers.
There are actually a couple more out there from Accton, Asante and
EXP Computer, however I was not able to find any Windows device
drivers for these on their servers, and hence could not harvest
their vendor/device ID info. If somebody has one of these things
and can look in the .inf file that comes with the Windows driver,
I'd appreciate knowing what it says for 'VID' and 'PID.'

Additional adapters include: the D-Link DSB-650 and DSB-650TX, the
SMC 2102USB, 2104USB and 2202USB, the ATen UC10T, and the Netgear EA101.
These are all mentioned in the man pages, relnotes and LINT.

Also correct the date in the kue(4) man page. I wrote this thing
on Jan, 4 2000, not 1999.
2000-01-07 22:18:49 +00:00
Marcel Moolenaar
9c0182bbdc Use genassym(1). 2000-01-07 14:58:47 +00:00
Mark Newton
6e2972b825 Changes as suggested by bde
Submitted by:	bde
2000-01-07 14:41:12 +00:00
Marcel Moolenaar
3abe5082ad Use genassym(1). The definitions of NKPDE and NKPT have been removed
because they are already defined in pmap.h, resulting in duplicate
definitions.

Reviewed by: bde
2000-01-07 11:50:46 +00:00
Peter Wemm
31f723c7bc Bring the Alpha and x86 Makefiles closer together. 2000-01-07 05:12:12 +00:00
Warner Losh
46121c1271 FDC_YE has been removed as a valid option.
Noticed by: bde
2000-01-06 16:45:56 +00:00
Peter Wemm
d5127a856d Missed s/KERNEL/_KERNEL/ here.. *blush*.
Submitted by:	bde
2000-01-06 13:14:51 +00:00
Warner Losh
b2290df23b Add power_if.[cho] generation for new pccard system.
Also added commented out xe driver pending change.  Should be benign.
2000-01-06 07:18:05 +00:00
Mark Newton
0e741a5b5b Add documentation for SVR4 options in LINT. 2000-01-05 21:41:16 +00:00
Bill Paul
dfd1e98eac Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c
2000-01-05 04:27:24 +00:00
Matthew Dillon
eb6088c84d Update some of the network driver documentation in the LINT file, which
is where most people look to match drivers up with cards.

Reviewed by:	wpaul
2000-01-04 23:09:42 +00:00
Matt Jacob
b6ca8f5a13 add wx0 driver 2000-01-04 11:17:35 +00:00
Matt Jacob
677202cac3 add wx (Intel Wiseman Gig Ethernet) driver 2000-01-04 11:01:36 +00:00
Matt Jacob
9b8ea2242c Add in ISP_TARGET_MODE description. 2000-01-04 00:04:27 +00:00
Matt Jacob
80d80cdbda Add in isp_target.c to be compiled for isp- it'd be nice if we could
do conditional file inclusing based on options.
2000-01-04 00:01:19 +00:00
Mark Newton
ad20e57ae2 Add options for COMPAT_SVR4 and DEBUG_SVR4 for completeness. 2000-01-03 20:37:15 +00:00
KATO Takenori
a7c6b6f184 Synced with sys/i386/conf/Makefile.i386 rev 1.170. 2000-01-03 05:34:48 +00:00
Peter Wemm
c447342094 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 05:07:58 +00:00
Peter Wemm
664a31e496 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 04:46:21 +00:00
Bill Paul
ed63a7aaef This commit adds device driver support for the ADMtek AN986 Pegasus
USB ethernet chip. Adapters that use this chip include the LinkSys
USB100TX. There are a few others, but I'm not certain of their
availability in the U.S. I used an ADMtek eval board for development.
Note that while the ADMtek chip is a 100Mbps device, you can't really
get 100Mbps speeds over USB. Regardless, this driver uses miibus to
allow speed and duplex mode selection as well as autonegotiation.
Building and kldloading the driver as a module is also supported.

Note that in order to make this driver work, I had to make what some
may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer()
function will use tsleep() for synchronous transfers that don't complete
right away. This is a problem since there are times when we need to
do sync transfers from an interrupt context (i.e. when reading registers
from the MAC via the control endpoint), where tsleep() us a no-no.
My hack allows the driver to have the code poll for transfer completion
subject to the xfer->timeout timeout rather that calling tsleep().
This hack is controlled by a quirk entry and is only enabled for the
ADMtek device.

Now, I'm sure there are a few of you out there ready to jump on me
and suggest some other approach that doesn't involve a busy wait. The
only solution that might work is to handle the interrupts in a kernel
thread, where you may have something resembling a process context that
makes it okay to tsleep(). This is lovely, except we don't have any
mechanism like that now, and I'm not about to implement such a thing
myself since it's beyond the scope of driver development. (Translation:
I'll be damned if I know how to do it.) If FreeBSD ever aquires such
a mechanism, I'll be glad to revisit the driver to take advantage of
it. In the meantime, I settled for what I perceived to be the solution
that involved the least amount of code changes. In general, the hit
is pretty light.

Also note that my only USB test box has a UHCI controller: I haven't
I don't have a machine with an OHCI controller available.

Highlights:

- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part.
- Updated usbdevs and regenerated generated files
- Updated HARDWARE.TXT and RELNOTES.TXT files
- Updated sysinstall/device.c and userconfig.c
- Updated kernel configs -- device aue0 is commented out by default
- Updated /sys/conf/files
- Added new kld module directory
1999-12-28 02:01:18 +00:00
Yoshinobu Inoue
a57e826a49 Add ipsec_esp option to files which depend on crypto.
Now you can build a kernel which support IPsec message authentication
but don't support message encryption, by defining IPSEC in your kernel
config file and not defining IPSEC_ESP.
1999-12-27 18:53:24 +00:00
KATO Takenori
18a1cdb3e6 Synced with sys/i386/conf/Makefile.i386 rev 1.169. 1999-12-27 13:53:43 +00:00
Bruce Evans
f11c215715 Synced with Makefile.i386. The following cleanups in Makefile.i386
rev.1.168 should have been committed concurrently:

Fixed some style bugs (always use precisely 1 space after `:' in
dependency specifications).
Removed bogus dependency of ${FULLKERNEL} on ${BEFORE_DEPEND}.

Reminded by:	peter
1999-12-27 12:06:11 +00:00
Peter Wemm
07ed92fb01 Zap the kvm_kernel.db juggling at 'make install' time, it isn't needed
any more.
1999-12-27 07:19:45 +00:00