Commit Graph

1170 Commits

Author SHA1 Message Date
Thomas Moestl
28d187c626 Build a gem module, for sparc64 only for now. 2003-01-08 20:40:29 +00:00
David E. O'Brien
b1c519de65 Add an hme(4) module.
PR:		46871
Submitted by:	Hartmut Brandt <brandt@fokus.gmd.de>
2003-01-08 18:45:04 +00:00
Hidetoshi Shimokawa
d6105b602c - Replace printf() with device_printf().
- Separate fc->dev (i.e. fwohci0) and fc->bdev (i.e. firewire0).
- Remove unused firewirebusreg.h.
- Reduce size of descriptor block for asynchronous transmit and
	check the number of descriptor when copying from mbuf.
- Skip mbuf whose length is zero. NFS seems passing such mbuf and
	some chips generates unrecoverable error.
2003-01-04 10:21:11 +00:00
Hidetoshi Shimokawa
b018dcd1b8 - Implement primal Configuration ROM parser.
- Support multiple LUNs for SBP-II.
2002-12-31 10:28:49 +00:00
Julian Elischer
4ea478a43f Make it work -current style. 2002-12-23 22:33:08 +00:00
Tim J. Robbins
56c1b4ab77 libmchain no longer exports m_fixhdr(); remove it from EXPORT_SYMS. 2002-12-14 00:01:51 +00:00
Scott Long
1f380ae506 Move the amd(4) driver to it's own directory in preparation for it growing
an sbus front-end.
2002-12-13 22:59:18 +00:00
Jake Burkholder
f2de139378 Don't run kldxref when installing modules on sparc64. kldxref and the whole
module dependency system rely on linker behaviour that is machine dependent
and not part of the elf spec, and only work by accident on other platforms.

Approved by:	re
2002-12-13 00:32:29 +00:00
Robert Watson
f7883a793c Correct alphabetization of awi entry.
Inane act of:	re
Spotted by:	bde
2002-12-08 17:59:44 +00:00
Robert Watson
e6f88402ff Move the awi module build dependency into the MACHINE_ARCH=i386 entry. 2002-12-08 03:55:35 +00:00
Robert Watson
3358dbd039 Hook up the awi module for build on i386 and pc98, which appear to be
the supported platforms.  We build it into GENERIC, and it is currently
listed on the supported module list for drivers.conf on i386, which
breaks the release build.  This may fix the release build for RC1 on
i386.

Conspiracy of:	re
2002-12-07 14:06:56 +00:00
Robert Watson
c3a04e1ea4 Unhook the old LOMAC module, now replaced with mac_lomac.
Approved by:	re (jhb)
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-12-03 15:12:36 +00:00
Yoshihiro Takahashi
9e6482fc5b Add Makefile.inc to include ../Makefile.inc.
Approved by:	re (rwatson)
2002-12-01 16:07:53 +00:00
Robert Watson
fe5f892d58 Unhook LOMAC kernel module since the functionality is now provided by
the smaller, cleaner, less bit-rotted mac_lomac module.

Approved by:	re
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-11-26 17:53:27 +00:00
Robert Watson
5773cccf19 Hook up the mac_lomac module build.
Approved by:	re
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-11-26 17:35:44 +00:00
Nate Lawson
c38b150ae4 New SCSI target emulator code
This code allows a user program to enable target mode on a SIM and
then emulate any number of devices (disks, tape drives, etc.)  All
decisions about device behavior (UA, CA, inquiry response) are left
to the usermode program and the kernel driver is merely a conduit
for CCBs.  This enables multiple concurrent target emulators, each
using its own backing store and IO model.

Also included is a user program that emulates a disk (RBC) using a
file as a backing store.  This provides functionality similar to
md(4) at the CAM layer.

Code has been tested on ahc(4) and should also work on isp(4) (and
other SIMs that gain target mode support).  It is a complete rewrite
of /sys/cam/scsi_target* and /usr/share/examples/scsi_target.

Design, comments from:	gibbs
Supported by:		Cryptography Research
Approved by:		re
2002-11-22 22:55:51 +00:00
Scott Long
147e2e207e Hook the RAIDFrame module up to the build
Approved by:	re
2002-11-21 14:52:20 +00:00
Warner Losh
668537ba95 Fix make buildkernel.
These makefiles work when building in the sys/modules directory, but
not with the objdir stuff that buildkernel uses.  This is because they
used -I../../../blah rather than -I${.CURDIR}/../../../blah.

# I didn't fix the abuse of CFLAGS to specify -g since I wanted the
# barest minimal change since we're in a code freeze.

Approved by: make buildkernel...
Hat for armchair anarchists: core member fixing src tree damage
2002-11-21 07:21:45 +00:00
Julian Elischer
075c3f0781 Make the bluetooth modules
Approved by:	re
2002-11-21 00:40:11 +00:00
Julian Elischer
878ed22696 The second try a committing the bluetooth code
Has been seen to work on several cards and communicating with
several mobile phones to use them as modems etc.

We are still talking with 3com to try get them to allow us to include
the firmware for their pccard in the driver but the driver is here..
In the mean time
it can be downloaded from the 3com website and loaded using the utility
bt3cfw(8) (supplied) (instructions in the man page)

Not yet linked to the build

Submitted by:	Maksim Yevmenkin <myevmenk@exodus.net>
Approved by:	re
2002-11-20 23:01:59 +00:00
Maxime Henrion
ab03a6a3e2 Remove opt_pci.h from SRCS, it doesn't exist anymore. 2002-11-13 17:45:42 +00:00
Maxime Henrion
64e53f7655 Remove opt_pci.h from SRCS. 2002-11-13 17:43:37 +00:00
Hidetoshi Shimokawa
17821895ee Split userland services to fwdev.c. 2002-11-12 15:22:19 +00:00
Maxime Henrion
aa26768242 Warning fixes. 2002-11-11 10:28:44 +00:00
Maxime Henrion
97be736aca Warning fix. 2002-11-11 10:17:01 +00:00
Maxime Henrion
cca416b2b1 Don't override CWARNFLAGS in these Makefiles. 2002-11-11 10:11:59 +00:00
Maxime Henrion
00a91cb7f4 Don't override CWARNFLAGS in this Makefile. 2002-11-11 10:07:18 +00:00
John Baldwin
f6af4ff6cb Make 3dfx i386-only. The memrange API it uses may be defined in an MI
header, but it is only implemented on i386.
2002-11-08 20:04:38 +00:00
John Baldwin
787f149830 Move rc(4) over to MI notes and enable it as a MI module. 2002-11-08 19:34:26 +00:00
John Baldwin
7d2ba89bbf Move firewire back to being MI. 2002-11-07 16:19:43 +00:00
John Baldwin
01c8945ca3 Create a MACHINE_ARCH == i386 section that first lists modules common
to both i386 and pc98 and then uses MACHINE subsections to list modules
specific to i386/i386 and i386/pc98.
2002-11-07 15:01:12 +00:00
John Baldwin
246d578cba lnc(4) uses kvtop() and is thus i386-only for now. 2002-11-06 22:56:57 +00:00
John Baldwin
c8341b3e2d Make firewire i386-only for now. It doesn't quite handle machines with
64-bit address spaces yet.  Pointy hat to myself for sticking it in the MI
NOTES file to begin with.
2002-11-06 22:30:33 +00:00
John Baldwin
b76c5a11e5 ed(4) uses kvtop() and is thus i386-only. It has several other warnings
related to sizeof(int) != sizeof(void *), but kvtop() is much harder to
fix.

Approved by:	imp
2002-11-06 22:03:53 +00:00
Yoshihiro Takahashi
ab3626d51a Move adding -DPC98 to CFLAGS from each modules to sys/modules/Makefile.inc. 2002-11-06 13:47:00 +00:00
Yoshihiro Takahashi
c7a1bf8bf3 Include "../Makefile.inc". 2002-11-06 13:41:40 +00:00
Matthew N. Dodd
6fe8789d6d - Convert to newbus, bus_space etc.
- Move to MI space.

Tested on:	 i386
2002-11-05 09:37:32 +00:00
Robert Watson
e5e820fd1f Permit MAC policies to instrument the access control decisions for
system accounting configuration and for nfsd server thread attach.
Policies might use this to protect the integrity or confidentiality
of accounting data, limit the ability to turn on or off accounting,
as well as to prevent inappropriately labeled threads from becoming nfs
server threads.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-11-04 15:13:36 +00:00
Scott Long
fb404d6fcf Hook the aic7xxx modules up. This requires some extra care since aicasm
is a compiler tool and needs to be compiled by the host compiler.  I've
tested this in i386->sparc cross-build, 4.7->current upgrade, normal
buildkernel target, and normal /sys/i386/compile/GENERIC configurations.

Submitted by:	ru
2002-11-03 23:48:14 +00:00
Hidetoshi Shimokawa
3592796a98 Enable if_fwe. 2002-11-03 10:41:30 +00:00
Julian Elischer
585ff168dc Add the netgraph 'source' module.
This is NOT YET CONVERTED TO -current.
This node is a source for preprogrammed packets at a known rate for testing.

I will convert it to -current "in place" but will MFC teh original
pre-conversion variant as that is  what is originally submitted.
Man page my me, info from Dave's README.

Submitted by:	Dave Chapeskie <dchapeskie@SANDVINE.com>
Obtained from:	Sandvine inc.
MFC after:	1 week
2002-10-31 23:03:09 +00:00
John Baldwin
97af632bcb Add an isp(4) module. sbus support is only compiled in on sparc64.
pci support is always compiled in.
2002-10-31 19:50:18 +00:00
John Baldwin
bc96e1c7cf Add a module for mpt(4). 2002-10-31 19:39:23 +00:00
Yoshihiro Takahashi
d2f5398613 Rename the speaker device for pc98 to 'pcspeaker'. 2002-10-31 05:19:33 +00:00
Julian Elischer
6da3d5ce7f Finally get around to committing Bill Paul's FEC netgraph nodes.
These are really only partly netgraph nodes as they do not use the
netgraph interfaces for many of the functions for which they could
be used, however they represent important functionality.

Submitted by:	wpaul
MFC after: 2 days
2002-10-29 19:12:44 +00:00
Maxime Henrion
7ab4b95b67 Don't roll our own clean target, the default one
works better.
2002-10-27 17:06:03 +00:00
Maxime Henrion
5d10e1f7df - Comment a line which sets CISS_DEBUG by default.
- Use -DCISS_DEBUG rather than -DCISS_DEBUG=0.
2002-10-27 12:09:51 +00:00
Robert Watson
763bbd2f4f Slightly change the semantics of vnode labels for MAC: rather than
"refreshing" the label on the vnode before use, just get the label
right from inception.  For single-label file systems, set the label
in the generic VFS getnewvnode() code; for multi-label file systems,
leave the labeling up to the file system.  With UFS1/2, this means
reading the extended attribute during vfs_vget() as the inode is
pulled off disk, rather than hitting the extended attributes
frequently during operations later, improving performance.  This
also corrects sematics for shared vnode locks, which were not
previously present in the system.  This chances the cache
coherrency properties WRT out-of-band access to label data, but in
an acceptable form.  With UFS1, there is a small race condition
during automatic extended attribute start -- this is not present
with UFS2, and occurs because EAs aren't available at vnode
inception.  We'll introduce a work around for this shortly.

Approved by:	re
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-26 14:38:24 +00:00
Marcel Moolenaar
8c7cf505d7 Build the following modules on ia64 as well:
ar, asr, bktr, cardbus, cbb, ep, exca, hea, hfa, ipfilter, lomac,
netgraph, pccard, rc, sound, sppp, vinum.
2002-10-24 07:16:24 +00:00
Kris Kennaway
9670fc7423 Remove gcc-specific optimization/debugging CFLAGS 2002-10-24 03:56:16 +00:00
Robert Watson
51a9219f57 Commit of Makefile missed in earlier pass.
Submitted by:	kuriyama
2002-10-24 02:04:03 +00:00
Robert Watson
5136300015 Provide a simple sample labeled access control policy, mac_partition.
This policy can be loaded dynamically, and assigns each process a
partition number, as well as permitting processes to operate outside
the partition.  Processes contained in a partition can only "see"
processes inside the same partition, so it's a little like jail.
The partition of a user can be set using the label mechanisms in
login.conf.  This sample policy is a good starting point for developers
wanting to learn about how to produce labeled policies, as it labels
only one kernel object, the process credential.

PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-23 23:36:26 +00:00
John Baldwin
599c57a971 - New-bussify the rc(4) device driver.
- Add detach support to the driver so that you can kldunload the module.
  Note that currently rc_detach() fails to detach a unit if any of its
  child devices are open, thus a kldunload will fail if any of the tty
  devices are currently open.
- sys/i386/isa/ic/cd180.h was moved to sys/dev/ic/cd180.h as part of
  this change.

Requested by:	rwatson
Tested by:	rwatson
2002-10-23 15:53:09 +00:00
Robert Watson
78704ef457 opt_mac.h is no longer required for any of these modules, remove from
the dependencies.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-22 17:10:15 +00:00
Bruce Evans
42d6ed038e Fixed some unsorting. 2002-10-21 00:38:18 +00:00
Robert Watson
e585282846 Hook up opt_mac.h to the build dependencies. The way we currently
handle this stuff is dangerous. :-)

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-20 22:59:17 +00:00
Robert Watson
c530b092cb Add opt_mac.h to dependencies for if_stf.c module.
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-20 22:57:22 +00:00
Alexander Kabaev
51d123d69b Connect ubsa module to build.
Forgotten by:	kan
2002-10-20 20:35:14 +00:00
Scott Long
f9d186edc8 After much delay and anticipation, welcome RAIDFrame into the FreeBSD
world.  This should be considered highly experimental.

Approved-by:	re
2002-10-20 08:17:39 +00:00
Eric Moore
1a6b414672 (1) added LSI Logic copyright, and legal line 3 in license, and string
changes for "LSILogic"
(2) enabled non-disk support through CAM interface
(3) HA_INQ (a) enabled tagged queuing (b) disable reset during
	driver loading (b) renamed BSDi string to LSI
(4) disabled detecting disk devices during SCSI INQUIRY
(5) changed dcdb single element sglist to send one entire buffer chunk
(6) nsgelem not set in sglist
(7) ap_data_transfer_length not set for dcdb
(8) changed "struct thread" to "d_thread_t" for compatibliity { xxx_open,
	xxx_close, xxx_ioctl }
(9) miscellaneous compatiblity fixes
(10) bug fix for 0x0409/0x1000 card
(11) added compiling amr_cam.c in sys/conf/files
(12) added compiling amr_cam.c in sys/modules/amr/Makefile

Reviewed by:ps
MFC after:1 week
1 week
2002-10-18 21:29:14 +00:00
Mark Murray
f544a52873 Module-ize the 'core' crypto stuff. This may still need to be compiled
into the kernel by default (if required), but other modules can now
depend() on this.

Fix inter-module dependancy.

Earlier version OK'ed by:	sam
2002-10-16 14:31:34 +00:00
John Baldwin
24b7381388 - Remove unused opt_foo.h headers.
- Don't mess with CFLAGS.
- Fix description of fwe module Makefile.
2002-10-14 19:18:30 +00:00
Yoshihiro Takahashi
0921c98b22 The ep and pccard modules build on pc98. 2002-10-14 10:15:01 +00:00
Olivier Houchard
f3d92b269c Connect trm(4) to the build.
Reviewed by:	mux (mentor)
Approved by:	mux (mentor)
2002-10-13 18:44:26 +00:00
Alexander Kabaev
e59dd53c96 Allow ubsa(4) driver to be build as a kernel module.
Approved by:	obrien
2002-10-10 05:03:09 +00:00
Alfred Perlstein
34c3b2ca51 Disconnect "sem" module from the build. 2002-10-07 04:08:07 +00:00
Maxime Henrion
86597d47cb Oops. Actually connect back msdosfs to the build for every platform.
Spotted by:	bde
2002-10-06 08:07:40 +00:00
Maxime Henrion
ba7fd983ae The msdosfs module now builds on sparc64. No idea if it works
though.
2002-10-05 20:18:34 +00:00
Mitsuru IWASAKI
ba835e3fe6 Add code for ACPI PCI link object manipulation.
This allocate the best IRQ to boot-disable devices (have IRQ 0).
Allocated IRQ will be used for PCI interrupt routing when ACPI is
enabled.

Note that verbose messaging enabled for the time being so that
people can easily notice the strange behavior if it happened.
2002-10-05 02:01:05 +00:00
Sam Leffler
8b7ce2ff52 hookup new crypto support to the config/build process 2002-10-04 20:42:36 +00:00
Sam Leffler
b9085a05a8 module for ubsec crypto driver 2002-10-04 20:35:33 +00:00
Sam Leffler
2fab417438 module for hifn driver 2002-10-04 20:35:23 +00:00
Sam Leffler
aed23bc4ce module for /dev/crypto support 2002-10-04 20:35:02 +00:00
Matthew N. Dodd
e73b093aa9 Turn on the mcd(4) module. 2002-10-04 07:15:34 +00:00
Matthew N. Dodd
3ae5b53264 newbus & bus_space the mcd(4) driver. 2002-10-04 07:14:19 +00:00
Maxim Sobolev
748bb23dcc Since bpf is no longer an optional component, remove associated ifdef's.
Submitted by:	don't quite remember - the name of the sender disappeared
		with the rest of my inbox. :(
2002-10-02 09:38:17 +00:00
Jake Burkholder
aa98088877 Moved the cam and cd9660 modules to the MI list. Don't build msdosfs or
syscons on sparc64; msdosfs will likely never work, syscons needs work.
2002-10-01 19:05:18 +00:00
Warner Losh
9d3b5ef85f need exca too 2002-10-01 06:10:11 +00:00
Matthew N. Dodd
0e0e9411f2 HARP driver for the IDT77201/211 NICStAR ATM Adapter (Including Fore LE155).
Obtained from:	 Richard Hodges <rh@matriplex.com>
2002-09-30 05:12:39 +00:00
Warner Losh
4e54e04e18 Add cardbus, cbb, ep and pccard. These can likely be moved to the MI
section, but I've not had a chance to build them on other
architectures recently enough to add them.
2002-09-26 05:54:24 +00:00
Scott Long
7419815d60 The AAC_COMPAT_LINUX option was really annoying, since it made the
aac driver dependent on the linux emulation module.  This was
especially bad for the release engineers who tried to move the
aac driver from the kernel onto the drivers floppy.  The linux
compat bits for this driver are now in their own driver, aac_linux.
It can be loaded as a module or compiled into the kernel.  For
the latter case, the AAC_COMPAT_LINUX option is needed, along with
the COMPAT_LINUX option.

I've tested this in every configuration I can think of.  This is an
MFC candidate for 4.7.

Idea from:	rwatson
MFC after:	3 days
2002-09-25 05:00:25 +00:00
Alfred Perlstein
4f492bfab5 use __packed. 2002-09-23 18:54:32 +00:00
Jake Burkholder
abc370fa85 Moved nfs_diskless setup code from autoconf.c to nfsclient/nfs_diskless.c
so that it is MI.  Allow nfs_mountroot to return an error if the nfs_diskless
struct is not valid, rather than panicing later on.  Call nfs_setup_diskless()
from nfs_mountroot if NFS_ROOT is defined, like bootpc_init().  Removed legacy
root mount support for sparc64, and enabled NFS_ROOT by default.
2002-09-22 00:59:02 +00:00
Hidetoshi Shimokawa
bddcb995cd Firewire can be built on other than i386 after sbp.c fix.
Tested on: Alpha (beast.freebsd.org)
2002-09-21 15:22:09 +00:00
Alfred Perlstein
6d5dec35b7 Add the rest of the kernel support for the sem_ API in kern/uipc_sem.c.
Option 'P1003_1B_SEMAPHORES' to compile them in, or load the "sem" module
to activate them.

Have kern/makesyscalls.sh emit an include for sys/_semaphore.h into sysproto.h
to pull in the typedef for semid_t.

Add the syscalls to the syscall table as module stubs.
2002-09-19 00:43:32 +00:00
Peter Wemm
66422f5b7a Initiate deorbit burn for the i386-only a.out related support. Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
2002-09-17 01:49:00 +00:00
Yoshihiro Takahashi
3729f1a5a4 Don't build unneeded modules for pc98. 2002-09-16 08:32:48 +00:00
Matt Jacob
9fb117143b Put firewire under architectures it actually might conceivably
build on, let alone actually do some useful work on real hardware.

Namely, put it in i386/pc98. There is no bus_dma.h on the other architecures,
tra la.
2002-09-14 02:05:33 +00:00
Katsushi Kobayashi
f3a49419c0 Add firewire module 2002-09-13 12:42:57 +00:00
Katsushi Kobayashi
3c60ba66c4 Initial import for IEEE1394 OHCI chipdet device driver and SBP-2 (Serial
Bus Protocol 2:SCSI over IEEE1394) support for CAM.
2002-09-13 12:31:56 +00:00
Peter Wemm
8b71896f96 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
Maxim Sobolev
5da5a16d46 Cosmetics: #define NETATALK --> #define NETATALK 1, so that it is in line with
other #define FOO.
2002-09-10 10:19:03 +00:00
Warner Losh
3b257bf450 Remove duplicate entry. Since we call things cbb in the source, pccbb
is obsolete.
2002-09-09 05:35:46 +00:00
Peter Wemm
c503d8706c 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
Thomas Moestl
27d29f428c 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 Wemm
7edc064038 Add the aout module subdir for the i386. 2002-09-07 01:31:38 +00:00
Peter Wemm
5e9e7db454 Add an a.out exec module. 2002-09-07 01:31:21 +00:00
Maxim Sobolev
b5e8c7d783 Connect if_gre module to the build. 2002-09-06 17:18:53 +00:00
Maxim Sobolev
856af10e6a Add if_gre module glue. 2002-09-06 17:17:33 +00:00
Justin T. Gibbs
3251b39822 Remove aic7xxx from the module build framework until all bootstrapping
issues are resolved.
2002-09-03 16:54:48 +00:00
Justin T. Gibbs
7881765df4 Add cleandepend target. 2002-08-31 17:15:43 +00:00
Justin T. Gibbs
e340544a9a Pass the cleandir target on to the aicasm Makefile. This should
fix the buildkernel target.
2002-08-31 14:50:46 +00:00
Justin T. Gibbs
02b8bc8062 Complete the hookup of ahd/ahc module building. 2002-08-31 06:57:50 +00:00
Warner Losh
1fd2cdcb2f 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
Bruce Evans
d834a93b27 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
John Baldwin
abec7762ba 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
John Baldwin
3cb751691f Oops, forgot to hook up the ACPI PCI bus in the module.
Noticed by:	imp
2002-08-26 19:00:36 +00:00
John Baldwin
e7f52ff8bb 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 Cobbs
613744fcb4 Keep subdirectory list sorted. 2002-08-20 23:58:49 +00:00
Archie Cobbs
a9c61b3dfc Add ng_l2tp module. 2002-08-20 22:03:57 +00:00
Yoshihiro Takahashi
48093d339b Remove duplicate vinum entry. 2002-08-20 14:41:44 +00:00
Mike Barcroft
b9414ee6bc Catch up to rev 1.8 of sys/alpha/osf1/osf1_mount.c. 2002-08-18 05:45:10 +00:00
Orion Hodson
ae83180158 Support for VIA VT8233 audio controller. 2002-08-17 16:23:44 +00:00
Alfred Perlstein
97b0a9a249 Remove cam_extend.c from sources to unbreak modules.
Missed by: kern/39809,njl
2002-08-15 21:41:59 +00:00
Robert Watson
4d4c1c5ca2 Depend on opt_mac.h. 2002-08-12 15:27:17 +00:00
Alfred Perlstein
d7567ff763 add opt_mac.h to SRCS to unbreak module build. 2002-08-12 07:20:15 +00:00
Robert Watson
d6b71299d2 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
Josef Karthauser
31f48889ad 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 Davis
05c872ad62 Make ppp(4) devices clonable and unloadable. 2002-08-09 15:30:48 +00:00
Benno Rice
0c1b03065b Connect bmtphy to the mii module build.
Forgotten a long time ago by:	benno
2002-08-06 06:09:47 +00:00
Warner Losh
a0cd6004a9 We now have opt_wi.h, so go ahead and add it. Default it to 1. 2002-08-03 00:21:29 +00:00
Robert Watson
eddc160e00 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
Robert Watson
ebbd4fa8c8 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
Robert Watson
c1ff2d9baf 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
Scott Long
0d74300cae 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
Robert Watson
dee93f2c52 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
Robert Watson
5aae45c2e6 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
Mitsuru IWASAKI
b69ed3f4c6 Resolve conflicts arising from the ACPI CA 20020725 import. 2002-07-30 19:35:32 +00:00
Josef Karthauser
ca095220db 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 Wemm
297c910258 Remove bktr.h/NBKTR. Set BKTR_FREEBSD_MODULE in opt_bktr.h instead. 2002-07-22 00:08:24 +00:00
Nick Sayer
d807a231a2 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 Perlstein
09ce4f7aaf Add IPv6 support.
Submitted by: Jean-Luc Richier <Jean-Luc.Richier@imag.fr>
2002-07-15 19:40:23 +00:00
Mark Murray
bbf09ad887 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
Mitsuru IWASAKI
98479b041b Resolve conflicts arising from the ACPI CA 20020611 import. 2002-07-09 17:54:02 +00:00
Ian Dowse
c21c16a492 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 Elischer
3c9a1810ff bring Makefile up to date with new ipfw
Submitted by:	luigi
2002-06-28 08:10:07 +00:00
Kenneth D. Merry
98cb733c67 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 Elischer
a835396035 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
John Hay
cd669cef39 sppp needs slcompress.c nowadays.
PR:		39369
2002-06-17 05:40:49 +00:00
Prafulla Deuskar
a7fabc2b60 Added support for 82545EM and 82546EB based adapters.
Added Vlan support.

MFC after:	1 week
2002-06-03 22:30:51 +00:00
Matthew N. Dodd
b327025f16 Build a 'hea_pci' driver module. 2002-06-03 09:13:53 +00:00
Matthew N. Dodd
3a6cbf0164 - Add 'hea'.
- Compile 'hfa' only on i386 (for now).
2002-06-03 09:13:22 +00:00
Takanori Watanabe
80f1001813 Make oldcard and newcard kernel module work. 2002-05-30 17:38:00 +00:00
Marcel Moolenaar
ea71f12b92 Remove bktr for ia64. Same problem as vinum. See PR 38678. 2002-05-29 05:09:51 +00:00
Marcel Moolenaar
ed323145fe Vinum doesn't build on ia64.
See PR: 38678
2002-05-29 04:51:14 +00:00
Marcel Moolenaar
2cbf3dd11a Remove asr from the ia64 build. Its use of KERNBASE appears i386
specific by way of which headers are being included (and headers
not included).
2002-05-19 03:59:06 +00:00
Marcel Moolenaar
c444f61706 Hook up the new linux_ptrace implementation.
PR: 33299
Submitted by: Alexander N. Kabaev <ak03@gte.com>
2002-05-19 01:27:14 +00:00
Ian Dowse
9504abaad7 Complete the separation of ext2fs from ufs by copying the remaining
shared code and converting all ufs references. Originally it may
have made sense to share common features between the two filesystems,
but recently it has only caused problems, the UFS2 work being the
final straw.

All UFS_* indirect calls are now direct calls to ext2_* functions,
and ext2fs-specific mount and inode structures have been introduced.
2002-05-16 19:08:03 +00:00
Ruslan Ermilov
be1d673d24 Check that kldxref(8) exists before running it. 2002-05-14 07:49:12 +00:00
Peter Wemm
701964e4a2 Zap KMODDEPS entries so that people do not wonder why it isn't working on
-current.

Apolgies to: anhold
2002-05-01 01:34:48 +00:00