Commit Graph

679 Commits

Author SHA1 Message Date
martin c4349cac72 Add a driver for the Myson Technology MTD803 3-in-1 Fast Ethernet Controller,
provided by Peter Bex in PR 18675.
2002-11-07 21:56:56 +00:00
mrg 3e8df71794 - do the COMPAT_16 dance in sysctl_diskstats() for the where == NULL case
as well.  pointed out by enami@.
- defflag COMPAT_16.
2002-11-05 13:22:32 +00:00
itohy 94b2e6e61d Dump DDB_* and SYMTAB_SPACE options to opt_ddbparam.h rather than opt_ddb.h.
These options are used in limited files but #include "opt_ddb.h" are
everywhere, and changing them caused almost full recompilation.
2002-11-04 06:24:38 +00:00
blymn 29b7b4241f Added support for fingerprinted executables aka verified exec 2002-10-29 12:31:20 +00:00
leo e70f340199 Fritz!PCI v2.0 ISDN driver from FreeBSD. 2002-10-25 21:03:47 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
junyoung cc537c2f3a Add option NEW_BUFQ_STRATEGY, a new buffer queue strategy for better
system responsiness under high disk I/O load.

OK'ed by Juergen Hannken-Illjes.
2002-10-18 14:31:10 +00:00
junyoung 1ce9af548e Add VGA raster graphics console driver. It is written as an extension
to char-cell based vga(4) driver, and fully compatible with existing
apps like XFree86. Currently it supports 80x25, 80x30, 80x40 and 80x50
text modes using emulation. You can enable it by specifying `options
VGA_RASTERCONSOLE' in your kernel config file.

Note that displaying multilingual text doesn't work yet. Necessary
code is already there, but userland stuff and some functionality isn't
ready for prime time yet. I'm working on them.
2002-10-15 18:14:41 +00:00
junyoung 0f061c7c7a Move vga_common_probe() to vga_common.c. vga_common.c contains common
stuff between existing char-cell VGA driver and raster VGA driver to
come shortly.
2002-10-15 17:30:43 +00:00
thorpej 0ab79d5327 * Move config defns for the crypto algorithms into their own files.
Define an attribute for each crypto algorithm, and use that attribute
  to select the files that implement the algorithm.
* Give the "wlan" attribute a dependency on the "arc4" attribute.
* Give the "cgd" pseudo-device the "des", "blowfish", "cast128", and
  "rijndael" attributes.
* Use the new attribute-as-option-dependencies feature of config(8) to
  give the IPSEC_ESP option dependencies on the "des", "blowfish", "cast128",
  and "rijndael" attributes.
2002-10-11 01:52:04 +00:00
thorpej 25e34a0941 * Don't make IPKDB an option-dependency of IPKDB_DP8390 (IPKDB_DP8390
does not "imply" IPKDB ... it is merely an IPKDB parameter).
* Place IPKDB-related selectors in lower-case.
2002-10-11 01:00:35 +00:00
thorpej a2a9c5391d Move netns config defns to netns/files.netns. 2002-10-10 23:04:33 +00:00
thorpej b066b407d7 Move netnatm config defns to netnatm/files.netnatm. 2002-10-10 22:58:49 +00:00
thorpej 9ae47ca44d Move netiso config defns to netiso/files.netiso. 2002-10-10 22:56:03 +00:00
thorpej 5b2b587c85 Move netinet, netinet6, ipsec, and ipfilter config defns to
netinet/files.ipfilter, etinet/files.netinet, netinet6/files.netinet6,
and netinet6/files.netipsec.

XXX There are still a few stragglers in conf/files, which are entangled
with other network protocols.
2002-10-10 22:45:45 +00:00
thorpej df2e531a81 Move netccitt config defns to netccitt/files.netccitt. 2002-10-10 22:17:59 +00:00
thorpej c8715bae75 Oops, missed include in the last. 2002-10-10 22:12:53 +00:00
thorpej f664080f40 Move netatalk config defns to netatalk/files.netatalk. 2002-10-10 22:10:52 +00:00
thorpej 6be7d2f3e6 Move IR and Bluetooth config defns missed in previous commit. 2002-10-10 22:07:44 +00:00
thorpej 1e9e72e1ab Move IPKDB config defns to ipkdb/files.ipkdb. 2002-10-10 21:56:50 +00:00
thorpej 05f976610a Move IR and Bluetooth config defns to their own files. 2002-10-10 21:52:28 +00:00
thorpej 60adad59bd Define a "scsi_core" attribute. Make the "scsi" attribute depend on
"scsi_core".  Make all the files previously selected by the "scsi"
attribute selected by the "scsi_core" attribute.  Give the "scsibus"
device the "scsi_core" attribute.
2002-10-09 20:23:56 +00:00
tsutsui 200406b07a Overhaul of fmv(4) driver:
- Split if_fmv.c into MI/MD part and add ISA-PnP attachment for FMV-183.
  (XXX FMV-184 is not tested. It would require extra media-select functions..)
- Fix probe functions of fmv_isa so that FMV-181A/182A will also match.
  Fixes port-i386/9476.
2002-10-05 15:16:10 +00:00
elric afa20caece cgd should be able to work with or without ipsec. 2002-10-04 23:04:53 +00:00
elric 982f78d12f add in the cgd. 2002-10-04 18:25:51 +00:00
tsutsui fdedb8dbd6 - Merge dev/ic/ate_subr.c into dev/ic/mb86960.c since it only has EEPROM
read function which can also be used for other MB86965 based boards.
- Rewrite EEPROM read function as per 93C06 EEPROM datasheet.
- Misc cleanup.
2002-10-04 15:22:27 +00:00
onoe efe919010c Jumbo commit for wi driver.
- Eliminate wi_hostap.c since most of the code are duplicated with
  net/if_ieee80211subr.c
- Station for Infrastructure network and IBSS also use service functions
  as much as possible to be consistent with other wireless drivers.
Now WEP works for station/ibss/hostap.
2002-09-30 06:50:35 +00:00
thorpej ca5fd3bd46 Garbage-collect the old rmap code. 2002-09-25 22:27:38 +00:00
uwe be3f67ca41 Add some preliminary support for setting up the CyberPro in Netwinder.
Setup sequence obtained from Krups OFW with some CyberPro-specific
magic from Linux driver.  The driver still has a lot of hardcoded
stuff, but it is useful enough to bring up wscons on netwinder.

XXX: Proper console attachment needs to be written (the driver was
originally developed on sparc, where our approach to attaching console
is totally different).

Caveat emptor!
2002-09-24 18:17:24 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
gmcgarry fcdb569acb add kern_ras.c 2002-08-28 07:19:58 +00:00
augustss 0f0102e2cd Add btbus, an attribute for Bluetooth. 2002-08-24 17:28:58 +00:00
thorpej b2cc5a4c03 Make use of page loaning for large socket writes the default. The
SOSEND_NO_LOAN option can be used to go back to the old behavior.
2002-08-21 05:13:36 +00:00
thorpej 5f93930cc5 While the "wi" is a wlan device, it does not currently use any code
from if_ieee80211subr.c, since "wi" devices implement the 802.11
protocol in firmware (for the most part).  So, remove the wlan attribute,
which saves a fair bit of kernel text.
2002-08-11 17:00:04 +00:00
isaki dd0e0396bc Add driver for ScanLogic SL811HS/T USB Host Controller.
XXX It's experimental code yet.

For x68k: USB part of Nereid USB/Ethernet/memory board
For ISA:  ISA USB Host board from Morphy planning
2002-08-11 13:17:52 +00:00
drochner 66c65513fc pull in wi_hostap.c to make the kernel link again 2002-08-11 12:09:44 +00:00
briggs 0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
thorpej 07977672c8 Add dmover(9) glue. 2002-08-02 00:32:12 +00:00
drochner 373b39f1d2 put the "VGA_CONSOLE_SCREENTYPE" parameter into opt_vga.h 2002-07-07 15:09:52 +00:00
yamt d96bff0e27 add KSTACK_CHECK_MAGIC. discussed on tech-kern. 2002-07-02 20:27:44 +00:00
thorpej 473e69750b This is the "kttcp" network throughput testing pseudo-device. From
the block comment at the top of the file:

      This module provides kernel support for testing network
      throughput from the perspective of the kernel.  It is
      similar in spirit to the classic ttcp network benchmark
      program, the main difference being that with kttcp, the
      kernel is the source and sink of the data.

      Testing like this is useful for a few reasons:

      1. This allows us to know what kind of performance we can
         expect from network applications that run in the kernel
         space, such as the NFS server or the NFS client.  These
         applications don't have to move the data to/from userspace,
         and so benchmark programs which run in userspace don't
         give us an accurate model.

      2. Since data received is just thrown away, the receiver
         is very fast.  This can provide better exercise for the
         sender at the other end.

      3. Since the NetBSD kernel currently uses a run-to-completion
         scheduling model, kttcp provides a benchmark model where
         preemption of the benchmark program is not an issue.

There is a companion "kttcp" user program which uses the kttcp
pseudo-device.

Largely written by Frank van der Linden, with some modifications
from me.
2002-06-28 23:27:13 +00:00
drochner ac1165c19c whitespace 2002-06-28 22:32:58 +00:00
junyoung 754342aeb8 - Work around a hardware bug that loaded fonts don't work, which is
found on many (all?) of PCI-based ATI graphics cards. It is fully optional
  and can be enabled by adding `options VGA_CONSOLE_ATI_BROKEN_FONTSEL'
  to config file.
- Temporarily remove `quirk' mechanism. Similar code already exists
  in pci_quirks.c.
2002-06-27 06:26:51 +00:00
itojun 0143dfc42f integrate IEEE1394 ARP into generic ARP logic.
XXX there's no check at all in ar_hrd, and we don't set ar_hrd on outgoing.
it seems like a bad thing.
2002-06-24 08:06:20 +00:00
thorpej 1058dd7aa3 Only build kern_systrace.c if the SYSTRACE option is used. 2002-06-18 00:33:57 +00:00
christos 581a55332b systrace support. 2002-06-17 16:24:57 +00:00
itojun 6d8d0d63d8 sync with latest KAME in6_ifaddr/prefix/default router manipulation.
behavior changes:
- two iocts used by ndp(8) are now obsolete (backward compat provided).
  use sysctl path instead.
- lo0 does not get ::1 automatically.  it will get ::1 when lo0 comes up.
2002-06-08 21:22:29 +00:00
wrstuden 9e2b945a7b defparam BPF_BUFSIZE 2002-06-06 23:54:47 +00:00
simonb 1c5a1746ae Fix space/tab indentation nit. 2002-05-22 05:49:57 +00:00
augustss e05075c8d4 Rename a cpc device. 2002-05-21 03:05:00 +00:00
augustss cd2c33190e Add stuff for the CPC700. 2002-05-21 03:01:02 +00:00
matt 77820698c6 Add lfmiop (LSILogic Fusion-MPT I/O Processor) placeholders for
driver to added latter.
2002-05-18 07:23:04 +00:00
thorpej f1f51aa2b8 Move code shared by procfs and the kernel proper out of procfs and
into the kernel proper (renaming functions from procfs_* to process_*).
2002-05-09 15:44:44 +00:00
thorpej cd3aa5df12 Revert revision 1.525. 2002-05-03 17:58:28 +00:00
eeh be9ab3e5db Provide _LP64 definition if we are generating LP64 binaries. 2002-05-03 00:06:55 +00:00
thorpej 7a49fee765 Add some experimental page-loaning for writes on sockets. It is disabled
by default, and can be enabled by adding the SOSEND_LOAN option to your
kernel config.  The SOSEND_COUNTERS option can be used to provide some
instrumentation.

Use of this option, combined with an application that does large enough
writes, gets us zero-copy on the TCP and UDP transmit path.
2002-05-02 17:55:48 +00:00
ad 77e08f053a Add a driver for Adaptec FSA RAID controllers, as often found in Dell
servers. Based on the FreeBSD/OpenBSD versions.
2002-04-26 02:05:07 +00:00
manu c7dcec33a1 Added IRIX /dev/usema and dev/usemaclone (void driver for now, will be
filled later)
2002-04-23 06:48:46 +00:00
ad 9a09578e25 Add a driver for ICP-Vortex GDT and Intel Storage RAID controllers. Parts
taken from OpenBSD. Test hardware kindly provided by Intel. This still needs
management bits, and doesn't support older controllers, but that shouldn't
be hard to fix.
2002-04-22 21:05:19 +00:00
augustss a3343212c3 Add spic. 2002-04-22 13:03:06 +00:00
augustss 7f7ab48604 Rename the audio "bus" attribute audiobus to avoid confusion with audio
device.
2002-04-22 09:41:19 +00:00
bouyer 8cfc41f9ed First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing
yet.
If is restricted to SIOP which implement the load/store instruction, and
has 10 scratch registers (basically, 825 and newer, possibly 770).
It implements a different interface between host and script, using a real
ring for command starts, and improved support for reconnect which will allow
256 tag per device. It uses interrupt on the fly to signal complete command,
which allows several commands to be serviced per interrupt and doesn't require
the script to stop to signal command completion.
2002-04-21 22:52:05 +00:00
bouyer 1d7af0f55e defflag SIOP_SYMLED. 2002-04-18 12:04:05 +00:00
thorpej 37dc008ca3 Cleanup how file system configuration information is declared, grouping
related information together, with the file system code itself.

This is just low-hanging fruit -- more to come.
2002-04-16 23:14:05 +00:00
thorpej 4762adb809 Move ALTQ configuration definitions into altq/files.altq 2002-04-16 21:27:13 +00:00
thorpej 20ddfbf4c1 Move sysmon configuration definitions to dev/sysmon/files.sysmon. 2002-04-16 21:00:27 +00:00
thorpej eedd94475c * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-16 20:50:16 +00:00
thorpej bbb03955e8 Centralize the RAIDframe config definitions. 2002-04-16 20:33:00 +00:00
martin 47cf1728ea No need to explicitly list vlan or ppppoe for if_ethersubr.c, both already
use attribute "ether" which will be enough to pull in if_ethersubr.c
2002-04-07 06:54:35 +00:00
jmc ec75756238 Provide a definition for sbp2 2002-04-02 10:11:50 +00:00
lukem d213d804f7 Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
2002-04-02 05:30:34 +00:00
uwe 4e7d1a999f Add (unfinished) igsfb driver.
While here g/c stale cprofb entry, it's not in the tree and I plan to
support CyberPro cards with igsfb driver eventually (where is my netwinder?)
2002-03-30 20:21:21 +00:00
pk fb4a06019d `mk48txx' no longer needs a flag. 2002-03-28 11:56:32 +00:00
martin 0db68b667b Now that we have all pieces in place (and enough granularity to specify
B-channel and D-channel drivers separately) split the Fritz!PCI card
driver out of the isic driver.

The new device is called "ifpci" and uses the same D-channel driver as the
isic devices, but has it's own B-channel driver.
2002-03-25 16:39:52 +00:00
martin 0bc69b6498 Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
2002-03-24 20:35:43 +00:00
manu 3f4cce33b9 Aded missing irix_keme pseudodevice declaration 2002-03-24 17:09:26 +00:00
jdolecek 083f26646d rename EXEC_ELF_CATCHALL to EXEC_ELF_NOTELESS 2002-03-23 09:40:55 +00:00
martin 94881fb123 Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
2002-03-16 16:55:51 +00:00
lukem cd19d52695 * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
2002-03-10 19:56:37 +00:00
kent 492504a717 Add aurateconv attribute. 2002-03-09 21:21:57 +00:00
sommerfeld 3406f0a3dd The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
2002-03-04 13:24:06 +00:00
jmc cc7dba0633 Add definition for ieee1212/p1212 2002-02-27 05:03:24 +00:00
christos 61924161d3 Add mm.c 2002-02-27 01:16:30 +00:00
mjacob 11ab217af1 Add ISP_FW_CRASH_DUMP option for isp. 2002-02-21 22:23:33 +00:00
jdolecek 5798a9a710 Switch default for pipes to the faster John S. Dyson's implementation.
Old, socketpair-based ones are available with option PIPE_SOCKETPAIR.
2002-02-11 18:11:41 +00:00
jdolecek c095cf0006 use opt_pipe.h for PIPE_SOCKETPAIR, add PIPE_NODIRECT there too 2002-02-11 18:03:00 +00:00
jdolecek f32b3f4f89 Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
2002-02-02 18:37:38 +00:00
jdolecek 6faa3a8ff2 add defflag PIPE_SOCKETPAIR 2002-01-27 10:28:20 +00:00
lukem ba6ca94b23 order dev/clockctl.c appropriately 2002-01-15 12:10:50 +00:00
deberg f2811d153f add smbfs files 2002-01-09 18:01:38 +00:00
drochner db154a4d20 "attach radio at radio":
using one word as both attribute and device doesn't work well,
radio.c is pulled in even with no such device in the configuration,
and the kernel doesn't link due to missing "radio_cd".
So call the attribute "radiodev" to avoid confusion.
2002-01-07 17:44:42 +00:00
deberg 14615bb443 netsmb 2002-01-04 02:42:23 +00:00
augustss 1c06f6a40f Add support for radio cards. Written by Maxim Tsyplakov and Vladimir Popov
for OpenBSD, from where it was imported.
2002-01-01 21:51:38 +00:00
atatat 5ba4387372 Provide hooks to include the config file(s) in the kernel binary. 2001-12-17 15:40:43 +00:00
bjh21 7f32875295 if_media support for the DP83905 AT/LANTIC (a souped-up DP8390). 2001-12-16 00:22:43 +00:00
bjh21 c72d5d40dd Add code to support the bugged Macronix MX98905 chip, as used in several
podulebus Ethernet cards.  This replaces the NE2000 memory-access routines
with ones that don't try to transfer more than 255 bytes at a time.

This code should perhaps be merged into ne2000.c, but presumably most NE2000
clones won't need it.
2001-12-15 17:47:34 +00:00
uwe 75b646134f mk48txx needs-flag to allow sparc's clock.c to be compiled without
mostek support that pulls in a lot of other stuff too.
2001-12-10 22:36:21 +00:00
thorpej 91c4b48914 Build core_elf32.c if EXEC_ELF32. Build core_elf64.c if EXEC_ELF64. 2001-12-09 23:18:09 +00:00
thorpej 205c159f0e Make the coredump routine exec-format/emulation specific. Split
out traditional NetBSD coredump routines into core_netbsd.c and
netbsd32_core.c (for COMPAT_NETBSD32).
2001-12-08 00:35:25 +00:00
augustss 8c2cf4c7d8 Break out SIR framing to its own file. 2001-12-05 14:50:13 +00:00
augustss efade85d8e Make the right defaults for kbdmux and mux locators. 2001-12-05 04:05:37 +00:00
augustss 6bf6da1895 Add irframetty pseudo device for IrDA frames over tty. 2001-12-03 23:28:20 +00:00
augustss ceb54d1040 Add irbus (IrDA) and cir (Consumer Ir) and related file directives. 2001-12-02 10:41:52 +00:00
christos ac3540cd92 and it is TCP_COMPAT_42 not CP_COMPAT_42, I am sharpening my bricks. 2001-11-28 17:40:57 +00:00
christos 87953c1f1d it is MROUTING, not ROUTING... 2001-11-28 17:39:22 +00:00
lukem ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
lukem f69269330e add some empty comment lines to make this more readable (IMHO) 2001-11-28 01:13:21 +00:00
thorpej 5cdf707d06 defopt COMPAT_IRIX 2001-11-27 00:50:46 +00:00
yamt dbaca00330 move dev/isa/cs89x0{.c,{var,reg}.h} into dev/ic
and split isadma parts into /dev/isa/cs89x0isa*.
2001-11-26 19:17:05 +00:00
lukem 0fa231134c - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
2001-11-20 14:34:18 +00:00
lukem 99bccc3cab - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
	KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
	DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for  options KGDB_DEVNAME="\"com\""
- use correct quotes for  options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
2001-11-20 08:43:19 +00:00
atatat 6568927550 The cloning devices only needs-flag, not needs-count 2001-11-02 18:39:06 +00:00
augustss e557cebfce Add kbdmux locator to wsdisplays. 2001-10-13 13:32:20 +00:00
eeh 37b272cd02 Add kern/subr_prop.c. 2001-10-04 19:05:32 +00:00
mrg 5d4f3fa900 add a backend serial driver for the cirrus logic CL-CD180/1864/1865
8 port chip.  this is used in several sbus (sparc) serial boards, as
well as an 8 port isa card from riscom.  sio16 (sbus) frontend coming
shortly.

this is heavily based on the com and zs drivers.
2001-10-03 04:25:29 +00:00
thorpej fb46595216 Define an "acpibus" attribute, to which "acpi" can attach. 2001-09-28 02:06:17 +00:00
onoe 6a617566bc Move IEEE 802.11 MAC management functions from awi driver to
if_ieee80211subr.c, which can be shared between any IEEE 802.11
drivers.
However, most of current working IEEE 802.11b wireless LAN cards
have rich firmware and we cannot have a control to management frames
for such cards.

IBSS creation is now supported for the awi driver.
2001-09-18 09:09:57 +00:00
manu dbf45befa3 Added the clockctl pseudodevice driver 2001-09-16 07:33:31 +00:00
eeh 345c4a7b0d Driver for Sun GEM gigabit ethernet, Sun ERI 10/100, and Apple GMAC. 2001-09-16 00:11:41 +00:00
chs 64c6d1d2dc a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
2001-09-15 20:36:31 +00:00
enami 163c9dd7c1 Defopt CALLWHEEL_STATS. 2001-09-13 05:22:16 +00:00
enami c98d856a2f Wrap long lines. 2001-09-13 05:19:53 +00:00
bjh21 52b3d56b11 Add MI Econet support. This is lacking any interfaces to higher-layer
protocols, and lacking any timeouts, but it basically works, doing four-way
handshakes in both directions and incoming Machine Peek operations.

Oh, and Econet is Acorn's ancient, proprietary 500kbit/s networking
technology.
2001-09-10 23:11:05 +00:00
tls 3d4146e21f Add asm versions of blowfish and des transforms for i386.
This also involved updating the in-kernel DES functions to correspond
to the versions in our in-tree OpenSSL, because the des_SPtrans table
has changed; the asm code will not work with the old permutation table!

C and i386 asm code for the DES, 3DES, and Blowfish CBC modes is also
included; it is not currently built as the ESP processing in esp_core.c
splits the CBC operation and the cipher transform apart.  Hopefully that
will be fixed as there is a substantial performance improvement to be had
from doing so.  It will remain necessary to use the C version of the
Blowfish CBC function on some i386 machines, however, as the asm version
uses bswapl, which ony 486 and later processors have.  The DES CBC code
doesn't have this problem.

Finally, change esp_core.c to use the ecb3_encrypt function instead of
calling ecb_encrypt three times; this improves performance a bit, in
particular in the asm case.
2001-09-09 11:00:59 +00:00
thorpej 1cbbd5c37c Disable all of the RF_ASSERT()s by default, enabling them if the
RAID_DIAGNOSTIC option is specified in the kernel configuration
file.
2001-09-01 23:50:43 +00:00
thorpej bbd3d01db5 Artur Grabowski's simple brute-force malloc debugger, which uses
guard pages.  Can only debug one malloc type at a time, and nothing
larger than 1 page.  But can be useful for debugging certain types
of "data modified on freelist" type problems.

Modified from code in OpenBSD.
2001-08-17 00:48:29 +00:00
enami 97ceb61316 MII access routines for ASIX AX88190. 2001-08-04 11:38:57 +00:00
christos 1d3422cb55 add macho glue 2001-07-14 02:05:54 +00:00
abs 03aaf3d8b4 Rename TCPDEBUG to TCP_DEBUG, defopt TCP_DEBUG and TCP_NDEBUG, and
make all usage of tcp_trace dependent on TCP_DEBUG - resulting in
a 31K saving on an INET enabled i386 kernel.
2001-07-08 16:18:56 +00:00
uch fd2c055c01 add MEMORY_DISK_DYNAMIC option. if enable MEMORY_DISK_DYNAMIC, file
system image's address and size are setted by md_root_setconf().
2001-07-02 17:17:23 +00:00
gmcgarry d6182a9e77 In-kernel device configuration manager - allows modification
of device locators at run-time.

Written by Mats O Jansson <moj@stacken.kth.se>.  Reworked by
Jun-ichiro itojun Hagino <itojun@netbsd.org>.
2001-07-01 02:56:20 +00:00
jdolecek 3fd1ca0fc9 Do not include the ELF 'catch all' entry in execsw[] by default, which
used to make ELF binaries unmatched by any signature check to be run under
NetBSD 'emulation'. This causes problems like kern/12253.
The old behaviour is available with option EXEC_ELF_CATCHALL.
2001-06-19 17:58:41 +00:00
jdolecek ee882e3a09 Add port of high performance pipe implementation written by John S. Dyson
for FreeBSD project. Besides huge speed boost compared with socketpair-based
pipes, this implementation also uses pagable kernel memory instead of mbufs.

Significant differences to FreeBSD version:
* uses uvm_loan() facility for direct write
* async/SIGIO handling correct also for sync writer, async reader
* limits settable via sysctl, amountpipekva and nbigpipes available via sysctl
* pipes are unidirectional - this is enforced on file descriptor level
	for now only, the code would be updated to take advantage of it
	eventually
* uses lockmgr(9)-based locks instead of home brew variant
* scatter-gather write is handled correctly for direct write case, data
  is transferred by PIPE_DIRECT_CHUNK bytes maximum, to avoid running out of kva

All FreeBSD/NetBSD specific code is within appropriate #ifdef, in preparation
to feed changes back to FreeBSD tree.

This pipe implementation is optional for now, add 'options NEW_PIPE'
to your kernel config to use it.
2001-06-16 12:00:02 +00:00
simonb 18b2f7e6a1 Add a port to IBM's PPC405GP Reference Board (the "walnut")
by Eduardo Horvath and Simon Burge of Wasabi Systems.

IBM 4xx series CPU features:
 - New pmap and revised trap handler.
 - Support on-chip timers, PCI controller, UARTs
 - Framework for on-chip ethernet and watchdog timer.
General PowerPC features:
 - Add in-kernel PPC floating point emulation
 - New in{,4}_cksum that is between 1.5 and 5 times faster than the
   old version depending on CPU type.
General changes:
 - Kernel support for generic dbsym-style symbols.
2001-06-13 06:01:44 +00:00
tsutsui bcdd082840 Add a driver for the Initio INIC-940/950 PCI SCSI controllers.
Based on OpenBSD's iha driver, and modified some structures by me.

Tested on arc, i386 and macppc.
2001-06-03 13:43:45 +00:00
thorpej ca4d373730 Implement support for IP/TCP/UDP checksum offloading provided by
network interfaces.  This works by pre-computing the pseudo-header
checksum and caching it, delaying the actual checksum to ip_output()
if the hardware cannot perform the sum for us.  In-bound checksums
can either be fully-checked by hardware, or summed up for final
verification by software.  This method was modeled after how this
is done in FreeBSD, although the code is significantly different in
most places.

We don't delay checksums for IPv6/TCP, but we do take advantage of the
cached pseudo-header checksum.

Note: hardware-assisted checksumming defaults to "off".  It is
enabled with ifconfig(8).  See the manual page for details.

Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet,
3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.
2001-06-02 16:17:06 +00:00
itojun 23395d5017 build faith(4) only if INET and INET6 are specified.
From: joda@pdc.kth.se (Johan Danielsson) on tech-net
2001-05-30 17:50:46 +00:00
sommerfeld bdecf91bef Add infrastructure to allow ports to override build of in6_cksum.c by
enabling the INET6_MD_CKSUM option, which is defopted into opt_inet.h.
Supply an i386 assembly version of in6_cksum in in_cksum.s; on
P6-family cpu's, this is is roughly 20% faster than the C code in
sys/netinet6 for ethernet-mtu-sized mbufs in L1 cache.  Turn on
INET6_MD_CKSUM in i386/conf/std.i386

While we're here, also nuke some now-obsolete XXX comments from
in_cksum.s.
2001-05-26 17:46:11 +00:00
matt ad064c38d9 defopt KGDB 2001-05-18 19:59:03 +00:00
jmc 32b1bba730 Add locator support for fwbus's 2001-05-13 04:54:47 +00:00
matt 063e046c8f Add MI cprofb (used on shark and netwinder) 2001-05-11 04:47:56 +00:00
ichiro 8bb5cfe6aa divided into PCMCIA attachment and common code of wi.
since if_wi_ieee.h does not depend for pcmcia,
sys/dev/pcmcia/if_wi_ieee.h was moved to sys/dev/ic/wi_ieee.h .
2001-05-06 03:26:38 +00:00
minoura 1a9388aa50 Software codec for Oki MSM6258 voice synthesizer.
Recording untested.
2001-05-02 12:53:31 +00:00
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