Commit Graph

486 Commits

Author SHA1 Message Date
tsutsui 613923b42e Add a MI driver for the Symbios/NCR 53c710 SCSI controller.
This is based on amiga's siop driver, but converted to use
bus_space(9) functions and modified to fit bus_dma(9) framework.

Currently tested on NetBSD/arc with jazzio 53c710 SCSI,
which really requires bus_dma(9) functions :-)
Sync transfers and disconnect/reconnect are also working.

TODO:
- Test under more heavy load
- Clean up osiop_checkintr() hander
- Reorganize command queue and sync negotiation handling more suitable
  for thorpej-scsipi mid-layer
- Re-think defered interrupt handling for amiga
2001-04-30 04:47:50 +00:00
martin b5b75a7d19 Add an in-kernel PPPoE (ppp over ethernet, RFC 2516) implementation,
based on the existing net/if_spppsubr.c stuff.

While there are completely userland (bpf based) implementations available,
those have a vastly larger per packet overhead thus causing major CPU
overhead and higher latency. On an i386 base router, running a 486DX at 50MHz
my line (768kBit/s downstream) was limited to something (varying) between 10
and 20 kByte/s effective download rate. With this implementation I get full
bandwidth (~85kByte/s).

This is client side only. Arguably the right way to add full PPPoE support
(including server side) would be a variation of the ppp line discipline and
appropriate modifications to pppd. I promise every help I can give to anyone
doing that - but I needed this realy fast. Besids, on low memory NAT boxes
with typically a single PPPoE connection, this implementation is more
lightweight than a pppd based one, which nicely fits my needs.
2001-04-29 09:50:36 +00:00
fredette b56ccf464d Add entries for the NatSemi MM58167 time-of-day clock chip
and the chipset used in the Sun2 "sc" SCSI adapters.
2001-04-20 16:39:22 +00:00
thorpej e0b3faf07e Add configuration glue for forthcoming bridge code. 2001-04-11 03:43:23 +00:00
jdolecek 592dfdc76b Prepare for MCA attachment:
* split off sharable stuff to dev/ic/ate_subr.[ch], move ate(4) device
  definition to conf/files
* cosmetic: attach with ate_isa
2001-03-31 00:26:53 +00:00
fvdl 87d29abbf0 defopt NAMECACHE_ENTER_REVERSE 2001-03-29 22:40:06 +00:00
martin 5171d409a5 First step to cleanup the hardware driver <-> upper layers interface.
This now provides slightly more functionality than the FreeBSD layer1-newbus
interface. It was meant to be a simple change to one header and a few
c files, but the change rippled all through various stuff.

To prevent a change to the kernel<->userland interface right now the kernel
is now lying about card types to userland (but who cares). This will be fixed
when the userland interface changes, after layer 3 <-> layer 4 has been
fixed.

Functional changes:

Provide a clean interface for hardware drivers to attach to the upper
layers. This will need another small change in the B-channel handling
when a similar change to the layer 3 <-> layer 4 interface happens.

Avoid passing indices into global arrays of pointers around, instead pass
the pointers itself. Don't code hardware driver types by predefined magic
numbers (think LKM). Prepare for detachable drivers (think pcmcia).

While there remove some sets of function pointers always pointing to the
same function (meant to be the configurable set of D channel protocol
handlers). It is unlikely another supported D-channel protocol will fit into
that (maximal layer interface) abstraction. When we get support for another
protocol, we will need to come up with a workable interface. Besides, the
old implementation was, uhm, strange.
2001-03-24 12:40:29 +00:00
jdolecek ffd34612c2 Split we(4) driver to bus independant and ISA-specific parts, in preparation
for MCA attachment.
2001-03-23 19:08:53 +00:00
thorpej 21a0f1ac65 advlib.c and advmcode.c should be built for all adv, not
just adv_pci.  From takashi.yamamoto@bigfoot.com, kern/12341.
2001-03-08 04:18:17 +00:00
eeh aa63020001 Combine SVR4 options in one file. 2001-02-27 00:29:36 +00:00
lukem acec2828d9 whitespace police 2001-02-24 01:34:28 +00:00
martin f0d6660cf4 Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round.
Renamed in sys/dev/ic:
i4b_hscx.c -> hscx.c
i4b_hscx.h -> hscx.h
i4b_ipac.h -> ipac.h
i4b_isac.c -> isac.c
i4b_isac.h -> isac.h
i4b_isic.c -> isic.c
i4b_isicbchan.c -> isic_bchan.c
i4b_isicl1.c -> isic_l1.c
i4b_isicl1.h -> isic_l1.h
i4b_isicl1fsm.c -> isic_l1fsm.c
2001-02-20 22:24:31 +00:00
jdolecek bee3b51a6d Add the code to recode filenames to utf8 for NTFS. 2001-02-14 08:44:24 +00:00
thorpej f234f12854 Oops, `mii' attribute has to go onto the device decl. 2001-02-13 02:31:41 +00:00
thorpej d1b70a2231 Config attribute for the DL10019 MII support. 2001-02-13 01:56:28 +00:00
itojun ae819d9324 move udp6_output() to separate file. (sync better with kame) 2001-02-08 16:48:01 +00:00
tv 29a9a3d9b3 Work around yet more LKM system braindamage tickled by rev 1.418 by
including layer_*.c if "options LKM".  This is not the right way to fix
it, but we have as yet no standardized mechanism to add a "LKM code
library" to fill in gaps in the monolithic kernel's code.

Problem noted by <tron@netbsd.org>.
2001-02-05 15:56:27 +00:00
ad 8d75ab98d3 Add a driver for the Mylex DAC960 family (including DEC SWXCR). 2001-02-04 17:05:11 +00:00
tv 1977657943 Provide proper option dependencies for some files included either
unconditionally or on too-inclusive conditions (resulting in dead code):

miscfs/genfs/layer_*.c (nullfs | overlay | umapfs)
miscfs/procfs/procfs_map.c (procfs)
netinet/ip_ecn.c (ipsec | gif | stf)
2001-02-02 04:39:35 +00:00
takemura 0906d8d1fe Rasops supports 4bit depth. 2001-01-21 13:50:58 +00:00
fvdl 66689980ac Add procfs_linux.c 2001-01-17 01:26:40 +00:00
martin 242656c78a Enable the imported ISDN4BSD based ISDN subsystem.
This is the kernel part (userland to follow soon) of the latest (and
very probably last) release (version 0.96) of ISDN4BSD. ISDN4BSD has a
homepage at http://www.freebsd-support.de/i4b/.

It gives the user various ways to use the isdn connection: raw data (via
the i4brbch "raw b-channel" device), ppp (via the isp "isdn PPP" device),
voice/answering machine (the i4btel "telephone" device) and ip over isdn
(the ipr device, "IP over raw ISDN").

Supported are a bunch of common and older cards, more to be added soon
after some cleanup. Currently only the european E-DSS1 variant of the
ISDN D channel protocol is supported.
2001-01-05 13:09:15 +00:00
thorpej 8cccee3a4a Define a bpf_filter attribute, and include bpf_filter.o when we
have it.  Give the attribute to things which need to use the BPF
virtual machine.
2000-12-29 00:54:58 +00:00
jdolecek a80dee65df add utrace(2) - this syscall allows to add user ktrace entries
idea from FreeBSD, but added argument (const char *id) so that it's possible
to differentiate between entries from different sources
2000-12-28 11:10:15 +00:00
augustss 63fbac9a7d Add some placeholders for the EHCI (USB 2) driver.
Don't get your hopes up.  I've not even finished reading the
(100+) page spec, and I have no hardware.
2000-12-24 06:39:01 +00:00
thorpej ea9f3d531c Change the way ALTQ is enabled in the kernel, as there is an
annoying include file name clash.
2000-12-14 22:36:48 +00:00
thorpej d77997d037 Add ALTQ glue. 2000-12-14 17:41:38 +00:00
onoe 9c25e9208a Port 'an' driver for Aironet PC4500/PC4800 IEEE802.11 card from FreeBSD.
This is very adhoc work for IETF meeting.
- Since it seems that 'an' and 'wi' have similar hardware, low level
  functions should be shared.
- There are PCI/ISA cards of Aironet but not supported yet.
- The wiconfig interface is changed so that wiconfig cannot be used.
- 'ancontrol' of FreeBSD is not ported.
- Only infrastructure mode is tested.
- WEP is not supported.

Though I only have an Aironet card, Cisco card should be expected to work.
2000-12-11 23:16:50 +00:00
drochner 8f6e088214 add a kernel configuration option to set the string passed in bp_file
in diskless BOOTP/DHCP configuration - good for booting different
userland versions depending on the kernel version
2000-12-05 17:59:43 +00:00
scw c6aacae85d defopt COMPAT_AOUT_M68K 2000-12-02 20:43:08 +00:00
fvdl d996722823 defopt AHC_NO_TAGS. Remove unused AHC_* options. 2000-12-02 14:53:38 +00:00
chs aeda8d3b77 Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
ad 57ea462da2 lsu -> ld, by popular request. 2000-11-26 17:44:02 +00:00
thorpej b48d3f7bd0 change a couple of needs-count to needs-flag (which is all they need). 2000-11-15 21:14:14 +00:00
matt 617742b256 Add a fwlynx device. Move the file for fwohci to files.ieee1394 2000-11-14 23:37:20 +00:00
eeh df87630144 Add console magic sequence framework. 2000-11-08 22:41:58 +00:00
ad 142ab5b1ec Move lsu stuff to more logical locations, and push queueing into the lsu
driver.
2000-11-08 19:20:33 +00:00
onoe e83458422f First Prototype implementation of network interface part for IEEE1394 (if_fw).
Current status:
	Only OHCI chip is supported (fwohci).
	ping (IPv4) works with Sony's implementation (SmartConnect) on Win98.
	sometimes works but not stable.
Not implemented yet:
	IRM (Isochronous Resource Manager) functionality.
	Link layer fragmentation.
	Topology map.
More to do:
	clean ups
	MCAP
	charactor device part
	dhcp

There is no entry in GENERIC config file yet.
Follow sys/dev/ieee1394/IMPLEMENTATION to enable if_fw.
2000-11-05 17:17:12 +00:00
thorpej 6ea062a0d7 Update for sysmon splitting, and lm carries the sysmon_envsys
attribute.
2000-11-05 04:08:10 +00:00
ad 76e8f8edfe ca -> lsu 2000-10-19 14:26:41 +00:00
itojun e9536f86fa add ESP rijndael logic. yet to be usable (until algorithm # is assigned) 2000-10-02 17:21:24 +00:00
thorpej 910383617d Add vlan(4) glue. 2000-09-27 23:02:02 +00:00
jdolecek 5c369e4610 defopt SHMMAXPGS, SEMMNI, SEMMNS, SEMUME and SEMMNU 2000-09-24 18:45:37 +00:00
sommerfeld 6a71867356 Add `COM_MPLOCK' option to use a device-instance-specific spinlocks
when running at splserial().  This is a temporary measure (until
there's a MP-safe interrupt handling structure); until then, it should
be used when MULTIPROCESSOR and IPL_SERIAL > IPL_SCHED.
2000-09-23 17:17:11 +00:00
eeh d680a56118 Support attachments to `com' needed for the Sun Keyboard/Mouse line disciplines. 2000-09-21 23:29:43 +00:00
bjh21 33daa8de6b New kernel option, NFS_V2_ONLY, which aims to reduce the NFS client to just
that required to support NFSv2 mounts.  Not finished yet, but already
provides some 44k of saving in code size on arm26.  More savings, and some
documentation, are still to come.
2000-09-19 17:04:50 +00:00
itojun 20595bfe10 do not compile files under sys/crypto, which we no longer are using. 2000-09-18 22:15:21 +00:00
bjh21 40aba7cd4d Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip,
and a front-end driver for the Ether3.  Only semantic change is to remove
ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious
to warrant a callback to the front-end.
2000-09-18 20:51:14 +00:00
thorpej d41cf2a285 defopt VNODE_OP_NOINLINE. 2000-09-13 16:10:50 +00:00
jdolecek 60059df29c needs-count is no longer needed for pty, needs-flag is sufficient 2000-09-09 16:54:34 +00:00
bjh21 b89efe2b21 "upc" uses "wdc", so put the former after the latter. 2000-08-17 18:56:17 +00:00
bjh21 d7eebd9227 Basic driver for CHIPS 82C710 Universal Peripheral Controller and friends,
as used on later arm26 system (A5000, A4, A3010, A3020, A4000).

What we have got:
...
upc0 at iobus0 base 0x010000: config state bb 87 1c 00 00
fdc at upc0 offset 0x3f4 not configured
wdc0 at upc0 offset 0x1f0
lpt0 at upc0 offset 0x278
com0 at upc0 offset 0x3f8: ns8250 or ns16450, no fifo
...

What we haven't got:
 - FDC support (found, but not configured).
 - Clearing lpt interrupts on arm26 systems (needs help from IOEB).
 - A upc(4) manual page.
 - More than minimal testing (my A3020s don't have root devices).
 - A proper probe routine (arm26 can't use one anyway).
2000-08-16 23:56:08 +00:00
tv 9dae9ea9c5 - Conditionalize ip_gre.c on both "inet" and "gre".
- Comment out use of net_osdep.c.  This file is currently completely #if 0'd.
2000-08-12 20:47:49 +00:00
thorpej c30304eb14 Declare the `depca' device here, now that it can attach to
multiple busses.
2000-08-11 14:35:57 +00:00
matt 13ff5a60ff Add COMPAT_15 to opt_compat_netbsd.h 2000-08-07 15:23:43 +00:00
jeffs e97c2066ab Add options DDB_BREAK_CHAR. This overrides break on the serial console
break character with the supplied one.  This is useful for cases where
break is hard to generate, or you are connected to a PC that "sends"
breaks when power cycled.  For this mode in com, interpret break char
in the polling section, which allows entry into the debugger before
the tty is opened.  Only supported in the com driver currently.
2000-08-03 00:30:47 +00:00
mjacob 675448db3c add ISP_LOGDEFAULT for isp driver options 2000-08-01 20:01:52 +00:00
briggs e6dde2bd42 Add MII support to smc91cxx driver. This is supported for the 91c100
and 91c100FD (FEAST) controllers.  Existing controllers should continue
to work as they have.  Added the card's memory to the probe message.
2000-07-30 21:34:47 +00:00
pk 1cc17ff87b Define mk48txx and intersil7170 2000-07-25 22:41:58 +00:00
mjacob 09f7025e74 remove obsolete Qlogic isp options 2000-07-05 22:30:05 +00:00
onoe 793eb28211 Support WEP functions for awi driver.
arc4 implementation by Kalle Kaukonen has been added.
	define "wlan" in files.
		XXX: only awi depends on wlan for now.
	Allow authentication for adhoc (IBSS) mode.
Disable adhoc mode without bssid (mediaopt adhoc,flag0) for FH radio.
	FH cannot work without synchronization by beacons.
Align IP header for ethernet encapsulation (IFF_FLAG0) mode.
Print available access points for IFF_DEBUG.
2000-07-04 14:27:56 +00:00
thorpej f82e306928 Add a clearing-house pseudo-device for system monitoring devices
such as the LM78 and VT82C686A (and eventually ACPI).  Multiple
sensor devices can be hooked registered with `sysmon', and eventually
sysmon will also handle hardware (and software) watchdog timers.

Convert the `lm' and `viaenv' drivers to the new interface.
2000-06-24 00:37:19 +00:00
fvdl 40b277ee3a Adapt for ffs_softdep.c move. 2000-06-22 20:31:46 +00:00
thorpej eca2a0a5f0 Add IPsec ESP and crypto files. 2000-06-14 19:47:12 +00:00
soren 14573dc679 defopt SYSCALL_DEBUG. 2000-06-06 18:26:32 +00:00
mycroft 9dcdff8f25 Add stubs for PE/COFF. 2000-06-04 16:26:11 +00:00
itojun 9d853e8a4f sync with kame.
- use latest source address selection code - in6_src.c.
- correct frag header insertion.
- deep copy ip6 header portion in ip6_mloopback to avoid overwrite.
- do not bark when we forward packet to loopback.
- some cosmetics.
2000-06-03 14:36:32 +00:00
matt 3ed6c24d5c Add IEEE 1394 OHCI node and IEEE 1394 bus. Just placeholders for now. 2000-05-30 00:48:47 +00:00
bouyer e557084177 Update for siop split. 2000-05-15 08:27:24 +00:00
jdolecek da9a55d099 Merge MI part of MicroChannel Architecture bus support
This work is based on code written by Scott D. Telford, the IBM
Token Ring card attachment was written by Gregory McGarry.

XXX this is still very experimental and development version; use at your
XXX own risk
2000-05-11 16:49:01 +00:00
augustss f9dbbf4c92 Make am7930 driver machine independent. PR 10032 from Gregory McGarry. 2000-05-02 06:30:49 +00:00
itojun 7d20d62f25 ipip is needs-count, not needs-flags. evidence: manpage and all
sys/arch/*/conf/GENERIC has count.
2000-04-25 06:08:31 +00:00
bouyer 19ada4a82a Snapshot of work in progress: new driver for the NCR 53c8xx SCSI controller
(the name 'siop' is still being discussed, may change).
Only basic disconnect/reselect for now, no sync/wide negotiation.
Tested with 810A, 875 and 895 on i386 only.
The bus-independant part should also be able to handle the 53c720 and 53c770.
A new driver with enhanced script should appear for the 825/875/895 'soon'.
2000-04-21 17:56:58 +00:00
thorpej 13c39a5cb6 Put the rasops attributes in conf/files so that everyone can run
config(8) without pulling in files.rasops.  There is prior art for
this, e.g. audio.
2000-04-20 18:23:37 +00:00
haya 784977f319 Changes the name of RealTek driver. The new name is `rtk'. This used
to be called `rl' and it conflict with RL vax disks, canonical and
historical unix driver name.

This changes are minimal: it only changes the name of RealTek driver.
The filename of source code and a lot of the letter `rl' in source
files should be changed shortly.
2000-04-19 08:44:31 +00:00
itojun 3909133548 introduce sys/netinet/ip_encap.c, to dispatch inbound packets
to protocol handlers, based on src/dst (for ip proto #4/41).
see comment in ip_encap.c for details of the problem we have.
there are too many protocol specs for ip proto #4/41.
backward compatibility with MROUTING case is now provided in ip_encap.c.

fix ipip to work with gif (using ip_encap.c).  sorry for breakage.

gif now uses ip_encap.c.

introduce stf pseudo interface (implements 6to4, another IPv6-over-IPv4 code
with ip proto #41).
2000-04-19 06:30:51 +00:00
haya e49807d100 Incorporate the changes of RL81x9 driver provided by M. Kanaoka
<kanaoka@ann.hi-ho.ne.jp>.  He separated the driver into IC specific
portion and bus attachment portion and added cardbus attachent.
2000-04-10 07:42:55 +00:00
mycroft 528bd4a794 Move esp declaration to conf/files. 2000-03-25 19:58:04 +00:00
ws 7da71e5f9e Make IPKDB working again.
Add support for i386 debugging and pci-based ne2000 boards.
2000-03-22 20:58:25 +00:00
soren 10f56e10d1 Remove BIOS_VERBOSE, which does not exist. 2000-03-22 20:28:29 +00:00
pk 4f91a51915 Move `nca' declaration to `conf/files'. 2000-03-20 11:03:42 +00:00
ad 70063dc527 Driver for Compaq array controllers and disks (cac(4)/ca(4)). 2000-03-16 14:52:22 +00:00
fvdl bacabba843 Add new files for common VL/EISA ahc code. 2000-03-15 02:10:09 +00:00
oster d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
drochner 8ca8b4955d lm needs-flag 2000-02-25 10:02:13 +00:00
groo f5f2ad429c Initial import of National Semiconductor LM7[89] Hardware Monitor with isa and
pnpbios attach.

examples:

	lm0 at pnpbios0 index?
	lm0 at isa? port 0x290


TODO: spinlocks, i2c interface.
2000-02-25 02:17:43 +00:00
itojun 977705bc43 sort filenames, mainly to sort ip6/ipsec entries.
requested by: matthew green <mrg@eterna.com.au>
2000-02-19 10:31:07 +00:00
thorpej fd8c03cf44 Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
2000-02-14 21:42:50 +00:00
thorpej eb9cbbe294 Add some very simple code to auto-size the kmem_map. We take the
amount of physical memory, divide it by 4, and then allow machine
dependent code to place upper and lower bounds on the size.  Export
the computed value to userspace via the new "vm.nkmempages" sysctl.

NKMEMCLUSTERS is now deprecated and will generate an error if you
attempt to use it.  The new option, should you choose to use it,
is called NKMEMPAGES, and two new options NKMEMPAGES_MIN and
NKMEMPAGES_MAX allow the user to configure the bounds in the kernel
config file.
2000-02-11 19:22:52 +00:00
itojun 1a2a1e2b1f bring in latest KAME ipsec tree.
- interop issues in ipcomp is fixed
- padding type (after ESP) is configurable
- key database memory management (need more fixes)
- policy specification is revisited

XXX m->m_pkthdr.rcvif is still overloaded - hope to fix it soon
2000-01-31 14:18:52 +00:00
thorpej 494b4a9ed3 Fix an oversight in the AIC-7xxx SEEPROM split. 2000-01-26 06:27:32 +00:00
thorpej 8949eab0cb Split the code that reads the SEEPROM into its own file. 2000-01-26 06:04:37 +00:00
wrstuden 87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +00:00
mjacob 015af0db9d add a (currently unused) option reference to isp_target mode 2000-01-20 17:12:34 +00:00
matt 2dd872c9b4 defopt COMPAT_VAX1K 2000-01-17 02:59:25 +00:00
oster 3ae1e3c2d1 src/sys/dev/raidframe/rf_cpuutils.c is no longer needed. Remove it
from the list.
2000-01-09 02:22:25 +00:00
msaitoh bf26bfd683 defopt EXEC_COFF 2000-01-07 11:21:21 +00:00
chopps 9b1cc42371 move ntwoc here now that we have isa and pci attachments 2000-01-04 06:37:05 +00:00
itojun ea861f0183 sync IPv6 part with latest KAME tree. IPsec part is left unmodified
due to massive changes in KAME side.
- IPv6 output goes through nd6_output
- faith can capture IPv4 packets as well - you can run IPv4-to-IPv6 translator
  using heavily modified DNS servers
- per-interface statistics (required for IPv6 MIB)
- interface autoconfig is revisited
- udp input handling has a big change for mapped address support.
- introduce in4_cksum() for non-overwriting checksumming
- introduce m_pulldown()
- neighbor discovery cleanups/improvements
- netinet/in.h strictly conforms to RFC2553 (no extra defs visible to userland)
- IFA_STATS is fixed a bit (not tested)
- and more more more.

TODO:
- cleanup os-independency #ifdef
- avoid rcvif dual use (for IPsec) to help ifdetach

(sorry for jumbo commit, I can't separate this any more...)
1999-12-13 15:17:17 +00:00
itohy f735cb83c3 - softdep functions are used outside of FFS. Why?
- ffs_bswap.c is currently unused by LFS.
1999-12-07 08:28:47 +00:00