Commit Graph

179 Commits

Author SHA1 Message Date
Hellmuth Michaelis
9ed6ae76c7 add experimental support for Data over Voice (DoV) outgoing calls.
based on patches received from Guy Ellis (guy@traverse.com.au),
Chris Collins (xfire@xware.cx) and Phillip Musumeci (phillip@cs.jcu.edu.au).
2002-08-11 15:47:26 +00:00
Brooks Davis
22afbb6bb0 Remote pci.h/NPCI usage from i4b code.
Approved by:	hm
2002-06-13 06:04:28 +00:00
Jens Schweikhardt
21dc7d4f57 Fix typo in the BSD copyright: s/withough/without/
Spotted and suggested by:	des
MFC after:	3 weeks
2002-06-02 20:05:59 +00:00
Alfred Perlstein
7e743e3a41 Unbreak LINT by compensating for the
ng_parse_struct_info -> ng_parse_struct_field change.
2002-06-01 19:54:21 +00:00
Bruce Evans
e788f79698 Fixed printf format errors which apparently crept in while -Wformat was
disabled for gcc-3.
2002-05-25 11:18:03 +00:00
Peter Wemm
b01d78f42f Oops, I missed this warning. Comment out extra junk after #endif 2002-05-24 06:22:48 +00:00
Peter Wemm
fe8ae4dd13 Fix some low hanging fruit warnings. There are problems in i4b_ing.c
still, but they are due due to some bogosity in netgraph.
2002-05-24 05:46:50 +00:00
Gary Jennejohn
c0a06166a0 Fix a problem which could cause some machines to hang after a warm boot.
This should be in 4.6.

Submitted by:	Ari Suutari <ari.suutari@syncrontech.com>
2002-05-10 12:04:04 +00:00
Gary Jennejohn
3573a23fa1 Change instances of avma1pp2- to ifpi2- in printf's since the name
of the driver should be emitted.

This was already changed in the code committed to RELENG_4.
2002-04-28 11:47:10 +00:00
Gary Jennejohn
bb83e7583e On slow machines interrupts could be lost, so check for pending
interrupts in a loop.

Tested by: Andrew Gordon <arg-bsd@arg1.demon.co.uk>
2002-04-23 10:25:35 +00:00
John Baldwin
6008862bc2 Change callers of mtx_init() to pass in an appropriate lock type name. In
most cases NULL is passed, but in some cases such as network driver locks
(which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used.

Tested on:	i386, alpha, sparc64
2002-04-04 21:03:38 +00:00
John Baldwin
44731cab3b Change the suser() API to take advantage of td_ucred as well as do a
general cleanup of the API.  The entire API now consists of two functions
similar to the pre-KSE API.  The suser() function takes a thread pointer
as its only argument.  The td_ucred member of this thread must be valid
so the only valid thread pointers are curthread and a few kernel threads
such as thread0.  The suser_cred() function takes a pointer to a struct
ucred as its first argument and an integer flag as its second argument.
The flag is currently only used for the PRISON_ROOT flag.

Discussed on:	smp@
2002-04-01 21:31:13 +00:00
Hellmuth Michaelis
3c1d185c2a Add support for Q.931 subaddresses.
Submitted by: Steven Looman <fsteevie@wish.net>
2002-03-26 15:13:54 +00:00
Alfred Perlstein
89c9a48352 Remove __P. 2002-03-20 07:51:46 +00:00
Hellmuth Michaelis
e0d83003c4 Clean up the i4b kernel part: remove unmaintained #if(def)s for NetBSD,
OpenBSD and BSD/OS and respective code, remove pre $FreeBSD CVS id's,
remove #if(def)s and respective code for FreeBSD versions < 5 .
2002-03-17 09:33:15 +00:00
Hellmuth Michaelis
cd987b48ab remove BSD/OS specific ppp-interface file since the FreeBSD-BSD/OS merger
is IMHO likely not to happen anymore ...
2002-03-09 13:18:24 +00:00
Hellmuth Michaelis
b25b877461 After joergs merge of i4b's sppp with the main sppp, remove obsolete file. 2002-03-09 13:14:49 +00:00
Peter Wemm
183439a14a Quiet bogus gcc warning 2002-02-28 03:15:53 +00:00
Gary Jennejohn
ffa4ab673b Remove a redundant decalaration of call_desc[] since it's now a
fatal error.
2002-02-27 08:33:08 +00:00
Gary Jennejohn
4c6aff87c8 Make call_desc[] extern since it's also defined in layer4/i4b_l4mgmt.c
which was causing the link of the kernel to fail. Since layer4/i4b_l4mgmt.c
is always required by i4b and layer3/i4b_q931.c is only needed when a
passive card is present it makes sense to have the declaration in the
former file only.

No MFC required since the problem only became apparent after a change to
the compile options in -current which AFAIK wasn't made in -stable.
2002-01-13 19:16:52 +00:00
Gary Jennejohn
588974c99a Fix some places where the macro L0IFPIUNIT was used instead of the correct
form L0IFPI2UNIT. This could result in a panic if the user tried to
trace using isdntrace(8). I fixed this locally but forgot to commit it.

Reminded by:	"Wittig, Christoph" <wc@medianet-world.de>
2002-01-02 12:55:04 +00:00
Joerg Wunsch
c4552f53b1 Remove unused includes. 2001-12-31 09:31:30 +00:00
Joerg Wunsch
230ce3668b Fix two typos in previous commit. 2001-12-30 19:37:41 +00:00
Joerg Wunsch
734b6a9ee0 Remove references to i4b/driver/i4b_ispppsubr.c, now that
net/if_spppsubr.c has all its features.

Hooray, it's gone!

MFC after:	1 month
2001-12-30 18:48:24 +00:00
Gary Jennejohn
1c6126426b Protect mtx_init() invocations with mtx_intialized() checks to avoid a
reported panic.

Submitted by:	Alexander Leidinger <Alexander@Leidinger.net> (partly)
MFC after:	4 weeks
2001-12-30 09:27:28 +00:00
Gary Jennejohn
01ecab4055 Fix an error which could cause a panic if both an ifpi and ifpi2 controller
were installed.

For the ifpi2, change the string in the driver_t from "ifpi2" to
"ifpi2-" so that one sees "ifpi2-0" instead of "ifpi20" at boot time.
2001-12-29 17:19:25 +00:00
Gary Jennejohn
dc16760bf7 Add support for the AVM Fritz!Card PCI version 2 controller.
MFC after:	4 weeks
2001-12-22 09:25:55 +00:00
Gary Jennejohn
c3e8386594 Add a driver for the AVM Fritz!Card PCI version 2 ISDN controller.
MFC after:	4 weeks
2001-12-22 09:22:02 +00:00
David E. O'Brien
6e551fb628 Update to C99, s/__FUNCTION__/__func__/,
also don't use ANSI string concatenation.
2001-12-10 08:09:49 +00:00
Hellmuth Michaelis
365bf7980c fix kvprintf panic in attach routine 2001-10-24 14:12:47 +00:00
Hellmuth Michaelis
8ae67d78bf Fix bug attaching the ELSA PCC16, the cardtyp value was set incorrectly
in the probe routine.
MFC after:	3 days
2001-10-21 09:22:48 +00:00
Hellmuth Michaelis
676ccc0cd0 Add a driver for the Compaq Microcom 610 ISDN (Compaq series PSB2222I) ISA PnP
card.

Submitted by:   Steve Looman
Reviewed by:    hm
MFC after:      1 month
2001-10-21 09:20:52 +00:00
Hellmuth Michaelis
a986a974e9 It seems that I slipped a nasty bug into the CAPI support. The message
lengths for CONNECT_REQ and CONNECT_IND are incorrect, which causes
dialouts to fail after certain error situations (an invalid -- not
wrong! -- number has been dialed). Since these messages are tagged as
too short, the device reads trailing garbage as the B protocol
parameters; this is OK as long as the garbage consists of zero bytes,
which it usually does, except after the said error.

Another change we have taken into use is to send an explicit Q.850
"normal call clearing" code when a call is ignored using PRI equipment
(specifically AVM T1); the CAPI pseudo-code for ignore, 1, translates
into something at least Ericsson exchanges interpret oddly (message
"this area is not reachable from your number"). NCCLR makes the exchange
give a busy signal, which is the behaviour at least we prefer
(conceivably, the ignore code could be made a sysctl variable).

The attached patch corrects the message length issue. It also includes a
somewhat unpretty solution for the PRI ignore code (if device's number
of channels equals 30, assume PRI and send NCCLR, otherwise send CAPI
ignore). Tested using AVM B1 PCI and T1 PCI.

Submitted by:	Juha-Matti Liukkonen <jml@cubical.fi>
Reviewed by:	hm
MFC after:	1 month
2001-10-21 08:51:54 +00:00
Hellmuth Michaelis
8f3a90354e Add experimental support for sending keypad facility messages.
MFC after: 2 months
2001-10-18 11:58:49 +00:00
Jonathan Lemon
a743950fc2 sppp rewrites the interface's ip address directly; this breaks when the
address is looked up via a hash table.  Add a hack to move the entry to
a new hash bucket when the address changes.

Submitted by: tmm
2001-10-01 18:03:56 +00:00
Julian Elischer
b40ce4165d KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
Kris Kennaway
bf61e26696 Fix some signed/unsigned integer confusion, and add bounds checking of
arguments to some functions.

Obtained from:	NetBSD
Reviewed by:	peter
MFC after:	2 weeks
2001-09-10 11:28:07 +00:00
Hellmuth Michaelis
f305cfab6a make driver compile under 4.3-STABLE 2001-07-22 19:55:05 +00:00
Hellmuth Michaelis
4d02f92dd2 update step. 2001-07-21 11:31:27 +00:00
Hellmuth Michaelis
6b244dc54b Submitted by: Juha-Matti Liukkonen (Cubical Solutions Ltd) (jml@cubical.fi)
Add a CAPI (hardware independent) driver i4bcapi(4) and hardware driver
iavc (4) to support active CAPI-based BRI and PRI cards (currently AVM
B1 and T1 cards) to isdn4bsd.
2001-05-25 08:43:30 +00:00
Hellmuth Michaelis
078aac9c09 Submitted by: Juha-Matti Liukkonen, Cubical Solutions Ltd (jml@cubical.fi)
Reviewed by:	hm

Bug in i4btel driver read routine corrected. The conditions in the
while() clause caused the receive queue to be referenced before checking
if a channel is connected, leading to kernel panic (do a 'dd
if=/dev/i4btel0 of=/dev/null' on an unconnected tel device, panic will
follow). Correction was to reorder the while clause conditions to check
for connectedness first.
2001-05-21 09:24:48 +00:00
Jens Schweikhardt
de79862524 pseudo-device -> device in kernel config.
Reviewed by:	joerg, dd
2001-05-01 11:26:14 +00:00
Poul-Henning Kamp
f83880518b Send the remains (such as I have located) of "block major numbers" to
the bit-bucket.
2001-03-26 12:41:29 +00:00
Joerg Wunsch
4161cdbce1 (MFC candidate since this is already a merge from /sys/net only.)
Merge rev's 1.65 and 1.66 from sys/net/if_spppsubr.c (implement the
`restart' option, and fix a blatant bug with PAP authentication).

The i4b implementation of this file should be merged back, but for now,
we need this here as well.

Reviewed by:	gj
2001-03-25 09:59:23 +00:00
Jeroen Ruigrok van der Werven
7c63796828 Preceed/preceeding are not english words. Use precede or preceding. 2001-02-18 10:25:42 +00:00
Jeroen Ruigrok van der Werven
1a6e52d0e9 Fix typo: seperate -> separate.
Seperate does not exist in the english language.
2001-02-06 11:21:58 +00:00
Poul-Henning Kamp
fc2ffbe604 Mechanical change to use <sys/queue.h> macro API instead of
fondling implementation details.

Created with: sed(1)
Reviewed by: md5(1)
2001-02-04 13:13:25 +00:00
Peter Wemm
19b61693ce Pull the rug from under the 'LKM Compatability' macro - PSEUDO_SET().
There are two 3rd party code chunks using this still - the IPv6 stuff and
i4b.  Give them a private copy as an alternative to changing them too much.

XXX sys/kernel.h still has a #include <sys/module.h> in it.  I will be
taking this out shortly - this affects a number of drivers.
2001-02-04 11:46:17 +00:00
Peter Wemm
920c17857f Stop counting sppp interfaces, we were just testing its presence to give
a warning if it was missing.
2001-01-29 12:27:46 +00:00
Hellmuth Michaelis
d04d012625 Add experimental support for Eicon.Diehl DIVA 2.0 and 2.02 ISA PnP cards.
Thanks a lot to Jakob Schripsema (sch@kpn.com) for pointing out similarities
of the Eicon 2.02 to the Siemens I-surf driver !
2001-01-26 13:16:11 +00:00
Hellmuth Michaelis
8567e1d3e2 Add experimental support for Eicon.Diehl DIVA 2.0 and 2.02 ISA PnP cards.
Increment i4b minor revision (=step) so a buildworld or a make install in
/usr/src/sys/include is necessary to get isdnd and i4b kernel parts in sync.
2001-01-26 13:12:56 +00:00
Hellmuth Michaelis
b5dd89c336 remove redundant definitions of card types:
- remove all occurances of FLAG_XXX values and replace with CARD_TYPEP_XXX
 - remove sc_flag from isic softc and replace it with sc_cardtyp
remove some left over redundant definitions from isic and i4b_l1.h
remove left over cvs id from i4b cvs repository
2001-01-24 08:41:52 +00:00
Hellmuth Michaelis
74acef9ae7 Remove useless variable vjlen.
Submitted by:	Sergio de Souza Prallon <prallon@tmp.com.br>
2001-01-23 10:01:55 +00:00
Hellmuth Michaelis
92ced03849 Update the iwic driver: fix error handling for rx errors on the D-channel
which prevents erroneous packets from being put onto the protocol stack;
enhance error detection for B-channel HDLC errors; remove old cvs id´s.
2001-01-21 10:12:50 +00:00
Garrett Wollman
074a4a2c84 Finish deprecating <sys/select.h> in favor of <sys/selinfo.h> in kernel code. 2001-01-20 02:24:07 +00:00
Hellmuth Michaelis
54a232485c it seems that a commit to i4b/drivers/i4b_ispppsubr.c on 2000-01-12 has
broken the handling of uncompressed VJ packets. The attached diff should
hopefully fix that.
Submitted by:	Thomas Moestl <tmoestl@gmx.net>
Reviewed by:	Sergio de Souza Prallon <prallon@tmp.com.br>
2001-01-15 14:58:46 +00:00
Hellmuth Michaelis
23f507c5d1 Reenable support for FreeBSD 4.x and possibly the other supported BSD's 2001-01-15 14:54:43 +00:00
Hellmuth Michaelis
6c5ddf6863 Fix a bug overwriting random data when Van Jacobsen header compression
was used with the isp/isppp driver.
Submitted by:	Sergio de Souza Prallon <prallon@tmp.com.br>
2001-01-12 08:48:54 +00:00
Hellmuth Michaelis
2fbe70cb49 Add the ISDN itjc hardware driver. This driver supports the NETJet-S cards
from Traverse Technology and also the Teles PCI-TJ cards both based on the
chipset combination of the Siemens ISAC and the TJNet Tiger300/320 chips.

The itjc/i4b_hdlc.h file will hopefully soon be merged with the file
/usr/src/sys/i4b/layer1/i4b_hdlc.h.

Submitted by:	Sergio de Souza Prallon <prallon@tmp.com.br>
2001-01-11 14:35:45 +00:00
Hellmuth Michaelis
6624680fec Add infrastructure to support the ISDN itjc hardware driver.
Submitted by:	Sergio de Souza Prallon <prallon@tmp.com.br>
2001-01-11 14:26:39 +00:00
Hellmuth Michaelis
2fd9d69993 Update the ihfc driver with a patch from the author. He writes: This patch
enables the driver to work on current (I have not tested the isa part fully,
but I suppose it should work). The patching from jlemon caused a crash at
probe time. This is probably my fault not having added a comment for
"RESET_SOFT" saying: "this resets all!".

Submitted by:	Hans Petter Selasky <hselasky@c2i.net>
2001-01-11 13:38:38 +00:00
Hellmuth Michaelis
0dac6ca13f Add PCI id's for the Planet PCI ISDN Adapter (Model IA128P-STDV)
Submitted by:	Luiz Henrique Duma <duma@bsi.com.br>
2001-01-10 13:34:23 +00:00
Jonathan Lemon
13403f7fd8 Move the mutex initialization from avma1pp_bchannel_setup into
avma1pp_attach_avma1pp, since the former may be called multiple
times and we only want to initialize the mutex once.

Submitted by: Thomas Moestl <tmoestl@gmx.net>
2001-01-09 15:01:42 +00:00
Jonathan Lemon
5f107f17b2 When queueing a packet, call the output start routine. I botched this
during the initial ifqueue conversion.

Submitted by: Thomas Moestl <tmoestl@gmx.net>
2001-01-09 14:59:43 +00:00
Julian Elischer
30400f03aa Part 2 of the netgraph rewrite.
This is mostly cosmetic changes, (though I caught a bug or two while
makeing them)
Reviewed by:	archie@freebsd.org
2001-01-08 05:34:06 +00:00
Julian Elischer
069154d55f Rewrite of netgraph to start getting ready for SMP.
This version is functional and is aproaching solid..
notice I said APROACHING. There are many node types I cannot test
I have tested: echo hole ppp socket vjc iface tee bpf async tty
The rest compile and "Look" right.  More changes to follow.
DEBUGGING is enabled in this code to help if people have problems.
2001-01-06 00:46:47 +00:00
Julian Elischer
589f6ed8ce Divorce the kernel binary ABI version number from the message
format version number. (userland programs should not need to be
recompiled when the netgraph kernel internal ABI is changed.

Also fix modules that don;t handle the fact that a caller may not supply
a return message pointer. (benign at the moment because the calling code
checks, but that will change)
2000-12-18 20:03:32 +00:00
Julian Elischer
ca976de62f Change initialiser to match new structure layout.
forgotten by: Me
Found by: GCC
2000-12-12 23:52:43 +00:00
Julian Elischer
859a4d166c Reviewed by: Archie@freebsd.org
This clears out my outstanding netgraph changes.
There is a netgraph change of design in the offing and this is to some
extent a superset of soem of the new functionality and some of the old
functionality that may be removed.

This code works as before, but allows some new features that I want to
work with and evaluate. It is the basis for a version of netgraph
with integral locking for SMP use.

This is running on my test machine with no new problems :-)
2000-12-12 18:52:14 +00:00
Hellmuth Michaelis
1fa9b0422d Bugfix: enable interrupt sharing for ELSA Microlink ISDN PCI 2000-12-03 16:20:33 +00:00
Poul-Henning Kamp
4d88c4598f Make log(-1, ...) do what addlog(...) did.
Replace all uses of addlog(...) with log(-1, ...)

Remove bogus "register" keywords in subr_prf.c

Make log() return void.
2000-11-26 19:34:06 +00:00
Jonathan Lemon
df5e198723 Lock down the network interface queues. The queue mutex must be obtained
before adding/removing packets from the queue.  Also, the if_obytes and
if_omcasts fields should only be manipulated under protection of the mutex.

IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on
the queue.  An IF_LOCK macro is provided, as well as the old (mutex-less)
versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which
needs them, but their use is discouraged.

Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF,
which takes care of locking/enqueue, and also statistics updating/start
if necessary.
2000-11-25 07:35:38 +00:00
Hellmuth Michaelis
b51f30edab Fix i4b netgraph interface to not kernel panic at boot time
Make code compile and work for FreeBSD 4.x as well as FreeBSD 5.x
Submitted by: Michael Reifenberger <root@nihil.plaut.de>
2000-11-09 12:27:31 +00:00
Jeroen Ruigrok van der Werven
b95c229b4d Fix two typo's: teh -> the, ther -> there. 2000-11-08 12:08:53 +00:00
Hellmuth Michaelis
86bc05b331 Remove unused #include statements
Submitted by:	phk
2000-10-30 14:49:26 +00:00
Hellmuth Michaelis
f33f907ea4 Add infrastructure for Cologne Chip HFC-S PCI driver. 2000-10-26 07:00:05 +00:00
Hellmuth Michaelis
d1dad62933 Add infrastructure for Cologne Chip HFC-S PCI driver.
Increment isdn4bsd step.
2000-10-26 06:58:43 +00:00
Hellmuth Michaelis
065a09a83c Make the software HDLC decoder work again.
Submitted by:	Hans Petter Selasky <hselasky@c2i.net>
2000-10-26 06:31:18 +00:00
Hellmuth Michaelis
1c2715d95d Submitted by: Hans Petter Selasky <hselasky@c2i.net>
Remove double 0x7e flags between hdlc-frames.
2000-10-20 11:20:58 +00:00
Hellmuth Michaelis
5682901b52 Add a debug flag bit for a new driver. 2000-10-18 08:39:24 +00:00
Poul-Henning Kamp
db7e3af111 Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
Hellmuth Michaelis
5d113d0ac0 Submitted by: phk
Remove not needed includes.
2000-10-13 14:10:51 +00:00
Hellmuth Michaelis
53cfbb7360 When T308 times out while waiting for a RELEASE COMPLETE, clean up and
send a disconnect indication to the upper layers. This lets isdnd recover
from the situation instead of hanging in some intermediate state ...
2000-10-12 16:04:58 +00:00
Hellmuth Michaelis
81f87bbcbe fix conflicting types for ng_ing_rcvmsg() and ng_ing_rcvdata(). 2000-10-10 15:22:00 +00:00
Hellmuth Michaelis
8628ee392c Set i4b version number to 0.96.00.
It is (nearly) identical to i4b-00.96.00-beta-101000.tar.gz
2000-10-10 14:14:20 +00:00
Hellmuth Michaelis
767469d9b2 update to i4b version 0.95.04 (oops, forgot this one ..) 2000-10-09 14:30:50 +00:00
Hellmuth Michaelis
17939d43c6 remove MAINTAINER: i'll develop and maintain i4b from now on in the
FreeBSD-current tree
2000-10-09 14:29:16 +00:00
Hellmuth Michaelis
a86390df07 remove the tina-dd driver fragment, it is unlikely that it will get finished. 2000-10-09 13:32:02 +00:00
Hellmuth Michaelis
440c876352 update to i4b version 0.95.04 2000-10-09 13:29:00 +00:00
Hellmuth Michaelis
7b22f87786 update to i4b version 0.95.04 2000-10-09 13:18:17 +00:00
John Baldwin
9a94c9c5c3 - Remove the inthand2_t type and use the equivalent driver_intr_t type from
newbus for referencing device interrupt handlers.
- Move the 'struct intrec' type which describes interrupt sources into
  sys/interrupt.h instead of making it just be a x86 structure.
- Don't create 'ithd' and 'intrec' typedefs, instead, just use 'struct ithd'
  and 'struct intrec'
- Move the code to translate new-bus interrupt flags into an interrupt thread
  priority out of the x86 nexus code and into a MI ithread_priority()
  function in sys/kern/kern_intr.c.
- Remove now-uneeded x86-specific headers from sys/dev/ata/ata-all.c and
  sys/pci/pci_compat.c.
2000-09-13 18:33:25 +00:00
Poul-Henning Kamp
db90128160 Avoid the modules madness I inadvertently introduced by making the
cloning infrastructure standard in kern_conf.  Modules are now
the same with or without devfs support.

If you need to detect if devfs is present, in modules or elsewhere,
check the integer variable "devfs_present".

This happily removes an ugly hack from kern/vfs_conf.c.

This forces a rename of the eventhandler and the standard clone
helper function.

Include <sys/eventhandler.h> in <sys/conf.h>: it's a helper #include
like <sys/queue.h>

Remove all #includes of opt_devfs.h they no longer matter.
2000-09-02 19:17:34 +00:00
Poul-Henning Kamp
3f54a085a6 Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)
Remove old DEVFS support fields from dev_t.

  Make uid, gid & mode members of dev_t and set them in make_dev().

  Use correct uid, gid & mode in make_dev in disk minilayer.

  Add support for registering alias names for a dev_t using the
  new function make_dev_alias().  These will show up as symlinks
  in DEVFS.

  Use makedev() rather than make_dev() for MFSs magic devices to prevent
  DEVFS from noticing this abuse.

  Add a field for DEVFS inode number in dev_t.

  Add new DEVFS in fs/devfs.

  Add devfs cloning to:
        disk minilayer (ie: ad(4), sd(4), cd(4) etc etc)
        md(4), tun(4), bpf(4), fd(4)

  If DEVFS add -d flag to /sbin/inits args to make it mount devfs.

  Add commented out DEVFS to GENERIC
2000-08-20 21:34:39 +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
Peter Wemm
55b161a4d3 Make this compile without the old 2.2 compatability defines. 2000-05-28 16:24:17 +00:00
Peter Wemm
6a4c2576dc Mass update of isa drivers using compatability shims to use
COMPAT_ISA_DRIVER() so that we can get rid of the evil isa_compat.h table.
2000-05-28 13:40:48 +00:00
Poul-Henning Kamp
e9340d96fa Remove 42 unneeded #include <sys/ioccom.h>.
ioccom.h defines only implementation detail, and should therefore
only be included from the #include which defines the ioctl tags,
in other words: never include it from *.c
2000-05-03 07:31:38 +00:00
Poul-Henning Kamp
eb95c536ad Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +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
Hellmuth Michaelis
17df19190a Fix a problem which caused i/o resource allocation conflict of this
particular ISDN card with the 2nd IDE controller and/or other cards
depending on configuration.

The amount of i/o ports allocated are reduced from 0x40 per range to
0x20 per range.

Submitted by:	Andrew Gordon <arg@arg1.demon.co.uk>
Approved by:	jkh
2000-03-09 20:57:47 +00:00