Commit Graph

986 Commits

Author SHA1 Message Date
peter
2a63985c69 I completely fubared this. An empty EXPORT_SYMS= is not valid. I know I
build this several times, and even tested loaded the module.  I must have
changed something right before commit.

Pointed out by:	bde
2002-09-11 18:03:03 +00:00
sobomax
c0578a26a5 Cosmetics: #define NETATALK --> #define NETATALK 1, so that it is in line with
other #define FOO.
2002-09-10 10:19:03 +00:00
imp
b7883862c2 Remove duplicate entry. Since we call things cbb in the source, pccbb
is obsolete.
2002-09-09 05:35:46 +00:00
peter
f6e5e92086 opt_kstack_pages.h is not needed anymore. It would have been a Bad Thing
if it had been different to the running kernel.
2002-09-08 02:59:38 +00:00
tmm
2ba469fe35 Unbreak the modules build:
- add dependencies on opt_cpu.h and opt_kstack_pages.h to the linux module
  Makefile in the i386 case. The latter is needed by an i386-only file, the
  former by the i386 implementation of linux_sysvec.c (opt_cpu.h is used for
  architecture-dependent options, so I added it only for i386, although this
  file is also generated for the alpha).
- add a dependency on opt_kstack_pages.h to the pecoff module Makefile.
2002-09-07 18:02:18 +00:00
peter
0226701a8a Add the aout module subdir for the i386. 2002-09-07 01:31:38 +00:00
peter
037a035b18 Add an a.out exec module. 2002-09-07 01:31:21 +00:00
sobomax
335a6bfe1d Connect if_gre module to the build. 2002-09-06 17:18:53 +00:00
sobomax
5e6e3c2936 Add if_gre module glue. 2002-09-06 17:17:33 +00:00
gibbs
948f206bd7 Remove aic7xxx from the module build framework until all bootstrapping
issues are resolved.
2002-09-03 16:54:48 +00:00
gibbs
95bc8730df Add cleandepend target. 2002-08-31 17:15:43 +00:00
gibbs
15f3647566 Pass the cleandir target on to the aicasm Makefile. This should
fix the buildkernel target.
2002-08-31 14:50:46 +00:00
gibbs
956a397806 Complete the hookup of ahd/ahc module building. 2002-08-31 06:57:50 +00:00
imp
ce4901a76d Fix this pending the decision of which of the redundant
sys/modules/{pc,}cbb/Makefile to remove.
2002-08-27 15:59:19 +00:00
bde
1fd9de2bed Removed explicit rule for creating a null opt_bus.h. kmod.mk does this
automatically once opt_foo.h is in SRCS, modulo some carelessness in
removing garbage in stale versions of opt_foo.h (touch(1) should not
be used to create opt_foo.h in kmod.mk or elsewhere).

Cleaned up nearby rule for creating opt_ddb.h.
2002-08-27 13:39:31 +00:00
jhb
a6ed2080e7 Have to create opt_bus.h for sys/bus.h to be happy. *sigh*
Noticed by:	imp and others
2002-08-26 21:11:56 +00:00
jhb
f3ec374742 Oops, forgot to hook up the ACPI PCI bus in the module.
Noticed by:	imp
2002-08-26 19:00:36 +00:00
jhb
85e5115e58 Hook up the new ACPI PCI bus and catch up to ACPI PCI bridge driver changes. 2002-08-26 18:32:00 +00:00
archie
aeba6a13e4 Keep subdirectory list sorted. 2002-08-20 23:58:49 +00:00
archie
8621b323d9 Add ng_l2tp module. 2002-08-20 22:03:57 +00:00
nyan
68a83d6d70 Remove duplicate vinum entry. 2002-08-20 14:41:44 +00:00
mike
6cf27f3105 Catch up to rev 1.8 of sys/alpha/osf1/osf1_mount.c. 2002-08-18 05:45:10 +00:00
orion
7b9dd904de Support for VIA VT8233 audio controller. 2002-08-17 16:23:44 +00:00
alfred
0684d0ba09 Remove cam_extend.c from sources to unbreak modules.
Missed by: kern/39809,njl
2002-08-15 21:41:59 +00:00
rwatson
6452ea6924 Depend on opt_mac.h. 2002-08-12 15:27:17 +00:00
alfred
bcb47193d3 add opt_mac.h to SRCS to unbreak module build. 2002-08-12 07:20:15 +00:00
rwatson
dadba87516 Add opt_mac.h to dependencies for svr4 module, since I'm about to
commit the MAC checks for it.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-08-12 01:36:20 +00:00
joe
7d35cb1395 Add the uftdi ucom driver which supports the following adapters:
Inland UAS111
	QVS USC-1000
	HP USB-Serial adapter shipped with some HP laptops

Submitted by:	takawata
MFC After:	7 days
2002-08-11 23:32:33 +00:00
brooks
a59a8c94a5 Make ppp(4) devices clonable and unloadable. 2002-08-09 15:30:48 +00:00
benno
81be47f1e1 Connect bmtphy to the mii module build.
Forgotten a long time ago by:	benno
2002-08-06 06:09:47 +00:00
imp
3545d79431 We now have opt_wi.h, so go ahead and add it. Default it to 1. 2002-08-03 00:21:29 +00:00
rwatson
b246ee0a3c Introduce support for Mandatory Access Control and extensible
kernel access control.

Invoke appropriate MAC entry points for a number of VFS-related
operations in the Linux ABI module.  In particular, handle uselib
in a manner similar to open() (more work is probably needed here),
as well as handle statfs(), and linux readdir()-like calls.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-08-01 22:23:02 +00:00
rwatson
c4ec9fdf47 Introduce support for Mandatory Access Control and extensible
kernel access control.

Hook up various policy modules to the kernel build.

Note that a number of these modules require futher entry point commits
in the remainder of the kernel to become fully functional, but enough
of the pieces are in place to allow experimentation.

Note also that it would be desirable to not build the mac_*.ko modules
if 'options MAC' is not defined in the kernel configuration, because
the resulting modules are not useful without the kernel option.  There
doesn't appear to be precedent for a way to do this -- for example,
we allow ipfw.ko to be built even if 'options NETINET' isn't defined.
Suggests welcomed on the "best" way to do this.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-08-01 17:41:27 +00:00
rwatson
a98ab91552 Introduce support for Mandatory Access Control and extensible
kernel access control.

Modify procfs so that (when mounted multilabel) it exports process MAC
labels as the vnode labels of procfs vnodes associated with processes.

Approved by:	des
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-08-01 02:03:21 +00:00
scottl
450d541ee0 Allow the ahc and ahd drivers to be built as modules. This also
breaks the ahc driver into a core back-end and pci and eisa
front-ends.
2002-08-01 01:36:39 +00:00
rwatson
3ce5d5484c Introduce support for Mandatory Access Control and extensible
kernel access control.

Modify pseudofs so that it can support synthetic file systems with
the multilabel flag set.  In particular, implement vop_refreshlabel()
as pn_refreshlabel().  Implement pfs_refreshlabel() to invoke this,
and have it fall back to the mount label if the file system does
not implement pn_refreshlabel() for the node.  Otherwise, permit
the file system to determine how the service is provided.

Approved by:	des
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-08-01 01:33:12 +00:00
rwatson
36af78ef01 The ppp and tunnel modules now rely on opt_mac.h. Missed in a previous
commit.

Submitted by:	Anders Andersson <anders@hack.org>
2002-07-31 20:19:28 +00:00
iwasaki
b2baff05fb Resolve conflicts arising from the ACPI CA 20020725 import. 2002-07-30 19:35:32 +00:00
joe
1c6108c052 Commit a version of the uvisor driver for connecting Handspring
Visors via USB.

Submitted by:	Chia-liang Kao <clkao@clkao.org>
2002-07-30 17:44:28 +00:00
peter
cc120f8aa8 Remove bktr.h/NBKTR. Set BKTR_FREEBSD_MODULE in opt_bktr.h instead. 2002-07-22 00:08:24 +00:00
nsayer
2502233265 Add uaudio -- a USB audio device driver.
This driver actually works slightly better on -stable than on -current
(the system locks on detach on -current), so it should be MFC'd somewhat
sooner.

This driver currently points out a difficulty in the sound device framework.
The PCM unregister routine is allowed to refuse the detach if the device is
in use. In the case of a USB device, however, this unregistration is much more
mandatory in nature, since the device is *actually* gone when this call is
made. The sound subsystem really should not refuse an unregistration and
should take its own steps to reject further I/O. As a result, if you detach
a USB sound device while it is in use, you can expect a panic shortly
thereafter.

This device cannot currently record audio. Some routines are unwritten as
of yet in uaudio.c to support recording.

This device hangs my -current box on detach. I don't know why. This does
not happen on my -stable machine.

Obtained from:	Hiroyuki Aizu
MFC after:	2 weeks
2002-07-21 17:28:50 +00:00
alfred
df766765ba Add IPv6 support.
Submitted by: Jean-Luc Richier <Jean-Luc.Richier@imag.fr>
2002-07-15 19:40:23 +00:00
markm
2370535caa Upgrade the random device to use a "real" hash instead of building
one out of a block cipher. This has 2 advantages:
1) The code is _much_ simpler
2) We aren't committing our security to one algorithm (much as we
   may think we trust AES).

While I'm here, make an explicit reseed do a slow reseed instead
of a fast; this is in line with what the original paper suggested.
2002-07-15 13:58:35 +00:00
iwasaki
57bb0b6ca4 Resolve conflicts arising from the ACPI CA 20020611 import. 2002-07-09 17:54:02 +00:00
iedowse
54212d560e Add a makefile for building UFS as a module. Since it is of marginal
use it is not built by default, and there are currently bugs that
prevent UFS from being unloaded. Nevertheless it can be useful when
developing UFS code on network-booted machines.
2002-06-30 02:23:12 +00:00
julian
ee54ee6584 bring Makefile up to date with new ipfw
Submitted by:	luigi
2002-06-28 08:10:07 +00:00
ken
0d3a835f3f At long last, commit the zero copy sockets code.
MAKEDEV:	Add MAKEDEV glue for the ti(4) device nodes.

ti.4:		Update the ti(4) man page to include information on the
		TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options,
		and also include information about the new character
		device interface and the associated ioctls.

man9/Makefile:	Add jumbo.9 and zero_copy.9 man pages and associated
		links.

jumbo.9:	New man page describing the jumbo buffer allocator
		interface and operation.

zero_copy.9:	New man page describing the general characteristics of
		the zero copy send and receive code, and what an
		application author should do to take advantage of the
		zero copy functionality.

NOTES:		Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS,
		TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT.

conf/files:	Add uipc_jumbo.c and uipc_cow.c.

conf/options:	Add the 5 options mentioned above.

kern_subr.c:	Receive side zero copy implementation.  This takes
		"disposable" pages attached to an mbuf, gives them to
		a user process, and then recycles the user's page.
		This is only active when ZERO_COPY_SOCKETS is turned on
		and the kern.ipc.zero_copy.receive sysctl variable is
		set to 1.

uipc_cow.c:	Send side zero copy functions.  Takes a page written
		by the user and maps it copy on write and assigns it
		kernel virtual address space.  Removes copy on write
		mapping once the buffer has been freed by the network
		stack.

uipc_jumbo.c:	Jumbo disposable page allocator code.  This allocates
		(optionally) disposable pages for network drivers that
		want to give the user the option of doing zero copy
		receive.

uipc_socket.c:	Add kern.ipc.zero_copy.{send,receive} sysctls that are
		enabled if ZERO_COPY_SOCKETS is turned on.

		Add zero copy send support to sosend() -- pages get
		mapped into the kernel instead of getting copied if
		they meet size and alignment restrictions.

uipc_syscalls.c:Un-staticize some of the sf* functions so that they
		can be used elsewhere.  (uipc_cow.c)

if_media.c:	In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid
		calling malloc() with M_WAITOK.  Return an error if
		the M_NOWAIT malloc fails.

		The ti(4) driver and the wi(4) driver, at least, call
		this with a mutex held.  This causes witness warnings
		for 'ifconfig -a' with a wi(4) or ti(4) board in the
		system.  (I've only verified for ti(4)).

ip_output.c:	Fragment large datagrams so that each segment contains
		a multiple of PAGE_SIZE amount of data plus headers.
		This allows the receiver to potentially do page
		flipping on receives.

if_ti.c:	Add zero copy receive support to the ti(4) driver.  If
		TI_PRIVATE_JUMBOS is not defined, it now uses the
		jumbo(9) buffer allocator for jumbo receive buffers.

		Add a new character device interface for the ti(4)
		driver for the new debugging interface.  This allows
		(a patched version of) gdb to talk to the Tigon board
		and debug the firmware.  There are also a few additional
		debugging ioctls available through this interface.

		Add header splitting support to the ti(4) driver.

		Tweak some of the default interrupt coalescing
		parameters to more useful defaults.

		Add hooks for supporting transmit flow control, but
		leave it turned off with a comment describing why it
		is turned off.

if_tireg.h:	Change the firmware rev to 12.4.11, since we're really
		at 12.4.11 plus fixes from 12.4.13.

		Add defines needed for debugging.

		Remove the ti_stats structure, it is now defined in
		sys/tiio.h.

ti_fw.h:	12.4.11 firmware.

ti_fw2.h:	12.4.11 firmware, plus selected fixes from 12.4.13,
		and my header splitting patches.  Revision 12.4.13
		doesn't handle 10/100 negotiation properly.  (This
		firmware is the same as what was in the tree previously,
		with the addition of header splitting support.)

sys/jumbo.h:	Jumbo buffer allocator interface.

sys/mbuf.h:	Add a new external mbuf type, EXT_DISPOSABLE, to
		indicate that the payload buffer can be thrown away /
		flipped to a userland process.

socketvar.h:	Add prototype for socow_setup.

tiio.h:		ioctl interface to the character portion of the ti(4)
		driver, plus associated structure/type definitions.

uio.h:		Change prototype for uiomoveco() so that we'll know
		whether the source page is disposable.

ufs_readwrite.c:Update for new prototype of uiomoveco().

vm_fault.c:	In vm_fault(), check to see whether we need to do a page
		based copy on write fault.

vm_object.c:	Add a new function, vm_object_allocate_wait().  This
		does the same thing that vm_object allocate does, except
		that it gives the caller the opportunity to specify whether
		it should wait on the uma_zalloc() of the object structre.

		This allows vm objects to be allocated while holding a
		mutex.  (Without generating WITNESS warnings.)

		vm_object_allocate() is implemented as a call to
		vm_object_allocate_wait() with the malloc flag set to
		M_WAITOK.

vm_object.h:	Add prototype for vm_object_allocate_wait().

vm_page.c:	Add page-based copy on write setup, clear and fault
		routines.

vm_page.h:	Add page based COW function prototypes and variable in
		the vm_page structure.

Many thanks to Drew Gallatin, who wrote the zero copy send and receive
code, and to all the other folks who have tested and reviewed this code
over the years.
2002-06-26 03:37:47 +00:00
julian
2ddb82d191 A node that creates a device entry in /dev (yay devfs)
so that /dev/mumble can be the entrypoint to some networking graph,
e.g. a tunnel or a remote tape drive or whatever...

Not fully tested (by me) yet.

Submitted by:	Mark Santcroos <marks@ripe.net>
MFC after:	3 weeks
2002-06-18 21:32:33 +00:00
jhay
8301b3a03b sppp needs slcompress.c nowadays.
PR:		39369
2002-06-17 05:40:49 +00:00
pdeuskar
6d55ec63aa Added support for 82545EM and 82546EB based adapters.
Added Vlan support.

MFC after:	1 week
2002-06-03 22:30:51 +00:00