Home | History | Annotate | Download | only in conf
History log of /src/sys/conf/files
RevisionDateAuthorComments
 1.1320  10-Jun-2026  kre Fix an edit glitch.
 1.1319  09-Jun-2026  skrll Some spaces to tabs and move BIOHIST before USBHIST
 1.1318  29-May-2026  yamaguchi Added an option to configure the pppoe(4) retry interval
 1.1317  24-Oct-2025  brad A driver for the NXP SC16IS7xx family of UART chips. This family is
mostly a 16C450 with features from the 16C550, 16C650 and 16C750 and
makes use of src/sys/dev/ic/com.c for much of the heavy lifting.

A BIG difference is that the chip family is attached via a I2C or SPI
bus and is in no way, shape or form, attached to the computer via a
computer bus.

Since spin locks are not allowed to be held while calling to the I2C
or SPI framework com.c grew a new hw feature flag where it could be
run at something other than a hard IP level and doesn't hold spin lock
(for very long). In particular, IPL_SOFTSERIAL. This method is
enabled via a hw feature flag and should not effect any other use of
com.c. Other changes with this new method of use include the use of
workqueues and such.

A further feature added to com.c was the abilty to take advantage of
the MCR prescaler that is present in the SC16IS7xx family and likely
present in the 16C650. This prescaler is tried if the baud rate
requested can not be met with the frequency oscillator that the chip is
built with.

The chip family does not use any particular frequency oscillator for
the baud rate generator. In order to deal with this the frequency can
be set via sysctl, a kernel option or with a FDT overlay if that is
supported.

Most of the features of the chip family are supported including the
gpio pins via gpiobus(4) that are present with some of the family
members.

The chip can attach via I2C or SPI and can make sure of FDT if that is
present in the system.

This chip family has been around for quite some time and there are a
number of breakout boards on Amazon. It is also reasonably priced and
you can roll your own board if you can perform simple SMD soldering as
very few additional components are required.
 1.1316  01-Sep-2025  thorpej Put the pcfiic driver declaration in the global location, and adapt
the sparc64 instance to be a proper separate attachment.
 1.1315  22-Mar-2025  pgoyette Allow MODDULAR_AUTOUNLOAD_UNSAFE as a kernel build option. Defaults to
false, so no change in current behaviour if not selected.
 1.1314  08-Jan-2025  jmcneill scmi: Add Arm SCMI performance protocol support.

From OpenBSD, adapted for the NetBSD cpufreq sysctl interface.
 1.1313  19-May-2024  christos branches: 1.1313.2;
version dup3
 1.1312  02-Apr-2024  charlotte dk(4): Add support for discovering Atari TOS partitions as wedges

Any partitioning scheme which conforms to the Atari AHDI 3.00 spec should be
recognized by the new DKWEDGE_METHOD_TOS.
 1.1311  09-Feb-2024  andvar fix spelling mistakes, mainly in comments and log messages.
 1.1310  29-Dec-2023  thorpej Re-factor the Goldfish RTC driver into attach-front-end and generic
back-end; Goldfish virtual devices can be found on virtual platforms
that don't use FDT.
 1.1309  10-Sep-2023  abs Rework AHCISATA_EXTRA_DELAY for kern/56737

- Remove AHCI_QUIRK_EXTRA_DELAY as issue appears to be drive and
not controller related
- Replace AHCISATA_EXTRA_DELAY with AHCISATA_REMOVE_EXTRA_DELAY,
so defaulting to enabling the extra delay, as the downside of
slower probing on systems which do not need it is less than having
other systems intermittently fail to probe and attach drives
- Also allow disabling extra delay with AHCISATA_EXTRA_DELAY_MS = 0

We should return to this code to work out which of the extra delays
are needed, and how long they need to be. It may be that faster
systems are more likely to trigger the issue (I've only seen it on
a 13th gen i7-13700, though only tested on a limited set)

XXX pullup -10
 1.1308  03-Sep-2023  andvar config(5): enable NTP option implicitly when PPS_SYNC option is enabled.

PPS_SYNC requires NTP, but some code blocks are ifdef'ed without it,
thus allowing an attempt to build kernel with PPS_SYNC, and without NTP
(and it almost builds with one line change).

Update options(4) man page to reflect the change.

Solution suggested by riastradh.
 1.1307  16-Apr-2023  jmcneill Separate DesignWare watchdog driver and FDT glue.
 1.1306  28-Dec-2022  jakllsch remove lingering strip(4) remnants
 1.1305  19-Dec-2022  pgoyette Create compat_100 module infrastructure now that we have branched
for NetBSD-10
 1.1304  03-Dec-2022  brad branches: 1.1304.2;


Split the BMP280 / BME280 driver into common code and create I2C and
SPI attachments.
 1.1303  05-Nov-2022  jmcneill Add driver for Cadence I2C controller.
 1.1302  28-Oct-2022  skrll MI PMAP EFI_RUNTIME support
 1.1301  24-Jul-2022  mrg use defparam; noted by tnn@.
 1.1300  23-Jul-2022  mrg make MAXLWP a real option that triggers rebuilds properly.
 1.1299  20-Jul-2022  riastradh drm: Use CPPFLAGS.drmkms in all local drm drivers too.

This way we don't pollute the NetBSD kernel namespace with all the
Linux compat shim definitions needed to build drm, except for the
local drm drivers that need the API.
 1.1298  05-Jun-2022  rjs bwfm(4) uses firmload.
 1.1297  07-May-2022  rin Add MODULAR_DEFAULT_VERBOSE option.
 1.1296  24-Mar-2022  manu Add initial support for Intel GPIO chips
 1.1295  16-Feb-2022  riastradh sys: Include files.acpica unconditionally.

This way acpica.h always exists unconditionally, so MI code can be
conditional on NACPICA.

It is not great to have such conditionals, but it's better to have

#include "acpica.h"

#ifdef NACPICA > 0

than to have

#if defined(__i386__) || defined(__x86_64__) || defined(__arm__)
#include "acpica.h"
#endif

#ifdef NACPICA > 0

and we can still grep for NACPICA to find places that could be
factored better.
 1.1294  17-Jan-2022  thorpej Re-factor and overhaul the "mcp23s17gpio" driver as "mcpgpio", and
add support for 8-bit and I2C variants of the chip:
- MCP23008 / MCP23S08: 8-bit (I2C / SPI)
- MCP23017 / MCP23S17: 16-bit (I2C / SPI)
- MCP23018 / MCP23S18: 16-bit (I2C / SPI), open-drain outputs

The MCP23x17 and MCP23x18 are essentially identical, software-wise; we
merely report different GPIO pin capabilities (no push-pull output for
MCP23x18). Also, remove the tri-state capability that was previously
advertised by the old version of this driver; these chips have no way
to put the pin into a HI-Z mode.

All 3 I2C versions are supported, but the SPI front-end still only
supports the MCP23S17 for now (SPI autoconfiguration needs an overhaul).

mcp23s17gpio(4) remains present as a link to the new mcpgpio(4) man page.

XXX Still to-do: FDT integration, interrupt suppoort.

(File missed in prior commit.)
 1.1293  03-Jan-2022  jmcneill Add driver for DesignWare Ethernet Quality-of-Service controller.
 1.1292  01-Jan-2022  msaitoh s/sytem/system/
 1.1291  07-Dec-2021  brad A driver and user land utility for the Sparkfun Serial Controlled Motor
Driver module as illustrated here:

https://www.sparkfun.com/products/13911

A SCMD module is a ARM SOC simular to a Arduino in front of a motor
driver chip. The single SCMD module can control two motors and up to
16 additional modules can be chained together using an internal I2C
bus. One can interface with the SCMD using tty uart commands, SPI or
I2C. The driver in this commit adds a kernel driver for the I2C and
SPI interfaces. The command line utility provides a set of
convenience commands that support most of the functions of the SCMD
and is able to use the tty uart mode, SPI user land or the included
kernel driver in a uniform manor.

The use of the SCMD module is mostly for small robots and the like,
but it can control anything that is controllable by voltage.
 1.1290  19-Nov-2021  rin ahcisata(4): Introduce AHCI_QUIRK_EXTRA_DELAY quirk for devices that
need extra delays as done by AHCISATA_EXTRA_DELAY option.

Enable this quirk for "C600/X79 AHCI". Also add commented out quirk
entries for "Bay Trail SATA (AHCI)" and "Mobile AHCI SATA Controller",
for which non-reproducible failures worked around by extra delays have
been reported.

500 ms of delays inserted by these option/quirk may be too much. Add
AHCISATA_EXTRA_DELAY_MS option to adjust number of delays in ms, like:

----
options AHCISATA_EXTRA_DELAY_MS=200
----

Thanks prlw1@ and jun@ for testing!
 1.1289  11-Oct-2021  jmcneill add defflag for AHCISATA_EXTRA_DELAY
 1.1288  11-Oct-2021  msaitoh defparam NMBCLUSTERS_MAX.
 1.1287  21-Jul-2021  jmcneill Separate MI smbios interface from MD specific code.
 1.1286  01-Jun-2021  yamaguchi Fix not to do if_down() before reconnect

Almost network interface do not use if_down() even when there is no
connectivity. So, pppoe(4) is also made be not used it.
This behavior can be rollbacked by SPPP_IFDOWN_RECONNECT option.
 1.1285  29-May-2021  simonb Put the MSGBUFSIZE option in opt_param.h so that changes of its setting
in kernel config files will be picked up automatically without needing
a "make clean". Added to opt_param.h since ports define their default
MSGBUFSIZE settings in their <arch/include/param.h> (or equivalent).
 1.1284  19-May-2021  yamaguchi Added a kernel option to change the number of processing packets
at one pppoeintr()
 1.1283  17-May-2021  yamaguchi Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable
 1.1282  14-May-2021  yamaguchi Add a parameter to change keepalive interval in each PPPoE I/F
 1.1281  14-May-2021  yamaguchi Added SPPP_NORECV_TIME option to change pp_max_noreceive
 1.1280  14-May-2021  yamaguchi Introduce SPPP_KEEPALIVE_INTERVAL option
to change the interval between LCP echo requests
 1.1279  06-Feb-2021  dbj branches: 1.1279.4; 1.1279.6;
defflag USBHIST_PRINT
 1.1278  16-Jan-2021  chs remove unused "_DIAGNOSTIC" option and opt_diagnostic.h.
note that this is unrelated to the widely used "DIAGNOSTIC" option.
 1.1277  27-Oct-2020  ryo branches: 1.1277.2;
move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb
 1.1276  27-Sep-2020  roy Wups, forgot to commit this with vether.
 1.1275  20-Aug-2020  riastradh [ozaki-r] Changes to the kernel core for wireguard
 1.1274  01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.1273  25-Jul-2020  riastradh New ChaCha API in kernel.

This will enable us to adopt MD vectorized implementations of ChaCha.
 1.1272  25-Jul-2020  riastradh Convert ieee80211_crypto_ccmp.c to new aes_ccm API.

This will make it easier to provide better hardware acceleration
without fpu enabling/disabling overhead for each block of data.
 1.1271  29-Jun-2020  riastradh New cgd cipher adiantum.

Adiantum is a wide-block cipher, built out of AES, XChaCha12,
Poly1305, and NH, defined in

Paul Crowley and Eric Biggers, `Adiantum: length-preserving
encryption for entry-level processors', IACR Transactions on
Symmetric Cryptology 2018(4), pp. 39--61.

Adiantum provides better security than a narrow-block cipher with CBC
or XTS, because every bit of each sector affects every other bit,
whereas with CBC each block of plaintext only affects the following
blocks of ciphertext in the disk sector, and with XTS each block of
plaintext only affects its own block of ciphertext and nothing else.

Adiantum generally provides much better performance than
constant-time AES-CBC or AES-XTS software do without hardware
support, and performance comparable to or better than the
variable-time (i.e., leaky) AES-CBC and AES-XTS software we had
before. (Note: Adiantum also uses AES as a subroutine, but only once
per disk sector. It takes only a small fraction of the time spent by
Adiantum, so there's relatively little performance impact to using
constant-time AES software over using variable-time AES software for
it.)

Adiantum naturally scales to essentially arbitrary disk sector sizes;
sizes >=1024-bytes take the most advantage of Adiantum's design for
performance, so 4096-byte sectors would be a natural choice if we
taught cgd to change the disk sector size. (However, it's a
different cipher for each disk sector size, so it _must_ be a cgd
parameter.)

The paper presents a similar construction HPolyC. The salient
difference is that HPolyC uses Poly1305 directly, whereas Adiantum
uses Poly1395(NH(...)). NH is annoying because it requires a
1072-byte key, which means the test vectors are ginormous, and
changing keys is costly; HPolyC avoids these shortcomings by using
Poly1305 directly, but HPolyC is measurably slower, costing about
1.5x what Adiantum costs on 4096-byte sectors.

For the purposes of cgd, we will reuse each key for many messages,
and there will be very few keys in total (one per cgd volume) so --
except for the annoying verbosity of test vectors -- the tradeoff
weighs in the favour of Adiantum, especially if we teach cgd to do
>>512-byte sectors.

For now, everything that Adiantum needs beyond what's already in the
kernel is gathered into a single file, including NH, Poly1305, and
XChaCha12. We can split those out -- and reuse them, and provide MD
tuned implementations, and so on -- as needed; this is just a first
pass to get Adiantum implemented for experimentation.
 1.1270  29-Jun-2020  riastradh cgd(4): Switch from legacy rijndael API to new aes API.
 1.1269  29-Jun-2020  riastradh Rework AES in kernel to finally address CVE-2005-1797.

1. Rip out old variable-time reference implementation.
2. Replace it by BearSSL's constant-time 32-bit logic.
=> Obtained from commit dda1f8a0c46e15b4a235163470ff700b2f13dcc5.
=> We could conditionally adopt the 64-bit logic too, which would
likely give a modest performance boost on 64-bit platforms
without AES-NI, but that's a bit more trouble.
3. Select the AES implementation at boot-time; allow an MD override.
=> Use self-tests to verify basic correctness at boot.
=> The implementation selection policy is rather rudimentary at
the moment but it is isolated to one place so it's easy to
change later on.

This (a) plugs a host of timing attacks on, e.g., cgd, and (b) paves
the way to take advantage of CPU support for AES -- both things we
should've done a decade ago. Downside: Computing AES takes 2-3x the
CPU time. But that's what hardware support will be coming for.

Rudimentary measurement of performance impact done by:

mount -t tmpfs tmpfs /tmp
dd if=/dev/zero of=/tmp/disk bs=1m count=512
vnconfig -cv vnd0 /tmp/disk
cgdconfig -s cgd0 /dev/vnd0 aes-cbc 256 < /dev/zero
dd if=/dev/rcgd0d of=/dev/null bs=64k
dd if=/dev/zero of=/dev/rcgd0d bs=64k

The AES-CBC encryption performance impact is closer to 3x because it
is inherently sequential; the AES-CBC decryption impact is closer to
2x because the bitsliced AES logic can process two blocks at once.

Discussed on tech-kern:

https://mail-index.NetBSD.org/tech-kern/2020/06/18/msg026505.html
 1.1268  07-Jun-2020  maxv Add fault(4).
 1.1267  20-May-2020  hkenken i.MX support merged into GENERIC kernel.
 1.1266  22-Apr-2020  rin Make crypto/rijindael optional again as cprng_strong does no longer
depend on it. Dependency is explicitly declared in files.foo if a
component requires it.
 1.1265  15-Apr-2020  maxv Introduce POOL_NOCACHE, simple option to cancel pool_caches and go directly
to the pool layer. It is taken out of POOL_QUARANTINE.

Advertise POOL_NOCACHE for kMSan rather than POOL_QUARANTINE. With kMSan
we are only interested in the no-caching effect, not the quarantine. This
reduces memory pressure on kMSan kernels.
 1.1264  04-Apr-2020  jdolecek branches: 1.1264.2;
remove also files.netsmb from here
 1.1263  04-Apr-2020  jdolecek remove SMBFS and nsmb(4) - kernel part

it's unmaintained and supports only obsolete SMB1
 1.1262  31-Mar-2020  nisimura dme needs mii
 1.1261  08-Mar-2020  christos undo previous since config has been fixed
 1.1260  07-Mar-2020  thorpej Fix MIPS builds by working around an apparent bug in config(8)'s elif
handling.
 1.1259  05-Mar-2020  pgoyette Also exclude EXEC_AOUT stuff for aarch64

XXX Pullup-9 and -8
 1.1258  05-Mar-2020  pgoyette Fix comment - thanks Ryo Shimizu
 1.1257  04-Mar-2020  pgoyette mips64 has compat_netbsd32 but cannot have exec_aout; all other users
of compat_netbsd32 need exec_aout

Addresses PR kern/55037.

XXX pullup-9
 1.1256  22-Feb-2020  jmcneill Add support for Broadcom GENET v5 ethernet controller as found on the
Raspberry Pi 4 (BCM2711).
 1.1255  08-Feb-2020  maxv Retire KLEAK.

KLEAK was a nice feature and served its purpose; it allowed us to detect
dozens of info leaks on the kernel->userland boundary, and thanks to it we
tackled a good part of the infoleak problem 1.5 years ago.

Nowadays however, we have kMSan, which can detect uninitialized memory in
the kernel. kMSan supersedes KLEAK: it can detect what KLEAK was able to
detect, but in addition, (1) it operates in all of the kernel and not just
the kernel->userland boundary, (2) it requires no user interaction, and (3)
it is deterministic and not statistical.

That makes kMSan the feature of choice to detect info leaks nowadays;
people interested in detecting info leaks should boot a kMSan kernel and
just wait for the magic to happen.

KLEAK was a good ride, and a fun project, but now is time for it to go.

Discussed with several people, including Thomas Barabosch.
 1.1254  20-Jan-2020  pgoyette COMPAT_43 requires COMPAT_60
 1.1253  20-Jan-2020  thorpej Remove FDDI support.
 1.1252  19-Jan-2020  riastradh Remove filemon(4).

Discussed on tech-kern:
https://mail-index.NetBSD.org/tech-kern/2020/01/13/msg025938.html

This was never (intentionally) enabled by default, and the design has
some shortcomings. You can get mostly the same results with ktrace,
as in usr.bin/make/filemon/filemon_ktrace.c which is now used instead
of filemon for make's meta mode.

If applications require higher performance than ktrace, or nesting
that ktrace doesn't support, we might consider adding something back
into the vfs system calls themselves, without hijacking the syscall
table. (Might want a more reliable output format too, e.g. one that
can handle newlines in file names.)
 1.1251  19-Jan-2020  thorpej Remove Token Ring support.
 1.1250  19-Jan-2020  thorpej Remove HIPPI support and the esh(4) driver that uses it. There have not
been any users of HIPPI for some time, and it is unlikely to be resurrected.
 1.1249  08-Jan-2020  ad - options NAMECACHE_ENTER_REVERSE is no more.

- Partially sort the list of per-vnode namecache entries by using a TAILQ.
Put the real name to the head, and put dot and dotdot to the tail so that
cache_lookup_reverse() doesn't have to consider them.
 1.1248  23-Dec-2019  maxv branches: 1.1248.2;
Revert the removal of filemon.
 1.1247  19-Dec-2019  jakllsch add Analogix DisplayPort core driver
 1.1246  18-Dec-2019  maxv Retire filemon, discussed on tech-kern@.
 1.1245  05-Dec-2019  riastradh Nuke crypto/arc4. Has not been used since 2003. Will not be missed.
 1.1244  14-Nov-2019  maxv Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized
memory used by the kernel at run time, and just like kASan and kCSan, it
is an excellent feature. It has already detected 38 uninitialized variables
in the kernel during my testing, which I have since discreetly fixed.

We use two shadows:
- "shad", to track uninitialized memory with a bit granularity (1:1).
Each bit set to 1 in the shad corresponds to one uninitialized bit of
real kernel memory.
- "orig", to track the origin of the memory with a 4-byte granularity
(1:1). Each uint32_t cell in the orig indicates the origin of the
associated uint32_t of real kernel memory.

The memory consumption of these shadows is consequent, so at least 4GB of
RAM is recommended to run kMSan.

The compiler inserts calls to specific __msan_* functions on each memory
access, to manage both the shad and the orig and detect uninitialized
memory accesses that change the execution flow (like an "if" on an
uninitialized variable).

We mark as uninit several types of memory buffers (stack, pools, kmem,
malloc, uvm_km), and check each buffer passed to copyout, copyoutstr,
bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory
that leaves the system. This allows us to detect kernel info leaks in a way
that is more efficient and also more user-friendly than KLEAK.

Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot
tolerate having one non-instrumented function, because this could cause
false positives. kMSan cannot instrument ASM functions, so I converted
most of them to __asm__ inlines, which kMSan is able to instrument. Those
that remain receive special treatment.

Contrary to kASan again, kMSan uses a TLS, so we must context-switch this
TLS during interrupts. We use different contexts depending on the interrupt
level.

The orig tracks precisely the origin of a buffer. We use a special encoding
for the orig values, and pack together in each uint32_t cell of the orig:
- a code designating the type of memory (Stack, Pool, etc), and
- a compressed pointer, which points either (1) to a string containing
the name of the variable associated with the cell, or (2) to an area
in the kernel .text section which we resolve to a symbol name + offset.

This encoding allows us not to consume extra memory for associating
information with each cell, and produces a precise output, that can tell
for example the name of an uninitialized variable on the stack, the
function in which it was pushed on the stack, and the function where we
accessed this uninitialized variable.

kMSan is available with LLVM, but not with GCC.

The code is organized in a way that is similar to kASan and kCSan, so it
means that other architectures than amd64 can be supported.
 1.1243  11-Nov-2019  msaitoh Remove acorn26's upc(4) devices.
 1.1242  09-Nov-2019  jmcneill Add support for internal DesignWare HDMI PHYs
 1.1241  05-Nov-2019  maxv Add Kernel Concurrency Sanitizer (kCSan) support. This sanitizer allows us
to detect race conditions at runtime. It is a variation of TSan that is
easy to implement and more suited to kernel internals, albeit theoretically
less precise than TSan's happens-before.

We do basically two things:

- On every KCSAN_NACCESSES (=2000) memory accesses, we create a cell
describing the access, and delay the calling CPU (10ms).

- On all memory accesses, we verify if the memory we're reading/writing
is referenced in a cell already.

The combination of the two means that, if for example cpu0 does a read that
is selected and cpu1 does a write at the same address, kCSan will fire,
because cpu1's write collides with cpu0's read cell.

The coverage of the instrumentation is the same as that of kASan. Also, the
code is organized in a way similar to kASan, so it is easy to add support
for more architectures than amd64. kCSan is compatible with KCOV.

Reviewed by Kamil.
 1.1240  22-Sep-2019  christos Add a new member to struct vfsstat and grow the unused members
The new member is caled f_mntfromlabel and it is the dkw_wname
of the corresponding wedge. This is now used by df -W to display
the mountpoint name as NAME=
 1.1239  14-Sep-2019  maxv Add vHCI, a driver which allows to send and receive USB packets directly
from userland via /dev/vhci. Using this, it becomes possible to test and
fuzz the USB stack and all the USB drivers without having the associated
hardware.

The vHCI device has four ports independently addressable.

For each xfer on each port, we create two packets: a setup packet (which
indicates mostly the type of request) and a data packet (which contains
the raw data). These packets are processed by read and write operations
on /dev/vhci: userland poll-reads it to fetch usb_device_request_t
structures, and dispatches the requests depending on bRequest and
bmRequestType.

A few ioctls are available:

VHCI_IOC_GET_INFO - Get the current status
VHCI_IOC_SET_PORT - Choose a vHCI port
VHCI_IOC_USB_ATTACH - Attach a USB device on the current port
VHCI_IOC_USB_DETACH - Detach the USB device on the current port

vHCI has already allowed me to automatically find several bugs in the USB
stack and its drivers.
 1.1238  02-Sep-2019  riastradh Switch from NIST CTR_DRBG with AES to NIST Hash_DRBG with SHA-256.

Benefits:

- larger seeds -- a 128-bit key alone is not enough for `128-bit security'
- better resistance to timing side channels than AES
- a better-understood security story (https://eprint.iacr.org/2018/349)
- no loss in compliance with US government standards that nobody ever
got fired for choosing, at least in the US-dominated western world
- no dirty endianness tricks
- self-tests

Drawbacks:

- performance hit: throughput is reduced to about 1/3 in naive measurements
=> possible to mitigate by using hardware SHA-256 instructions
=> all you really need is 32 bytes to seed a userland PRNG anyway
=> if we just used ChaCha this would go away...

XXX pullup-7
XXX pullup-8
XXX pullup-9
 1.1237  15-Jun-2019  maxv branches: 1.1237.2;
Add KASAN_PANIC, an option to turn KASAN warning into kernel panics,
requested by Siddharth. While here clarify a little.
 1.1236  17-May-2019  ozaki-r Implement an aggressive psref leak detector

It is yet another psref leak detector that enables to tell where a leak occurs
while a simpler version that is already committed just tells an occurrence of a
leak.

Investigating of psref leaks is hard because once a leak occurs a percpu list of
psref that tracks references can be corrupted. A reference to a tracking object
is memorized in the list via an intermediate object (struct psref) that is
normally allocated on a stack of a thread. Thus, the intermediate object can be
overwritten on a leak resulting in corruption of the list.

The tracker makes a shadow entry to an intermediate object and stores some hints
into it (currently it's a caller address of psref_acquire). We can detect a
leak by checking the entries on certain points where any references should be
released such as the return point of syscalls and the end of each softint
handler.

The feature is expensive and enabled only if the kernel is built with
PSREF_DEBUG.

Proposed on tech-kern
 1.1235  26-Apr-2019  jmcneill Remove Designware timer code. This was used by the old Rockchip port and
is no longer required.
 1.1234  13-Apr-2019  maxv Introduce POOL_QUARANTINE, a feature that creates a window during which a
freed buffer cannot be reallocated. This greatly helps detecting
use-after-frees, because they are not short-lived anymore.

We maintain a per-pool fifo of 128 buffers. On each pool_put, we do a real
free of the oldest buffer, and insert the new buffer. Before insertion, we
mark the buffer as invalid with KASAN. On each pool_cache_put, we destruct
the object, so it lands in pool_put, and the quarantine is handled there.

POOL_QUARANTINE can be used in conjunction with KASAN to detect more
use-after-free bugs.
 1.1233  09-Apr-2019  pgoyette defparam all of the config variables associated with SYSV IPC stuff.
The variables were removed from sys/conf/param.c and moved into the
SYSV IPC code, but config options were never propagated via any opt_*
file.

This should fix an issue reported on netbsd-users list from Dima Veselov.

Note that this does not address other parameters included in that report,
including CHILD_MAX and NOFILE; this commit only affects items related to
the SYSV IPC code. Also note that this does not affect non-built-in
sysv_ipc modules, for which you need to update the Makefile to use any
non-standard config values - just like any other non-built-in modules
which have config params.

XXX Pull-up to -8 and -8-0

XXX Note that there are a couple of panic() calls in msginit() which
XXX really should be changed to simple printf() and then result in
XXX msginit failure. Unfortunately msginit() currently doesn't return
XXX a value so we cannot indicate failure to the caller. I will fix
XXX this is a future commit.
 1.1232  25-Mar-2019  maxv Remove compat_osf1, discussed on tech-kern@.
 1.1231  17-Mar-2019  tnn config glue for ssdfb
 1.1230  23-Feb-2019  kamil Add KCOV - kernel code coverage tracing device

The KCOV driver implements collection of code coverage inside the kernel.
It can be enabled on a per process basis from userland, allowing the kernel
program counter to be collected during syscalls triggered by the same
process.

The device is oriented towards kernel fuzzers, in particular syzkaller.

Currently the only supported coverage type is -fsanitize-coverage=trace-pc.

The KCOV driver was initially developed in Linux. A driver based on the
same concept was then implemented in FreeBSD and OpenBSD.

Documentation is borrowed from OpenBSD and ATF tests from FreeBSD.

This patch has been prepared by Siddharth Muralee, improved by <maxv>
and polished by myself before importing into the mainline tree.

All ATF tests pass.
 1.1229  12-Feb-2019  mrg compat_sunos depends upon compat_09. fixes:

[ 1.8785495] WARNING: module error: built-in module compat_sunos can't find builtin dependency `compat_09'
[ 1.8785495] WARNING: module error: built-in module compat_sunos prerequisite compat_09 failed, error 2
 1.1228  30-Jan-2019  jmcneill Add driver for Designware HDMI TX controller.
 1.1227  28-Jan-2019  pgoyette Move COMPAT_43 to preceed anything that depends on it
 1.1226  28-Jan-2019  pgoyette Spell COMPAT_43 correctly - no NETBSD in the middle
 1.1225  28-Jan-2019  christos comma police.
 1.1224  27-Jan-2019  pgoyette COMPAT_FREEBSD also requires COMPAT_43
 1.1223  27-Jan-2019  pgoyette Adjust dependencies for COMPAT_FREEBSD and COMPAT_LINUX

Should address kern/53915
 1.1222  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.1221  29-Dec-2018  maxv Retire compat_ibcs2, as discussed on tech-kern@. FreeBSD did the same
recently.
 1.1220  25-Dec-2018  mlelstv Make ipmi driver available to other platforms.
Add ACPI attachment.
 1.1219  19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.1218  08-Dec-2018  thorpej Remove the COM_REGMAP option -- just use it all the time. While here,
garbage-collect the COM_FUNCMAP and COM_AU1X00 options, as there are
not used anywhere.
 1.1217  02-Dec-2018  maxv Introduce KLEAK, a new feature that can detect kernel information leaks.

It works by tainting memory sources with marker values, letting the data
travel through the kernel, and scanning the kernel<->user frontier for
these marker values. Combined with compiler instrumentation and rotation
of the markers, it is able to yield relevant results with little effort.

We taint the pools and the stack, and scan copyout/copyoutstr. KLEAK is
supported on amd64 only for now, but it is not complicated to add more
architectures (just a matter of having the address of .text, and a stack
unwinder).

A userland tool is provided, that allows to execute a command in rounds
and monitor the leaks generated all the while.

KLEAK already detected directly 12 kernel info leaks, and prompted changes
that in total fixed 25+ leaks.

Based on an idea developed jointly with Thomas Barabosch (of Fraunhofer
FKIE).
 1.1216  07-Nov-2018  maxv Add NVMM - for NetBSD Virtual Machine Monitor -, a kernel driver that
provides support for hardware-accelerated virtualization on NetBSD.

It is made of an MI frontend, to which MD backends can be plugged. One
MD backend is implemented, x86-SVM, for x86 AMD CPUs.

We install

/usr/include/dev/nvmm/nvmm.h
/usr/include/dev/nvmm/nvmm_ioctl.h
/usr/include/dev/nvmm/{arch}/nvmm_{arch}.h

And the kernel module. For now, the only architecture where we do that
is amd64 (arch=x86).

NVMM is not enabled by default in amd64-GENERIC, but is instead easily
modloadable.

Sent to tech-kern@ a month ago. Validated with kASan, and optimized
with tprof.
 1.1215  19-Oct-2018  jakllsch Add amdccp(4) driver for AMD Cryptographic Coprocessor, as found on the
A11xx Opterons. Driver currently provides RNG service only.
 1.1214  15-Oct-2018  jmcneill Rename pl061gpio to plgpio and split the device logic from the FDT glue.
 1.1213  23-Sep-2018  maxv Remove ISDN from the kernel. It has remained unmaintained for a long time,
is of poor quality, and is now an obstacle to MP-ification. It was removed
ten years ago from FreeBSD for the same reason.

This retires a big user of the mbuf API, and will ease maintenance of the
kernel.
 1.1212  22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.1211  22-Sep-2018  maxv Remove the "ifritz" driver (no man page). It is part of ISDN, which we are
retiring.
 1.1210  22-Sep-2018  maxv Remove ifpci(4). It is part of ISDN, which we are retiring.
 1.1209  21-Sep-2018  maxv Remove iavc(4).
 1.1208  19-Sep-2018  maxv Remove daic(4), it has never been functional.

ok martin@
 1.1207  08-Sep-2018  christos Add libnv
 1.1206  06-Sep-2018  maxv Remove the network ATM code.
 1.1205  06-Sep-2018  maxv Retire the 'midway' driver. Discussed on tech-net@ recently and also three
years ago, part of removing the network ATM code.
 1.1204  20-Aug-2018  maxv Add support for kASan on amd64. Written by me, with some parts inspired
from Siddharth Muralee's initial work. This feature can detect several
kinds of memory bugs, and it's an excellent feature.

It can be enabled by uncommenting these three lines in GENERIC:

#makeoptions KASAN=1 # Kernel Address Sanitizer
#options KASAN
#no options SVS

The kernel is compiled without SVS, without DMAP and without PCPU area.
A shadow area is created at boot time, and it can cover the upper 128TB
of the address space. This area is populated gradually as we allocate
memory. With this design the memory consumption is kept at its lowest
level.

The compiler calls the __asan_* functions each time a memory access is
done. We verify whether this access is legal by looking at the shadow
area.

We declare our own special memcpy/memset/etc functions, because the
compiler's builtins don't add the __asan_* instrumentation.

Initially all the mappings are marked as valid. During dynamic
allocations, we add a redzone, which we mark as invalid. Any access on
it will trigger a kASan error message. Additionally, the compiler adds
a redzone on global variables, and we mark these redzones as invalid too.
The illegal-access detection works with a 1-byte granularity.

For now, we cover three areas:

- global variables
- kmem_alloc-ated areas
- malloc-ated areas

More will come, but that's a good start.
 1.1203  14-Aug-2018  maxv Retire EtherIP, we have L2TP instead.
 1.1202  15-Jul-2018  martin More ipkdb removal
 1.1201  12-Jul-2018  maxv Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.1200  06-Jun-2018  jakllsch branches: 1.1200.2;
shuffle mechanics of files.virtio config(5) include location,
without actually moving the contents thereof from dev/pci yet
 1.1199  06-May-2018  jmcneill Add kernel API for pwm channels.
 1.1198  08-Apr-2018  jmcneill Remove COM_AWIN option
 1.1197  08-Apr-2018  jmcneill Remove MOTG_ALLWINNER option
 1.1196  27-Feb-2018  maxv branches: 1.1196.2;
Remove the Econet code. It was part of acorn26, which was removed a
month ago.
 1.1195  22-Feb-2018  mrg move "define tcbus {}" into files.alpha. it isn't wanted for general
ports, and generates an unused symbol for pmax. with this both alpha
and pmax kernel work with gcc 5 and 6.
 1.1194  12-Feb-2018  joerg Add a new option CISS_NO_INTERRUPT_HACK for driving ciss(4) by callouts.
This is intended as workaround for certain Xen issues with dom0 kernels
and will likely want to have a high HZ value as well for decent
performance.
 1.1193  04-Feb-2018  maxv Add a proper defflag for GPROF, and include opt_gprof.h, otherwise we're
not gonna go very far.
 1.1192  18-Jan-2018  mrg implement 32-bit compat support for raidframe.

convert several raidframe ioctls to be bitsize idempotent so that
they work the same in 32 and 64 bit worlds, allowing netbsd32 to
configure and query raid properly. remove useless 'row' in a few
places. add COMPAT_80 and put the old ioctls there.

raidframeio.h:
RAIDFRAME_TEST_ACC
- remove, unused
RAIDFRAME_GET_COMPONENT_LABEL
- convert to label not pointer to label
RAIDFRAME_CHECK_RECON_STATUS_EXT
RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT
RAIDFRAME_CHECK_COPYBACK_STATUS_EXT
- convert to progress info not pointer to info
RAIDFRAME_GET_INFO
- version entirely.
raidframevar.h:
- rf_recon_req{} has row, flags and raidPtr removed (they're
not a useful part of this interface.)
- RF_Config_s{} and RF_DeviceConfig_s{} have numRow/rows removed.
- RF_RaidDisk_s{} is re-ordered slightly to fix alignment
padding - the actual data was already OK.
- InstallSpareTable() loses row argument

rf_compat32.c has code for RF_Config_s{} in 32 bit mode, used
by RAIDFRAME_CONFIGURE and RAIDFRAME_GET_INFO32.

rf_compat80.c has code for rf_recon_req{}, RF_RaidDisk_s{} and
RF_DeviceConfig_s{} to handle RAIDFRAME_FAIL_DISK,
RAIDFRAME_GET_COMPONENT_LABEL, RAIDFRAME_CHECK_RECON_STATUS_EXT,
RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT,
RAIDFRAME_CHECK_COPYBACK_STATUS_EXT, RAIDFRAME_GET_INFO.

move several of the per-ioctl code blocks into separate functions.

add rf_recon_req_internal{} to replace old usage of global
rf_recon_req{} that had unused void * in the structure, ruining
it's 32/64 bit ABI.

add missing case for RAIDFRAME_GET_INFO50.

adjust raid tests to use the new .conf format, and add a case to
test the old method as well.

raidctl:
deal with lack of 'row' members in a couple of places.
fail request no longer takes row.
handle "START array" sections with just "numCol numSpare", ie
no "numRow" specified. for now, generate old-style configuration
but update raidctl.8 to specify the new style (keeping reference
to the old style.)

note that: RF_ComponentLabel_s::{row,num_rows} and
RF_SingleComponent_s::row are obsolete but not removed yet.
 1.1191  10-Jan-2018  knakahara add ipsec(4) interface, which is used for route-based VPN.

man and ATF are added later, please see man for details.

reviewed by christos@n.o, joerg@n.o and ozaki-r@n.o, thanks.
https://mail-index.netbsd.org/tech-net/2017/12/18/msg006557.html
 1.1190  09-Jan-2018  christos Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.1189  18-Dec-2017  skrll Generalise FDT and OFW
 1.1188  16-Dec-2017  maxv Fix the linux dependency. It does not depend on COMPAT_16, it just wants
the compat functions (not really controlled by COMPAT_NETBSD, but for the
principle).

Makes it possible to load compat_linux.kmod from the filesystem without
any COMPAT_* option compiled (but COMPAT_NETBSD).
 1.1187  10-Dec-2017  bouyer Add support for I2C designware controllers (as found in Intel PCH devices),
with a pci front-end.
The pci front-end is tied to ACPI and Intel-specific, so it's in arch/x86/pci
and not dev/pci.
Core driver from OpenBSD, PCI front-end by me.
 1.1186  10-Dec-2017  bouyer Factor out bus-independant HID code so that it can be shared by USB, bluetooth
and i2c.
dev/usb/ukbdmap.c is renamed to dev/hid/hidkbdmap.c
dev/usb/hid.[ch] moved to dev/hid/
usage pages moved from dev/usb/usbhid.h moved to dev/hid/hid.h,
and updated with OpenBSD entries.
bus-independant code moved from dev/usb/ums.c to dev/hid/hidms.c
(the same should be done for keyboard and touchpad drivers)

Needed for the upcoming HID over I2C support, proposed on tech-kern@
on Dec, 1.
 1.1185  25-Nov-2017  jmcneill Add driver for QEMU Firmware Configuration device.

This interface allows the host to pass various data items and files to
the guest OS.
 1.1184  18-Nov-2017  christos Catch up with the new config version.
 1.1183  19-Oct-2017  jmcneill Add driver for Broadcom 802.11a/b/g/n/ac USB wireless devices, based on
the OpenBSD bwfm(4) driver.
 1.1182  09-Oct-2017  kre (untested) attempt to fix b5 evbarm-earmv7hf build - please revert if this
is incorrect, or harms anything else...
 1.1181  13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

Discussed on tech-security
http://mail-index.netbsd.org/tech-security/2017/08/21/msg000936.html

ok riastradh
 1.1180  08-Jul-2017  jmcneill Add a helper for exposing LED controls via sysctl.
 1.1179  22-Jun-2017  flxd spelling (DEC called it "TURBOchannel")
 1.1178  16-Jun-2017  jmcneill bump required config version for multiline makeoptions feature
 1.1177  11-Jun-2017  pgoyette Remove the 'needs-flag' from spkr.c - it's not needed by anything.
 1.1176  11-Jun-2017  nat New device wsbell - allows for a console beep for non pckbds (usb etc).
Works for platforms without pcppi - can work with spkr at audio and spkr
at pcppi.

To use add the following to your kernel config:
wsbell* at spkr? console?

Ok pgoyette@.
 1.1175  08-Jun-2017  jmcneill Add driver for ARM PrimeCell PL031 (RTC) Real Time Clock.
 1.1174  08-Jun-2017  jmcneill Add driver for ARM PrimeCell Advanced Audio CODEC interface (PL041).

Don't expect this driver to work on real hardware, but QEMU emulates it.
 1.1173  03-Jun-2017  jmcneill branches: 1.1173.2;
Add driver for ARM PrimeCell PL050 (KMI) PS2 keyboard/mouse interface
 1.1172  27-May-2017  bouyer merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.
 1.1171  26-Feb-2017  rin Add DKWEDGE_METHOD_RDB option, which is Amiga Rigid Disk Block (RDB)
partitioning detection method for dk(4).
 1.1170  16-Feb-2017  knakahara add l2tp(4) L2TPv3 interface.

originally implemented by IIJ SEIL team.
 1.1169  02-Feb-2017  macallan chipsfb needs glyphcache now
 1.1168  26-Dec-2016  pgoyette branches: 1.1168.2;
Add a BIOHIST option. As mentioned on tech-kern.
 1.1167  13-Dec-2016  christos Restructure speaker devices so that there can be multiple of them, and have
proper softc's.
 1.1166  02-Nov-2016  pgoyette * Split sys/kern/sys_process.c into three parts:
1 - ptrace(2) syscall for native emulation
2 - common ptrace(2) syscall code (shared with compat_netbsd32)
3 - support routines that are shared with PROCFS and/or KTRACE

* Add module glue for #1 and #2. Both modules will be built-in to the
kernel if "options PTRACE" is included in the config file (this is
the default, defined in sys/conf/std).

* Mark the ptrace(2) syscall as modular in syscalls.master (generated
files will be committed shortly).

* Conditionalize all remaining portions of PTRACE code on a new kernel
option PTRACE_HOOKS.

XXX Instead of PROCFS depending on 'options PTRACE', we should probably
just add a procfs attribute to the sys/kern/sys_process.c file's
entry in files.kern, and add PROCFS to the "#if defineds" for
process_domem(). It's really confusing to have two different ways
of requiring this file.
 1.1165  01-Nov-2016  pgoyette Update dependencies for COMPAT_LINUX32 to include COMPAT_NETBSD32

Without this, an attempt to build a kernel with COMPAT_LINUX32 but without
COMPAT_NETBSD32 will fail during the execution of genassym, and the error
messages are not very helpful.

With this change, config(1) will automatically (and silently) select/add
COMPAT_NETBSD32 to the configuration. It might be better if config(1)
were to issue an appropriate diagnostic, but that is a change for some
future day.
 1.1164  09-Sep-2016  christos sppp is not a pseudo-device
 1.1163  19-Aug-2016  maxv Remove the last references to KMEMSTATS.
 1.1162  11-Aug-2016  christos defopt PPPOE_DEBUG kill unknown sessions
 1.1161  07-Aug-2016  christos rename ifmpls to mpls, so we don't have if_ifmpls...
 1.1160  23-Jun-2016  skrll branches: 1.1160.2;
Fix UVMHIST builds for kernels that don't include usb
 1.1159  27-May-2016  bouyer The UART in the allwiner SoCs is not full-compatible with the 16550, and
it's not a 16750 either. Like the 16750 it has the IIR_BUSY interrupt,
which is triggered when writing to LCR while the chip
can't accept it. But unlike the 16750, it has a specific register,
HALT, to allow writing to the LCR and divisor registers, and then
commit the changes.
Tested on an A20 SoC, changing the baud rate while keeping the
tty device open and incoming data.
 1.1158  01-May-2016  nonaka Added nvme(4) for Non-Volatile Memory Host Controller Interface devices.
Ported from OpenBSD.
 1.1157  27-Apr-2016  christos Add rt2860 now that it compiles.
 1.1156  26-Apr-2016  skrll First pass at adapting SLHCI_DEBUG to USBHIST
 1.1155  23-Apr-2016  skrll Merge nick-nhusb (missed commit)
 1.1154  12-Apr-2016  christos Add PAX_MPROTECT_DEBUG
 1.1153  24-Feb-2016  skrll Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later
 1.1152  09-Dec-2015  maxv Rename verified_exec.c -> veriexec.c.

The old log is now in Attic/.
 1.1151  05-Dec-2015  jmcneill Add basic clock device infrastructure.
 1.1150  04-Sep-2015  uebayasi Make config(1) output only ${ALLFILES}, selected input files, and pass it to
Makefile.kern.inc, where files are filtered by suffix.
 1.1149  03-Sep-2015  uebayasi Add generated *.c files (devsw.c and ioconf.c) to ${CFILES} by config(1)
internally. ${MI_CFILES} in Makefile.kern.inc is no longer needed.
 1.1148  03-Sep-2015  uebayasi Move `all' target definition to Makefile.kern.inc.
 1.1147  03-Sep-2015  uebayasi Define kernel dependency in Makefile.kern.inc.
 1.1146  02-Sep-2015  uebayasi Define ${OBJS} in `Makefile.kern.inc'. Relative paths are not truncated
(a/b/c/x.c -> x.c) in `-S' mode. Don't provide some explicit rules for `-S'
mode for safety.
 1.1145  02-Sep-2015  uebayasi Output relative path for ${CFILES} and ${SFILES} in generated `Makefile'.
`Makefile.kern.inc' knows how to deal with $S prefix, so don't bother it in
config(1).
 1.1144  30-Aug-2015  uebayasi Generate opt_diagnostic.h for DIAGNOSTIC; define unused _DIAGNOSTIC until
thoroughly populated.
 1.1143  30-Aug-2015  uebayasi Typo.
 1.1142  30-Aug-2015  uebayasi Put back MEMORY_DISK_IMAGE logic, but use generated opt_memory_root_image.h
and don't polute Makefile.kern.inc.
 1.1141  30-Aug-2015  uebayasi Define compile rules in sys/conf/Makefile.kern.inc except those overriden by
"file ... compile-with ...". As rules are still explicit, be careful to not
override by checking .if !target(xxx.o).
 1.1140  30-Aug-2015  uebayasi Use makeoptions_COPY_SYMTAB via opt_copy_symtab.h in sources. Remove a hack
to set -DCOPY_SYMTAB from sys/conf/Makefile.kern.inc. Remove unnecessary
dependencies too.
 1.1139  29-Aug-2015  uebayasi Convert MAXUSERS, take 2.

Define MAXUSERS in opt_param.h and include it from sys/param.h, for more
accurate dependency. Don't define -DMAXUSERS and add it to ${CPPFLAGS}.
config(5)'s "maxusers" syntax doesn't change.

(The version just before revert was OK, but I had something bad in my obj
dirs.)
 1.1138  29-Aug-2015  uebayasi Revert MAXUSERS changes. Need fresh air.
 1.1137  29-Aug-2015  uebayasi Define MAXUXERS in opt_param.h. Bump config(1) version.
 1.1136  21-Aug-2015  uebayasi Define CHILD_MAX/OPEN_MAX as parameters.
 1.1135  21-Aug-2015  uebayasi Move dev/ definitions out of files.kern.
 1.1134  20-Aug-2015  christos bump config version
 1.1133  18-Aug-2015  uebayasi G/C defpseudo intrctl.
 1.1132  18-Aug-2015  uebayasi G/C defpseudo fwiso.
 1.1131  17-Aug-2015  knakahara Add kernel code to support intrctl(8).
 1.1130  01-Aug-2015  jmcneill Add an API for HDMI CEC devices. HDMI Consumer Electronics Control (CEC) is
a protocol that provides high-level control functions between CEC-capable
connected devices.
 1.1129  28-Mar-2015  jmcneill Split hdaudio and PCI attach glue. Even though the driver was written with
this separation in mind, all of the code lived in sys/dev/pci/hdaudio. Move
common parts to sys/dev/hdaudio and PCI attach glue to sys/dev/pci.
 1.1128  13-Feb-2015  maxv Rename kern_verifiedexec.c to kern_veriexec.c. "Veriexec" is the name of
the subsystem, not "Verifiedexec".

The revisions of kern_verifiedexec.c are now in Attic/.

No change between kern_verifiedexec.c and kern_veriexec.c.

Also, update the man page accordingly.

Okayed by christos@ and blymn@ some months ago.
 1.1127  27-Jan-2015  skrll ARM PrimeCell PL181 (MMCI) host controller glue.
 1.1126  17-Jan-2015  jmcneill Add driver for DesignWare 32-bit timer as found in Rockchip RK3066/PX2,
from FUKAUMI Naoki <fun@naobsd.org>
 1.1125  16-Jan-2015  ozaki-r Introduce defflag for NET_MPSAFE
 1.1124  11-Jan-2015  jmcneill defflag TODR_DEBUG
 1.1123  04-Jan-2015  uebayasi Set BPFJIT flag in opt_bpf.h which is included by bpf.c.
 1.1122  27-Dec-2014  jmcneill add DesignWare SD/MMC controller driver
 1.1121  31-Oct-2014  uebayasi branches: 1.1121.2;
config(1), config(5): Introduce "select"

o Introduce a new selection directive "select" to select an attribute (as a
module) and its dependencies.
o Support "no select" too.
o Stop abusing "options" to select an attribute.
o Bump config(1) version.
 1.1120  12-Oct-2014  uebayasi Move kern definitions.
 1.1119  12-Oct-2014  uebayasi Move net definitions.
 1.1118  12-Oct-2014  uebayasi Define layerfs as an attribute.
 1.1117  10-Oct-2014  uebayasi Normalize audio related definitions.
 1.1116  10-Oct-2014  uebayasi Define net attribute. Always select it for now.
 1.1115  10-Oct-2014  uebayasi Move athn definitions.
 1.1114  10-Oct-2014  uebayasi Move audio related definitions.
 1.1113  10-Oct-2014  uebayasi To make sure that I'm not doing wrong, try to define ffs/ufs/vfs dependencies
a little more strictly.
 1.1112  10-Oct-2014  uebayasi Bump config(1) version.

config(1) still keeps backward-compatibility; it is more permissive than
before. The tree, however, needs the updated config(1), mainly to strictly
define attribute ("module") ownership and dependencies.
 1.1111  10-Oct-2014  uebayasi Now that attribute dependency works, prefer it to options dependency (personal
preference). Use it for "kern", depending on "machdep" and "uvm".
 1.1110  10-Oct-2014  uebayasi Use option dependency to always select KERN (and its dependencies).
 1.1109  10-Oct-2014  uebayasi Define "machdep" attribute and mark files (in amd64 and x86).
 1.1108  10-Oct-2014  uebayasi Use opt_*.h to not polute CPPFLAGS.

Attribute dependency is not yet. Revert a definition.
 1.1107  10-Oct-2014  uebayasi Define "uvm" attribute and mark files.
 1.1106  10-Oct-2014  uebayasi Define "kern" attribute (a.k.a module). Mark kern_*.c (and some others) as
"kern". Always select "kern" in sys/conf/std.
 1.1105  21-Sep-2014  christos add the common code for verbose printing of devices.
 1.1104  13-Sep-2014  jmcneill options MOTG_ALLWINNER to select the awin specific reg layout
 1.1103  08-Sep-2014  martin Config glue for the Designware GMAC core.
Switch allwinner specific awge driver over to use it.
 1.1102  24-Aug-2014  joerg Revert last, bump required config version instead.
 1.1101  24-Aug-2014  matt Add entry for kern/kern_ksyms_buf.c
 1.1100  24-Aug-2014  tsutsui Add new arcofi(4) audio driver for NetBSD/hp300, ported from OpenBSD.

The arcofi(4) is a driver for the HP "Audio1" device
(Siemens PSB 2160 "ARCOFI" phone quality audio chip)
found on the HP9000/425e and HP9000/{705,710,745,747} models
(but only hp300 attachment is ported for now).
The chip supports 8-bit mono 8kHz U-law, A-law and
16-bit mono slinear_be formats.

The old HP9000/425e playing tunes with this new arcofi(4) audio driver
was also demonstrated at Open Source Conference 2014 Shimane.
 1.1099  24-Aug-2014  jnemeth Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.1098  17-Aug-2014  joerg Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.1097  16-Aug-2014  apb Add COMPAT_70 to conf/files; add compat_70 to kern/syscalls.conf
and compat/netbsd32/syscalls.conf.
 1.1096  10-Aug-2014  tls branches: 1.1096.2;
Merge tls-earlyentropy branch into HEAD.
 1.1095  30-Jul-2014  ozaki-r Call etherinit from ifinit1 only when it is required

This unbreaks the builds of kernels that don't build if_ethersubr.c.
 1.1094  16-Jul-2014  bouyer Add motg(4), a driver for Mentor Graphic's OTG USB controller IP,
as found in several SoCs.
Only host mode is supported, good enough for umass (USB keys), kubd and ums,
and USB2 hubs.
It fails to properly talk to USB/serial adapters at this time.
 1.1093  12-Jun-2014  christos stf is a 6->4 gateway and needs both inet4 and inet6 not one or the other.
 1.1092  05-Jun-2014  rmind - Implement pktqueue interface for lockless IP input queue.
- Replace ipintrq and ip6intrq with the pktqueue mechanism.
- Eliminate kernel-lock from ipintr() and ip6intr().
- Some preparation work to push softnet_lock out of ipintr().

Discussed on tech-net.
 1.1091  19-May-2014  rmind Implement MI IPI interface with cross-call support.
 1.1090  01-Apr-2014  riastradh branches: 1.1090.2;
Fix apple_smc config in conf/files.
 1.1089  01-Apr-2014  riastradh Rework Apple SMC attachment goo and split into multiple modules.

The four modules are apple_smc for the core functions, apple_smc_acpi
for attachment at acpi, and apple_smc_fan & apple_smc_temp for stuff
on the SMC.

Seems like there's a lot more bookkeeping necessary to maintain
children of an applesmc device implemented by loadable modules.
Maybe there's a better way I just haven't figured out yet.
 1.1088  01-Apr-2014  riastradh First draft of drivers for the Apple System Management Controller.

Device interface derived by reading the Linux driver source code and
<http:///www.parhelia.ch/blog/statics/k3_keys.html> as of 2012-12-05.

Includes support for attaching fan and temperature sensors to sysmon.
No accelerometer yet.

Compile-tested only, based on some run-testing of experiments from
userland. Module attachment is not quite finished, so it won't work
yet.
 1.1087  19-Mar-2014  nonaka Add a driver for Realtek RTS5209/RTS5229 Card Reader.
Ported from OpenBSD.
 1.1086  18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.1085  05-Mar-2014  ozaki-r Build net/zlib.c for DTrace

This is needed for building DTrace on ARM.
 1.1084  27-Feb-2014  hannken Currently dead vnodes still reside on the vnodelist of the file system
they have been removed from.

Create a "dead mount" that takes dead vnodes until they get freed.

Discussed on tech-kern.
 1.1083  21-Feb-2014  matt defparam KERNHIST_DELAY
 1.1082  09-Dec-2013  pooka Put vfs bits of ktrace into kern_ktrace_vfs.c per convention.
 1.1081  15-Oct-2013  skrll Remove dotg(4) as it's been replaced by dwctwo(4).
 1.1080  21-Sep-2013  skrll Some dwc2 glue.
 1.1079  08-Sep-2013  jmcneill defparam ATADEBUG_MASK
 1.1078  27-Jul-2013  kiyohara Add COM_16750 to opt_com.h.
 1.1077  29-Jun-2013  rmind branches: 1.1077.2;
- Rewrite parts of pfil(9): use array to store hooks and thus be more cache
friendly (there are only few hooks in the system). Make the structures
opaque and the interface more strict.
- Remove PFIL_HOOKS option by making pfil(9) mandatory.
 1.1076  24-Jun-2013  jakllsch branches: 1.1076.2;
drop trailing whitespace
 1.1075  24-Jun-2013  jakllsch Fix some comment formatting nits in the USB region.
 1.1074  23-Jun-2013  riastradh Rework rndsink(9) abstraction and adapt arc4random(9) and cprng(9).

rndsink(9):
- Simplify API.
- Simplify locking scheme.
- Add a man page.
- Avoid races in destruction.
- Avoid races in requesting entropy now and scheduling entropy later.

Periodic distribution of entropy to sinks reduces the need for the
last one, but this way we don't need to rely on periodic distribution
(e.g., in a future tickless NetBSD).

rndsinks_lock should probably eventually merge with the rndpool lock,
but we'll put that off for now.

cprng(9):
- Make struct cprng_strong opaque.
- Move rndpseudo.c parts that futz with cprng guts to subr_cprng.c.
- Fix kevent locking. (Is kevent locking documented anywhere?)
- Stub out rump cprng further until we can rumpify rndsink instead.
- Strip code to grovel through struct cprng_strong in fstat.
 1.1073  10-Jun-2013  christos there is no more fast_ipsec
 1.1072  10-Jun-2013  gdt Drop references to kame_ipsec, which has been gone for a while.
 1.1071  26-May-2013  kardel Extend kernel PPS api with pps_ref_event().
pps_ref_event() allows capturing PPS time stamps
that are not generated at precisely 1Hz (e. g.
by reading a precision clock via callout()).

This extension allows clock drivers to supply PPS
time-stamps and drive the kernel NTP PLL
without the overhead of interrupt-handling and
-processing.
 1.1070  28-Apr-2013  christos branches: 1.1070.2;
put needs flag back in a bunch of drivers because we need the file for #ifdefs
 1.1069  27-Apr-2013  christos more needs-flag removed.
 1.1068  27-Apr-2013  christos ccd and cgd don't need flag
 1.1067  27-Apr-2013  christos ccd does not need flags anymore
 1.1066  30-Mar-2013  christos patches for new wifi devices.
 1.1065  01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.1064  22-Feb-2013  christos inet & inet6 == wrong
(inet | inet6) == right
 1.1063  10-Feb-2013  jakllsch This change adds SATA port multiplier support to mvsata(4).
 1.1062  09-Jan-2013  skrll Provide dotg(4) - a driver for the Synposys DesignWare OTG USB IP found
in the RaspberryPI. The driver supports host mode and control, interrupt,
and bulk transfers only at this point.

Heavily based on the FreeBSD driver by Hans Petter Selasky.

Thanks to all who helped. Jared McNeill, Michael van Elst and other.
 1.1061  14-Nov-2012  rkujawa Define msm6242b driver.
 1.1060  27-Oct-2012  alnsn Add bpfjit and enable it for amd64.
 1.1059  17-Oct-2012  drochner defopt COMPAT_60, it is already being used
 1.1058  27-Sep-2012  alnsn Remove bpf_jit which was ported from FreeBSD recently.

It will soon be replaced with the new bpfjit kernel module.
 1.1057  01-Sep-2012  matt branches: 1.1057.2;
Add xhci placeholder
 1.1056  03-Aug-2012  matt compat_mod is also needed by compat_netbsd32
 1.1055  01-Aug-2012  rmind Add BPF JIT compiler, currently supporting amd64 and i386. Code obtained
from FreeBSD. Also, make few BPF fixes and simplifications while here.
Note that bpf_jit_enable is false for now.

OK dyoung@, some feedback from matt@
 1.1054  31-Jul-2012  bouyer Apply back changes that were reverted on Jul 24 and Jul 26 (general ata/wdc
cleanup and SATA PMP support), now that I'm back to fix the fallouts.
 1.1053  30-Jul-2012  degroote Add malo(4)@pci driver for Marvell Libertas wireless adaptor

Ported from OpenBSD
Known issues :
- contrary to OpenBSD one, only support pci at the moment, because I don't
have the necessary hardware to test PCMCIA / CARDUS Marvell Card
- not connected to pmf(9) (unable to test it)
 1.1052  26-Jul-2012  jakllsch Revert, with intention of restoring in a less invasive way, the SATA Port
Multiplier code.

ok christos@
 1.1051  02-Jul-2012  bouyer Add sata Port MultiPlier (PMP) support to the ata bus layer,
as described in
http://mail-index.netbsd.org/tech-kern/2012/06/23/msg013442.html
PMP support in integrated to the atabus layer.
struct ata_channel's ch_drive[] is not dynamically allocated, and ch_ndrive
(renamed to ch_ndrives) closely reflects the size of the ch_drive[] array.
Add helper functions atabus_alloc_drives() and atabus_free_drives()
to manage ch_drive[]/ch_ndrives.
Add wdc_maxdrives to struct wdc_softc so that bus front-end can specify
how much drive they really support (master/slave or single).
ata_reset_drive() callback gains a uint32_t *sigp argument which,
when not NULL, will contain the signature of the device being reset.
While there, some cosmetic changes:
- added a drive_type enum to ata_drive_datas, and stop encoding the
probed drive type in drive_flags (we were out of drive flags anyway).
- rename DRIVE_ATAPIST to DRIVE_ATAPIDSCW to better reflect what this
really is
- remove ata_channel->ata_drives, it's redundant with the pointer in
ata_drive_datas
- factor out the interpretation of SATA signatures in sata_interpet_sig()

propagate these changes to the ATA HBA drivers, and add support for PMP
to ahcisata(4) and siisata(4).

Thanks to:
- Protocase (http://www.protocase.com/) which provided a system
with lots of controllers, SATA PMP and drive slots
- Conservation Genomics Laboratory, Department of Biology, New Mexico State
University for hosting the above system
- Brook Milligan, who set up remote access and has been very responsive
when SATA cable move was needed
 1.1050  08-May-2012  riastradh Implement a genfs_rename abstraction.

First major step in incrementally adapting all the file systems to a
saner rename VOP protocol.
 1.1049  05-May-2012  rmind G/C POOL_DIAGNOSTIC option. No objection on tech-kern@.
 1.1048  28-Apr-2012  rmind Remove MALLOC_DEBUG and MALLOCLOG, which is dead code after malloc(9) move
to kmem(9). Note: kmem(9) has debugging facilities under DEBUG/DIAGNOSTIC.
However, expensive kmguard and debug_freecheck have to be enabled manually.
 1.1047  07-Apr-2012  christos Add apple autodiscovery.
 1.1046  22-Mar-2012  drochner remove KAME IPSEC, replaced by FAST_IPSEC
 1.1045  10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.1044  19-Feb-2012  rmind Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3!
Approved by core@.
 1.1043  02-Feb-2012  tls branches: 1.1043.2;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.
 1.1042  31-Jan-2012  macallan igsfb doesn't use rcons, no need to pull it in
 1.1041  29-Jan-2012  dholland Add vfs_quotactl.c. This is where filesystem-independent quota
handling will go.
 1.1040  28-Jan-2012  nisimura Add UDA1341TS audio CODEC support. Code is written by
Paul Fleischer.
 1.1039  22-Jan-2012  christos add a tpm driver from bsssd.sourceforge.net
 1.1038  19-Jan-2012  drochner also remove unnecessary "needs-flag" for firmload, from Paul Goyette
 1.1037  18-Jan-2012  drochner get the logics straight: CPU_UCODE requires "firmload" as a dependency
 1.1036  14-Jan-2012  pgoyette options CPU_UCODE requires firmload.c
 1.1035  13-Jan-2012  martin Make option CPU_UCODE global
 1.1034  19-Dec-2011  drochner do missing ipsec->kame_ipsec renames
 1.1033  17-Dec-2011  tls Separate /dev/random pseudodevice implemenation from kernel entropy pool
implementation. Rewrite pseudodevice code to use cprng_strong(9).

The new pseudodevice is cloning, so each caller gets bits from a stream
generated with its own key. Users of /dev/urandom get their generators
keyed on a "best effort" basis -- the kernel will rekey generators
whenever the entropy pool hits the high water mark -- while users of
/dev/random get their generators rekeyed every time key-length bits
are output.

The underlying cprng_strong API can use AES-256 or AES-128, but we use
AES-128 because of concerns about related-key attacks on AES-256. This
improves performance (and reduces entropy pool depletion) significantly
for users of /dev/urandom but does cause users of /dev/random to rekey
twice as often.

Also fixes various bugs (including some missing locking and a reseed-counter
overflow in the CTR_DRBG code) found while testing this.

For long reads, this generator is approximately 20 times as fast as the
old generator (dd with bs=64K yields 53MB/sec on 2Ghz Core2 instead of
2.5MB/sec) and also uses a separate mutex per instance so concurrency
is greatly improved. For reads of typical key sizes for modern
cryptosystems (16-32 bytes) performance is about the same as the old
code: a little better for 32 bytes, a little worse for 16 bytes.
 1.1032  19-Nov-2011  tls branches: 1.1032.2;
First step of random number subsystem rework described in
<20111022023242.BA26F14A158@mail.netbsd.org>. This change includes
the following:

An initial cleanup and minor reorganization of the entropy pool
code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are
fixed. Some effort is made to accumulate entropy more quickly at
boot time.

A generic interface, "rndsink", is added, for stream generators to
request that they be re-keyed with good quality entropy from the pool
as soon as it is available.

The arc4random()/arc4randbytes() implementation in libkern is
adjusted to use the rndsink interface for rekeying, which helps
address the problem of low-quality keys at boot time.

An implementation of the FIPS 140-2 statistical tests for random
number generator quality is provided (libkern/rngtest.c). This
is based on Greg Rose's implementation from Qualcomm.

A new random stream generator, nist_ctr_drbg, is provided. It is
based on an implementation of the NIST SP800-90 CTR_DRBG by
Henric Jungheim. This generator users AES in a modified counter
mode to generate a backtracking-resistant random stream.

An abstraction layer, "cprng", is provided for in-kernel consumers
of randomness. The arc4random/arc4randbytes API is deprecated for
in-kernel use. It is replaced by "cprng_strong". The current
cprng_fast implementation wraps the existing arc4random
implementation. The current cprng_strong implementation wraps the
new CTR_DRBG implementation. Both interfaces are rekeyed from
the entropy pool automatically at intervals justifiable from best
current cryptographic practice.

In some quick tests, cprng_fast() is about the same speed as
the old arc4randbytes(), and cprng_strong() is about 20% faster
than rnd_extract_data(). Performance is expected to improve.

The AES code in src/crypto/rijndael is no longer an optional
kernel component, as it is required by cprng_strong, which is
not an optional kernel component.

The entropy pool output is subjected to the rngtest tests at
startup time; if it fails, the system will reboot. There is
approximately a 3/10000 chance of a false positive from these
tests. Entropy pool _input_ from hardware random numbers is
subjected to the rngtest tests at attach time, as well as the
FIPS continuous-output test, to detect bad or stuck hardware
RNGs; if any are detected, they are detached, but the system
continues to run.

A problem with rndctl(8) is fixed -- datastructures with
pointers in arrays are no longer passed to userspace (this
was not a security problem, but rather a major issue for
compat32). A new kernel will require a new rndctl.

The sysctl kern.arandom() and kern.urandom() nodes are hooked
up to the new generators, but the /dev/*random pseudodevices
are not, yet.

Manual pages for the new kernel interfaces are forthcoming.
 1.1031  15-Nov-2011  riz Build and install new in-kernel iscsi initiator kernel module and associated
binaries (iscsid, iscsictl) if MKISCSI != no. Initiator can also be built
into a kernel by adding 'pseudo-device iscsi' in kernel configuration.
 1.1030  02-Nov-2011  martin branches: 1.1030.2;
Add missing subr_pcq.c
 1.1029  15-Oct-2011  sjg Add the plumbing so one could compile filemon(4) into a kernel.
 1.1028  28-Sep-2011  jruoho Add a simple cpufreq(9).

This is slightly improved version presented on tech-kern@ with proper
locking and few additional functions, mainly required for ioctl(9)/cpuctl(8).
 1.1027  19-Sep-2011  jnemeth dm(4) uses dk_lookup() from dksubr.c
 1.1026  27-Aug-2011  bouyer The loongon2f+cs5526+jmicron PATA->SATA bridge cause an interresting issue:
1) because the CS5536 is not associated with a x86 CPU, interrupts are not
ack'ed as it expects so interrupts cannot configured as edge-triggered
(as is expected for a PCIIDE in compat mode)
2) the PATA->SATA bridge ignores the WDC_IDS (interrupt disable bit) so
the PATA IRQ line gets asserted when resetting or running some polled
commands. It also wrongly asserts IRQ when the (nonexistent) slave
device is selected
2) wouldn't be an issue with edge-triggered interrupt because we would
get a spurious interrupt and continue operation, a new interrupt only shows
up when the PATA IRQ line goes low and high again. But because of 1),
we get an unclearable interrupt instead, and the system loops on the
interrupt handler.

To workaround this, introduce a WDC_NO_IDS compile option which runs
all polled commands (including reset) at splbio() and without sleeps,
so that the controller's interrupt is effectively disabled and
won't be reenabled before the interrupt can be cleared.

The conditions triggering this problem are speficic enough to handle
this via a compile-time option; no need for a run-time (e.g. a
config(9), device property or callback to disable interrupts) solution.
 1.1025  26-Aug-2011  jmcneill defflag DEBUG_EXEC
 1.1024  09-Aug-2011  jmcneill modify the dtv device api so hardware drivers can be loaded independently
of the dtv module
 1.1023  07-Aug-2011  rmind Add kcpuset(9) - a reworked dynamic CPU set implementation for kernel.
Suitable for use during the early boot. MD and other implementations
should be replaced with this interface.

Discussed on: tech-kern@
 1.1022  30-Jul-2011  christos Add an implementation of passive serialization as described in expired
US patent 4809168. This is a reader / writer synchronization mechanism,
designed for lock-less read operations.
 1.1021  28-Jul-2011  uebayasi Define SYMTAB_SPACE in opt_ksyms.h, not opt_ddbparam.h. Ensure
that ddb(4) code is independent of SYMTAB_SPACE value.
 1.1020  15-Jul-2011  cliff Add support for CFI NOR, using MPC8536DS as initial example.
Only AMD/Fujitsu command set is suported so far.
This is still work in progress, be advised.
 1.1019  09-Jul-2011  jmcneill include dtv
 1.1018  27-Jun-2011  uch 7th Edition(V7) File System support. and NetBSD symbolic-link, socket, FIFO extension. see newfs_v7fs(8).
 1.1017  23-Jun-2011  matt Allow PAX_ASLR to be used by itself.
 1.1016  28-May-2011  matt Allow COM_TOLERANCE to be tweakable. If comspeed returns an invalid
rate, don't use that error value to set the speed.
 1.1015  23-May-2011  drochner -remove references to crypto/arc4/arc4.* -- the code isn't used
anywhere afaics
(The confusion comes probably from use of arc4random() at various places,
but this lives in libkern and doesn't share code with the former.)
-g/c non-implementation of arc4 encryption in swcrypto(4)
-remove special casing of ARC4 in crypto(4) -- the point is that it
doesn't use an IV, and this fact is made explicit by the new "ivsize"
property of xforms
 1.1014  23-May-2011  mrg move KERNHIST stuff much earlier, so drivers can depend upon it.
 1.1013  17-May-2011  mrg fix the ordering and make UVMHIST enable KERNHIST automatically.
 1.1012  17-May-2011  mrg move and rename the uvm history code out of uvm_stat to "kernhist".

rename "UVMHIST" option to enable the uvm histories.

TODO:
- make UVMHIST properly depend upon KERNHIST
- enable dynamic registration of histories. this is mostly just
allocating something in a bitmap, and is only for viewing multiple
histories in a merged form.


tested on amd64 and sparc64.
 1.1011  05-May-2011  drochner add "camellia" crypto code, copied from FreeBSD
 1.1010  26-Apr-2011  joerg Remove PECOFF/Win32 emulation.
 1.1009  26-Apr-2011  joerg Remove IRIX emulation
 1.1008  26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.1007  02-Apr-2011  rmind Split off parts of vfs_subr.c into vfs_vnode.c and vfs_mount.c modules.

No functional change. Discussed on tech-kern@.
 1.1006  31-Mar-2011  dyoung Hide the radix-trie implementation of the forwarding table so that we
will have an easier time replacing it with something different, even if
it is a second radix-trie implementation.

sys/net/route.c and sys/net/rtsock.c no longer operate directly on
radix_nodes or radix_node_heads.

Hopefully this will reduce the temptation to implement multipath or
source-based routing using grotty hacks to the grotty old radix-trie
code, too. :-)
 1.1005  20-Mar-2011  tsutsui Add usb_dma attribute for DMA capable USB host controllers
and specify that usb_dma attribute to dev/usb/usb_mem.c.

usb_mem.c uses bus_dma(9) for DMA memory allocation,
but non-DMA capable USB host controllers like slhci(4)
doesn't need them at all, and some ports don't bother to
prepare MD bus_dma(9) implementation (yet).

Discussed on current-users
http://mail-index.NetBSD.org/current-users/2011/03/13/msg015995.html
and usb_dma attribute is suggested by bouyer@.
Tested by kiyohara@ on mmeye with slhci at pcmcia.
 1.1004  06-Mar-2011  bouyer merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.1003  26-Feb-2011  ahoka Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
- Flash layer, which gives a common API to access flash devices
- NAND controller subsystem for the flash layer
- An example OMAP driver which is used on BeagleBoard or alike ARM boards
 1.1002  20-Feb-2011  jmcneill add VirtualBox DRM driver
 1.1001  19-Feb-2011  matt Default PCU_UNIT_COUNT to 0. If 0, don't compile the contents of subr_pcu.c
and don't include the pcu related members into struct lwp.
 1.1000  18-Feb-2011  rmind Compile subr_pcu.c under option PCU.
 1.999  17-Feb-2011  rmind Add PCU (Per-CPU Unit) - an interface to manage synchronization of any
per CPU context tied with an LWP. Main use - lazy FPU handling on SMP.

Requested by matt@, will be used on mips64. Note: implementation will
be improved to use IPIs before adopting on x86. OK ad@.
 1.998  09-Feb-2011  macallan use the bus independent stuff from ic/ct65550* and leave only the PCI specific
bits in pci/chipsfb.c
 1.997  06-Feb-2011  jmcneill add a public domain image decoder
 1.996  23-Nov-2010  hannken branches: 1.996.2; 1.996.4;
Remove unused count from pseudo-device md.
 1.995  08-Sep-2010  ahoka add dme (dm9000 ethernet)
 1.994  22-Aug-2010  rmind Import NPF - a packet filter. Some features:

- Designed to be fully MP-safe and highly efficient.

- Tables/IP sets (hash or red-black tree) for high performance lookups.

- Stateful filtering and Network Address Port Translation (NAPT).
Framework for application level gateways (ALGs).

- Packet inspection engine called n-code processor - inspired by BPF -
supporting generic RISC-like and specific CISC-like instructions for
common patterns (e.g. IPv4 address matching). See npf_ncode(9) manual.

- Convenient userland utility npfctl(8) with npf.conf(8).

NOTE: This is not yet a fully capable alternative to PF or IPFilter.
Further work (support for binat/rdr, return-rst/return-icmp, common ALGs,
state saving/restoring, logging, etc) is in progress.

Thanks a lot to Matt Thomas for various useful comments and code review.
Aye by: board@
 1.993  21-Aug-2010  pgoyette Define a set of new kernel locking primitives to implement the recursive
kernconfig_mutex. Update module subsystem to use this mutex rather than
its own internal (non-recursive) mutex. Make module_autoload() do its
own locking to be consistent with the rest of the module_xxx() calls.
Update module(9) man page appropriately.

As discussed on tech-kern over the last few weeks.

Welcome to NetBSD 5.99.39 !
 1.992  07-Jul-2010  chs COMPAT_LINUX32 requires COMPAT_LINUX.
 1.991  26-Jun-2010  kefren Fix build for MPLS import: add options MPLS, changed pseudo-device mpls
to pseudo-device ifmpls
 1.990  26-Jun-2010  kefren Add MPLS support, proposed on tech-net@ a couple of days ago

Welcome to 5.99.33
 1.989  30-Apr-2010  pooka For the simple cases, augment device-major with information on how
a driver expects /dev/node -> minor mappings to go and include that
information in devsw_conv.
(no, I didn't plow through all the MD majors files)
 1.988  16-Apr-2010  pooka needs-count for fss is unused => needs-remove
 1.987  14-Apr-2010  pooka Move routines related to syscall establishment from kern_subr.c and
kern_stub.c to kern_syscall.c.
 1.986  12-Apr-2010  pooka Separate lwp specificdata data structure management from lwp cpu/vm
management.

No functional change.

(specificdata routines went from kern_lwp.c to subr_lwp_specificdata.c)
 1.985  09-Apr-2010  nonaka Added PCA9564 I2C Controller driver.
 1.984  24-Mar-2010  pgoyette Split spdmem driver into a bus attachment and a common back-end
probe and ROM decode, to follow similar changes made in OpenBSD:

http://article.gmane.org/gmane.os.openbsd.cvs/94948
http://article.gmane.org/gmane.os.openbsd.cvs/94956

There exists at least one alternative attachment (for SGI IP35
systems; see http://article.gmane.org/gmane.os.openbsd.cvs/94947),
and there could be more in the future.

Thanks to Christoph Egger for pointing out the OpenBSD activity.
 1.983  15-Mar-2010  christos rename DEBUG_ASLR -> PAX_ASLR_DEBUG
 1.982  13-Mar-2010  darran branches: 1.982.2;
DTrace: only build in kernel CTF support if DTrace support is enabled
(i.e. options KDTRACE_HOOKS).
 1.981  12-Mar-2010  darran DTrace: Add support for CTF sections in the netbsd elf image, load these
at boot.
Add a ksyms_mod_foreach() function to iterate a callback function over the
set of elf symbols for a specific module (netbsd included).
Add kern_ctf.c and mod_ctf_get() to allow the retrieval and decompression
of CTF sections for a specific module.
 1.980  03-Mar-2010  tsutsui Put several fixes to ne(4) driver for better 8 bit mode support,
especially on RTL8019AS which is also used for non-ISA local bus of
embedded controllers and some m68k machines like atari and x68k.

* move RTL8019 probe and attach code from each bus attachment
to MI ne2000_detect() and ne2000_attach()
* change a method for backend and attachment to specify 8 bit mode
to use a new sc->sc_quirk member, instead of sc->sc_dmawidth
* handle more NE2000 8 bit mode specific settings, including
bus_space(9) access width and available size of buffer memory
* add a function to detect NE2000 8 bit mode
(disabled by default, but enalbed by options NE2000_DETECT_8BIT
to avoid possible regression on various ISA clones)
* fix ipkdb attachment accordingly (untested)

Tested on two NE2000 ISA variants (RTL8019AS and another clone named UL0001)
in both 8 bit and 16 bit mode on i386. "Looks good" from nonaka@.

See my post on tech-kern for details:
http://mail-index.NetBSD.org/tech-kern/2010/02/26/msg007423.html
 1.979  02-Mar-2010  uebayasi Define i4b files in netisdn/files.i4b.
 1.978  01-Mar-2010  darran DTrace: Add an SDT (Statically Defined Tracing) provider framework, and
implement most of the proc provider. Adds proc:::create, exec,
exec_success, exec_faillure, signal_send, signal_discard, signal_handle,
lwp_create, lwp_start, lwp_exit.
 1.977  23-Feb-2010  darran DTrace: remove kern_dtrace.c, no longer used
 1.976  21-Feb-2010  darran Added a defflag option for KDTRACE_HOOKS and included opt_dtrace.h in the
relevant files. (Per Quentin Garnier - thanks!).
 1.975  21-Feb-2010  darran Add the DTrace kernel hooks file to the kernel build.
 1.974  31-Jan-2010  pooka branches: 1.974.2;
Device accessors are only marginally related to autoconf, so put them
into subr_device.c instead of having them in subr_autoconf.c.

Since none of the copyrights in subr_autoconf.c really match the
history of device accessors, I took the liberty of slapping (c)
2006 TNF onto subr_device.c.
 1.973  31-Jan-2010  pooka Place *hook implementations in kern_hook.c instead of them floating
around in the kern_subr.c gruel. Arrrrr.
 1.972  30-Jan-2010  pooka Trade 200-something bytes for the death of an ifdef.
 1.971  24-Jan-2010  pooka ipfilter depends on bpf_filter, not bpfilter (since the year 2000).
 1.970  19-Jan-2010  pooka Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.969  19-Jan-2010  pooka Specify bpf_filter attribute only when the device uses the filter engine.
 1.968  12-Jan-2010  dyoung Make cgd(4) into a detachable pseudo-device. Thanks, Jan Danielsson,
for the patches!

I've lightly tested the basics: create cgd0 on vnd0d, initialize with
zeros, newfs /dev/cgd0a, mount, copy files on, unmount, drvctl -d
cgd0. Works fine. I also shutdown with a cgd0 configured: detached as
expected.
 1.967  05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.966  27-Nov-2009  pooka Due to the schizophrenic nature of kobj (mem + vfs source),
split the module in twain to subj_kobj.c (master + mem) and
subr_kobj_vfs.c (vfs).
 1.965  25-Nov-2009  kiyohara Add attribute mii to smsh(4).
 1.964  18-Nov-2009  pooka * make it possible to include kern_module in a kernel without vfs
support, i.e. move vfs functionality to a separate module
(kern_module_vfs.c)
* make module proplist size an MI constant (now 8k) instead of PAGE_SIZE
* change some error values to something else than the karmic EINVAL
 1.963  12-Nov-2009  snj igsfb needs videomode.
 1.962  04-Nov-2009  pooka Split uiomove() and high-level copy routines out of the crowded
kern_subr and into their own cozy home in subr_copy.
 1.961  04-Nov-2009  pooka Heave-ho mutex/rwlock object routines into separate modules -- they
don't have anything to do with the lock internals.
 1.960  03-Nov-2009  dyoung Alphabetize.
 1.959  02-Oct-2009  pooka Give humanize_number & format_bytes their own spots in the sun and move
from kern_subr to subr_humanize.
 1.958  30-Sep-2009  jmcneill Initial import of an SD/MMC driver for the Winbond W83L518D (and probably
W83L519D) Integrated Media Reader with PNP bus attachment glue.
 1.957  26-Sep-2009  jakllsch Marvell has two "l"s, but not two "e"s.
(Also, Melllvar has three "l"s, but that's not really relevant here.)
 1.956  26-Sep-2009  jakllsch As, siisata attaches not just at pci, but for a while now, also at cardbus,
move siisata core driver config to the propper config file.
 1.955  16-Sep-2009  pooka Chop init_sysctl into base nodes (init_sysctl_base.c) and the
kitchen sink (init_sysctl.c). Further surgery may be needed down
the line.
 1.954  06-Sep-2009  pooka Remove autoconf dependency on vfs and dk:
opendisk() -> kern/subr_disk_open.c
config_handle_wedges -> dev/dkwedge/dk.c
 1.953  14-Aug-2009  mbalmer Add support for multi-position electro-mechanical keylocks. An example
driver, gpiolock(4), is provided as an example how to interface real hardware.
A new securemodel, securemodel_keylock, is provided to show how this can
be used to tie keylocks to overall system security. This is experimental
code. The diff has been on tech-kern for several weeks.

Reviewed by many, kauth(9) integration reviewed by Elad Efrat; approved by
tonnerre@ and tron@. Thanks to everyone who provided feedback.
 1.952  09-Aug-2009  kiyohara Support SMSC LAN9118 Family Ethernet interfaces device driver.
It tested on GUMSTIX only.
 1.951  27-Jul-2009  kiyohara Support Marvell Hercules-I/II SATA Controllers.
 1.950  18-Jul-2009  reinoud Import read-only part of the NiLFS (v2) implementation for NetBSD. It has been
tested with a DEBUG+DIAGNOSTIC+LOCKDEBUG kernel. To summerise NiLFS, i'll
repeat my posting to tech-kern here:

NiLFS stands for New implementation of Logging File System; LFS done
right they claim :) It is at version 2 now and is being developed by NTT, the
Japanese telecom company and recently put into the linux source tree. See
http://www.nilfs.org. The on-disc format is not completely frozen and i expect
at least one minor revision to come in time.

The benefits of NiLFS are build-in fine-grained checkpointing, persistent
snapshots, multiple mounts and very large file and media support. Every
checkpoint can be transformed into a snapshot and v.v. It is said to perform
very well on flash media since it is not overwriting pieces apart from a
incidental update of the superblock, but that might change. It is accompanied
by a cleaner to clean up the segments and recover lost space.

My work is not a port of the linux code; its a new implementation. Porting the
code would be more work since its very linux oriented and never written to be
ported outside linux. The goal is to be fully interchangable. The code is non
intrusive to other parts of the kernel. It is also very light-weight.

The current state of the code is read-only access to both clean and dirty
NiLFS partitions. On mounting a dirty partition it rolls forward the log to
the last checkpoint. Full read-write support is however planned!

Just as the linux code, mount_nilfs allows for the `head' to be mounted
read/write and allows multiple read-only snapshots/checkpoint mounts next to
it.

By allowing the RW mount at a different snapshot for read-write it should be
possible eventually to revert back to a previous state; i.e. try to upgrade a
system and being able to revert to the exact state prior to the upgrade.

Compared to other FS's its pretty light-weight, suitable for embedded use and
on flash media. The read-only code is currently 17kb object code on
NetBSD/i386. I doubt the read-write code will surpass the 50 or 60. Compared
this to FFS being 156kb, UDF being 84 kb and NFS being 130kb. Run-time memory
usage is most likely not very different from other uses though maybe a bit
higher than FFS.
 1.949  21-Jun-2009  mrg make external drm the default.
 1.948  17-Jun-2009  jakllsch ahcisata now uses the common FIS code, register this dependency.
 1.947  17-Jun-2009  jakllsch ahcisata(4) and siisata(4) use similar SATA FIS functions, share them.
 1.946  06-May-2009  cube Bump required config(1) version after files.drm changes [hi mrg!].
 1.945  21-Apr-2009  nonaka Added SD/MMC support from OpenBSD.
tested on i386, amd64 at current-users ML by pgoyette@.
tested on zaurus by myself.
 1.944  12-Mar-2009  jmcneill Add 'alternative memory' disk device driver.
 1.943  22-Feb-2009  ad PR kern/26878 FFSv2 + softdep = livelock (no free ram)
PR kern/16942 panic with softdep and quotas
PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch
PR kern/26274 softdep panic: allocdirect_merge: ...
PR kern/26374 Long delay before non-root users can write to softdep partitions
PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem
PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption
PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk
PR kern/31981 stopping scsi disk can cause panic (softdep)
PR kern/32116 kernel panic in softdep (assertion failure)
PR kern/32532 softdep_trackbufs deadlock
PR kern/37191 softdep: locking against myself
PR kern/40474 Kernel panic after remounting raid root with softdep

Retire softdep, pass 2. As discussed and later formally announced on the
mailing lists.
 1.942  15-Feb-2009  cube Convert the recently introduced awk command to retrieve the value of the
option MODULAR to using %MODULAR%. While it is now possible to only
request the new version in the affected Makefiles, it is made mandatory for
everybody because I just fixed a bug in config(1) that would not make it
fail in the case of a syntax error in the Makefile template.
 1.941  13-Feb-2009  apb Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
 1.940  12-Feb-2009  christos Unbreak ssp kernels. The issue here that when the ssp_init() call was deferred,
it caused the return from the enclosing function to break, as well as the
ssp return on i386. To fix both issues, split configure in two pieces
the one before calling ssp_init and the one after, and move the ssp_init()
call back in main. Put ssp_init() in its own file, and compile this new file
with -fno-stack-protector. Tested on amd64.
XXX: If we want to have ssp kernels working on 5.0, this change needs to
be pulled up.
 1.939  06-Feb-2009  jym branches: 1.939.2;
Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

See also http://mail-index.netbsd.org/tech-kern/2008/12/25/msg003924.html

Reviewed by abs@ in private mail.
 1.938  18-Jan-2009  christos compat_linux needs at least netbsd_16 for sigcontext.
 1.937  18-Jan-2009  he After the recent time_t and associated changes, COMPAT_ULTRIX now
depends on COMPAT_50. Make it so.
 1.936  11-Jan-2009  christos fix COMPAT dependency.
 1.935  11-Jan-2009  christos merge christos-time_t
 1.934  09-Jan-2009  macallan Last bit of the bwi driver
From Urban Boquist
 1.933  02-Jan-2009  pooka Include kernel printf routines in rump instead of relying on the
magic libc symbol. This also allows to bid farewell to subr_prf2.c
and merge the contents back to subr_prf.c. The host kernel bridging
is now done via rumpuser_putchar().
 1.932  21-Dec-2008  martin require newer config(1) for the rootfs changes.
 1.931  19-Dec-2008  haad Merge the haad-dm branch to -current. This branch adds LVM functionality to
the base NetBSD system. It uses Linux LVM2 tools and our BSD licensed
device-mapper driver.

The device-mapper driver can be used to create virtual block devices which
maps virtual blocks to real with target mapping called target. Currently
these targets are available a linear, zero, error and a snapshot (this is
work in progress and doesn't work yet).

The lvm2tools adds lvm and dmsetup binary to based system, where the lvm
tool is used to manage and administer whole LVM and the dmestup is used to
communicate iwith device-mapper kernel driver. With these tools also
a libdevmapper library is instaled to the base system.

Building of tools and driver is currently disable and can be enabled with
MKLVM=yes in mk.conf. I will add sets lists and rc.d script soon.

Oked by agc@ and cube@.
 1.930  11-Dec-2008  alc Import config(9) file and register HAL's files in the build machinery.
 1.929  19-Nov-2008  ad branches: 1.929.2;
Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
 1.928  18-Nov-2008  pooka Move fd_closeexec() and fd_checkstd() from kern_descrip to their
own file, subr_exec_fd.c (they're used only by exec).

After this change, the kernel source modules are in a partitioned
enough state to allow building a system without vfs at all.
 1.927  18-Nov-2008  pooka cwd is logically a vfs concept, so take it out from the bosom of
kern_descrip and into vfs_cwd. No functional change.
 1.926  14-Nov-2008  ad - Conditionalise POSIX aio and mqueue, but include them by default.
- Add a COMPAT_NETBSD attribute. Emit if any compat options are used.
 1.925  12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.924  15-Oct-2008  wrstuden branches: 1.924.2; 1.924.4;
Merge wrstuden-revivesa into HEAD.
 1.923  12-Oct-2008  tls Fix kernels without accf_data or accf_http. I'll modularize this better
on Monday, but this will get people building again while still removing
the silly dependency on INET.
 1.922  12-Oct-2008  pgoyette Add an i2c attachment for the LM78 family of temp sensor/fan control

Tested by Martin Husemann
 1.921  11-Oct-2008  tls Address problems with accept filters noted by ad in his source-changes
mail: http://mail-index.netbsd.org/source-changes/2008/10/10/msg211109.html

* Scary-looking socket locking stubs (changed to KASSERT of locked)

* depends on INET inappropriately (though now you must add new
accept filter names to the uipc_accf.c line in conf/files if
you aren't using dataready or httpready)

* New code uses MALLOC/FREE -- changed to kmem_alloc/kmem_free;
could be pool_cache, these are all fixed-size allocations.

We need to verify that this works as expected with protocols with per-socket
locking, like PF_LOCAL. I'm a little concerned about the case where the
lock on the listen socket isn't the same lock as on the eventual connected
socket.
 1.920  11-Oct-2008  pooka Move uidinfo to its own module in kern_uidinfo.c and include in rump.
No functional change to uidinfo.
 1.919  27-Sep-2008  reinoud Add generic FS agnostic directory hashing support. Currently only in use by
UDF. Future users could be msdosfs, ufs, nilfs2 (when ready), cd9660 etc.

Note that its not the same as UFS's DIRHASH support; UFS would need a good
cleanup/splitout of directory operations to adopt to this new directory
hashing support since most directory operations are interweaved with the
vnops itself. This is a TODO.
 1.918  25-Sep-2008  pooka Split rate-checking routines into their own module for easier reuse.
 1.917  25-Sep-2008  pooka Move global malloc types from kern_malloc into a separate module.
 1.916  14-Sep-2008  hannken Create fss(4) devices on first open and destroy on last close of an
unconfigured device. That removes the compile-time constant number
of useable devices.
While here, add disk_busy()/disk_unbusy() instrumentation.

Reviewed by: Quentin Garnier <cube@netbsd.org>
 1.915  06-Sep-2008  jmcneill Add video(4)
 1.914  30-Aug-2008  reinoud Back out dirhash kernel module for now.
 1.913  29-Aug-2008  reinoud Add dirhash kernel module for sharing dirhashing support with other FS
other than UDF. Its FS agnostic and could be used for any FS

Note to self: manpage needs to follow.
 1.912  04-Aug-2008  tls Add accept filters, ported from FreeBSD by Coyote Point Systems. Add inetd
support for specifying an accept filter for a service (mostly as a usage
example, but it can be handy for other things). Manual pages to follow
in a day or so.

OK core@.
 1.911  31-Jul-2008  simonb Merge the simonb-wapbl branch. From the original branch commit:

Add Wasabi System's WAPBL (Write Ahead Physical Block Logging)
journaling code. Originally written by Darrin B. Jewell while
at Wasabi and updated to -current by Antti Kantee, Andy Doran,
Greg Oster and Simon Burge.

OK'd by core@, releng@.
 1.910  16-Jul-2008  pooka vfs_subr2 has lost its will to live. vfs_subr was originally split
into two parts so that some of the routines could be used by rump.
Now that rump uses both vfs_subr and vfs_subr2 and there is no
reason to keep two files lying around, re-unite them.
 1.909  24-Jun-2008  drochner branches: 1.909.2;
clean up some useless code and variables in cardbus attachment
 1.908  10-Jun-2008  cube Do proper config(5) version checking after previous changes [hi drochner!].

The rule is, if you change scan.l or gram.y, you bump the config(5)
version. If you implement the changes under sys/conf/files or affiliate,
you bump the required version in sys/conf/files or in an appropriate place
to minimise annoyance. If the changes makes new config(1) incompatible
with a previous version of config(5), embed it in config(1) using the
CONFIG_MINVERSION definition along with CONFIG_VERSION.

This has been in the tree for what, 3 years now? It's even documented...
 1.907  10-Jun-2008  drochner use new "defpseudodev" where appropriate, and remove dummy interface
attribute definitions which were only to trick config(8)
 1.906  25-May-2008  jmcneill branches: 1.906.2;
Add DRVGETEVENT support for /dev/drvctl, based on devmon support by
Jachym Holecek for Google Summer of Code. DRVGETEVENT plist is currently
limited to event type, device name, and device parent name.
 1.905  05-May-2008  ad branches: 1.905.2;
Fix previous.
 1.904  05-May-2008  ad Back out previous. It broke the build.
 1.903  04-May-2008  ad Move zlib out of net/ and into kern/. It would probably be better to use
the reachover Makefiles and libz, but this is already here and it works.
 1.902  29-Apr-2008  rmind Split the runqueue management code into the separate file.
OK by <ad>.
 1.901  28-Apr-2008  ad -defflag PREEMPTION
 1.900  28-Apr-2008  ad defopt PREEMPTION
 1.899  23-Apr-2008  thorpej branches: 1.899.2;
Add subroutines to support collating per-cpu-gathered network statistics.
 1.898  30-Mar-2008  skrll branches: 1.898.2;
Add support for NCR 53C720 found on various machines/attachments.

From OpenBSD (Mark Kettenis)
 1.897  29-Mar-2008  skrll Tidyup the attachment of various devices in the same way as OpenBSD and
use the same name.

Must have been funny to someone.
 1.896  23-Mar-2008  ad Split select/poll into their own file.
 1.895  21-Mar-2008  ad Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.
 1.894  11-Mar-2008  mjacob Make some changes to isp(4) options: add a disable for 2322 suppport;
remove the option for firmware crash dumps; add a ISP_VPORTS option
for virtual ports (24XX, coming soon).
 1.893  24-Feb-2008  isaki slhci also shares usbroothub_subr.
 1.892  20-Feb-2008  drochner branches: 1.892.2; 1.892.6;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.891  03-Feb-2008  martin defflag CPU_IN_CKSUM
 1.890  03-Feb-2008  drochner share some code for USB root hub emulation which is common in the 3
host controller implementations, start with two little functions
which fake up string descriptors (which were inconststent, language
table fetching didn't interoperate with other code in the tree)
 1.889  28-Jan-2008  dholland Fix some race conditions in rename.
Introduce a per-FS rename lock and new vfsops to manipulate it.
Get this lock while renaming. Also add another relookup() in do_sys_rename,
which is a hack to kludge around some of the worst deficiencies of
ufs_rename.
reviewed-by: pooka (and an earlier rev by ad)
posted on tech-kern with no objections.
 1.888  25-Jan-2008  joerg Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.887  17-Jan-2008  joerg Add a stub file that includes a bunch of kernel headers and always get
compiled with -g. For the initial set, netbsd on amd64 grows by around
80KB. This allows much easier use of GDB for post-mortem debugging as
it can understand the layout of data structures. The additional data can
be strip(1)ped off normally for size constraint environments.
 1.886  16-Jan-2008  ad Pull in my modules code for review/test/hacking.
 1.885  15-Jan-2008  rmind Implementation of processor-sets, affinity and POSIX real-time extensions.
Add schedctl(8) - a program to control scheduling of processes and threads.

Notes:
- This is supported only by SCHED_M2;
- Migration of LWP mechanism will be revisited;

Proposed on: <tech-kern>. Reviewed by: <ad>.
 1.884  14-Jan-2008  yamt add a per-cpu storage allocator.
 1.883  06-Jan-2008  ad Add MODULAR option. Include kernel linker stuff if MODULAR.
 1.882  01-Jan-2008  yamt a simple performance monitor based profiler, inspired from linux oprofile.
 1.881  31-Dec-2007  ad Remove systrace. Ok core@.
 1.880  31-Dec-2007  ad Remove COMPAT_HPUX.
 1.879  26-Dec-2007  christos Add PaX ASLR (Address Space Layout Randomization) [from elad and myself]

For regular (non PIE) executables randomization is enabled for:
1. The data segment
2. The stack

For PIE executables(*) randomization is enabled for:
1. The program itself
2. All shared libraries
3. The data segment
4. The stack

(*) To generate a PIE executable:
- compile everything with -fPIC
- link with -shared-libgcc -Wl,-pie

This feature is experimental, and might change. To use selectively add
options PAX_ASLR=0
in your kernel.

Currently we are using 12 bits for the stack, program, and data segment and
16 or 24 bits for mmap, depending on __LP64__.
 1.878  13-Dec-2007  garbled Move the elink probe code from files.isa to the common conf/files so that
MCA without isa can compile. fix by cube.
 1.877  13-Dec-2007  joerg Add glue for x86emu and build it as part of i386/ALL.
 1.876  09-Dec-2007  jmcneill branches: 1.876.2; 1.876.4;
Merge jmcneill-pm branch.
 1.875  20-Nov-2007  pooka branches: 1.875.2; 1.875.4;
pud (userspace char/block drivers) build goo
 1.874  13-Nov-2007  cube Rename 'arc' into 'arcnet' to avoid conflict with
sys/arch/arc/conf/files.arc's machine statement.
 1.873  12-Nov-2007  pooka Move putter code from directly under dev/ to dev/putter/

no functional change
 1.872  11-Nov-2007  jmcneill Add pseudo audio device driver. With this pseudo-device, audio played back
via the standard audio interfaces is redirected back to userland as raw
PCM data on /dev/padN.

One example usage is to stream audio to an AirTunes compatible device using
rtunes (http://www.nazgul.ch/dev_rtunes.html), ie:

$ rtunes - < /dev/pad0
$ mpg123 -a /dev/sound1 blah.mp3

Another option is to capture audio output from eg. Real Player, by simply
instructing Real Player to output to /dev/sound1, and running:

$ cat /dev/pad0 > blah.pcm
 1.871  11-Nov-2007  pooka include putter only if it's actually defined
 1.870  10-Nov-2007  pooka Part 2/n of extensive changes to request transport to/from userspace:

Rip the transport code completely out of puffs and generalize it
into an independent module which will be used for multiple purposes
in the future. This module is called the Pass-to-Userspace
Transporter (known as "putter" among friends).

This is very much work-in-progress and one dependency with puffs
remains: the request framing format.

The device name is still /dev/puffs, but that will change soon.

Users of puffs need the following in their kernel configs now:
pseudo-device putter
 1.869  17-Oct-2007  pooka branches: 1.869.2; 1.869.4;
Split I/O-related routines (getpages, putpages, etc.) which are heavily
tied to uvm out of genfs_vnops into genfs_io.c
 1.868  09-Oct-2007  rmind Import of SCHED_M2 - the implementation of new scheduler, which is based
on the original approach of SVR4 with some inspirations about balancing
and migration from Solaris. It implements per-CPU runqueues, provides a
real-time (RT) and time-sharing (TS) queues, ready to support a POSIX
real-time extensions, and also prepared for the support of CPU affinity.

The following lines in the kernel config enables the SCHED_M2:

no options SCHED_4BSD
options SCHED_M2

The scheduler seems to be stable. Further work will come soon.

http://mail-index.netbsd.org/tech-kern/2007/10/04/0001.html
http://www.netbsd.org/~rmind/m2/mysql_bench_ro_4x_local.png
Thanks <ad> for the benchmarks!
 1.867  08-Oct-2007  ad Add stubs that provide new soft interrupt API from the vmlocking branch.
For now these just pass through to the current softintr code.

(The naming is different to allow softint/softintr to co-exist for a while.
I'm hoping that should make it easier to transition.)
 1.866  08-Oct-2007  ad Merge file descriptor locking, cwdi locking and cross-call changes
from the vmlocking branch.
 1.865  05-Oct-2007  dogcow since ip_gre.c is gone, it's unhelpful to have dependencies on it.
 1.864  28-Sep-2007  dyoung Always build & link net/link_proto.c, since net/if.c needs it.
 1.863  07-Sep-2007  plunky branches: 1.863.2;
move the HID processing defs to a higher context, since it is used by
bluetooth and USB code.
 1.862  07-Sep-2007  rmind Implementation of POSIX message queues.

Reviewed by: <ad>, <tech-kern>
 1.861  15-Aug-2007  ad branches: 1.861.2;
subr_prf_bitmask.c -> subr_prf2.c
 1.860  15-Aug-2007  ad Changes to make ktrace LKM friendly and reduce ifdef KTRACE. Proposed
on tech-kern.
 1.859  15-Aug-2007  kiyohara Replace to Matthew Orgass's slhci(4).
http://mail-index.netbsd.org/tech-kern/2007/06/26/0001.html
 1.858  09-Aug-2007  pooka Shuffle routines which just roll values around from kern_clock.c
and kern_time.c to subr_time.c.
 1.857  04-Aug-2007  ad branches: 1.857.2;
Add cpuctl(8). For now this is not much more than a toy for debugging and
benchmarking that allows taking CPUs online/offline.
 1.856  29-Jul-2007  pooka branches: 1.856.4;
Split vfs_subr.c into routines which need much of the kernel
infrastructure (vfs_subr.c) and routines which need little or none
of the kernel infra (vfs_subr2.c).
 1.855  29-Jul-2007  pooka Move bitmask_snprintf() from subr_prf.c to subr_prf_bitmask.c to permit
standalone compilation. No functional change.
 1.854  28-Jul-2007  pooka Move hashinit() & hashdone() from kern_subr.c to subr_hash.c to
permit standalone compilation. No functional change.
 1.853  19-Jul-2007  dyoung Take steps to hide the radix_node implementation of the forwarding table
from the forwarding table's users:

Introduce rt_walktree() for walking the routing table and
applying a function to each rtentry. Replace most
rn_walktree() calls with it.

Use rt_getkey()/rt_setkey() to get/set a route's destination.
Keep a pointer to the sockaddr key in the rtentry, so that
rtentry users do not have to grovel in the radix_node for
the key.

Add a RTM_GET method to rtrequest. Use that instead of
radix_node lookups in, e.g., carp(4).

Add sys/net/link_proto.c, which supplies sockaddr routines for
link-layer socket addresses (sockaddr_dl).

Cosmetic:

Constify. KNF. Stop open-coding LIST_FOREACH, TAILQ_FOREACH,
et cetera. Use NULL instead of 0 for null pointers. Use
__arraycount(). Reduce gratuitous parenthesization.

Stop using variadic arguments for rip6_output(), it is
unnecessary.

Remove the unnecessary rtentry member rt_genmask and the
code to maintain it, since nothing actually used it.

Make rt_maskedcopy() easier to read by using meaningful variable
names.

Extract a subroutine intern_netmask() for looking up a netmask in
the masks table.

Start converting backslash-ridden IPv6 macros in
sys/netinet6/in6_var.h into inline subroutines that one
can read without special eyeglasses.

One functional change: when the kernel serves an RTM_GET, RTM_LOCK,
or RTM_CHANGE request, it applies the netmask (if supplied) to a
destination before searching for it in the forwarding table.

I have changed sys/netinet/ip_carp.c, carp_setroute(), to remove
the unlawful radix_node knowledge.

Apart from the changes to carp(4), netiso, ATM, and strip(4), I
have run the changes on three nodes in my wireless routing testbed,
which involves IPv4 + IPv6 dynamic routing acrobatics, and it's
working beautifully so far.
 1.852  18-Jul-2007  he branches: 1.852.2;
After the recent mount changes, COMPAT_AOUT_M68K now depends on COMPAT_40.
 1.851  15-Jul-2007  dsl Default MEMORY_DISK_SERVER to 1 instead of using 'undefined' to mean 1.
 1.850  14-Jul-2007  ad kcont was removed.
 1.849  09-Jul-2007  ad Remove kcont:

- There are no users in tree.
- Its functionality has largely been replaced by workqueues and generic
soft interrupts.
- It's not MP friendly.
 1.848  29-Jun-2007  rumble Add read-only support for SGI's Extent File System.

Reviewed by pooka@.
 1.847  29-May-2007  christos Add a sockaddr_storage member to "struct ifreq" maintaining backwards
compatibility with the older ioctls. This avoids stack smashing and
abuse of "struct sockaddr" when ioctls placed "struct sockaddr_foo's" that
were longer than "struct sockaddr".
XXX: Some of the emulations might be broken; I tried to add code for
them but I did not test them.
 1.846  24-May-2007  mjacob Major update to isp(4) driver to bring it in line with external sources.

The major changes are:

+ 4Gb (24XX) card support
+ Rewritten fabric and loop evaluation code
+ New f/w sets

The 4Gb changes required major rototilling, which caused a rewrite of
fabric and loop eval code. The latter can now be set up to tune for
dynamic device arrival/departure if the framework is set up for it,
or to be firm about waiting for devices.

Testing has been principally on amd64, i386 and sparc64 and seems to
not have broken things for me.
 1.845  17-May-2007  yamt merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.844  12-May-2007  bouyer Split the ahcisata driver in pci front-end and bus-independant back-end.
 1.843  08-May-2007  xtraeme Split the ug(4) driver in three components:

* dev/ic/ug.c (main code shared by the attachments)
* dev/isa/ug_isa.c (isa attachment)
* dev/acpi/ug_acpi.c (acpi attachment)

That means that ug(4) can now be attached via ACPI.

Thanks to Mihai Chelaru for the good work.
 1.842  08-May-2007  manu Add the TFTPROOT kernel option for TFTP'ing root RAMdisk at root mount time.
This allows working around situations where a kernel with embedded RAMdisk
cannot be booted by the bootloader because the RAMdisk is too big.
 1.841  07-May-2007  rmind Rename vfs_aio.c to sys_aio.c as decided in <tech-kern>.

Please note, that <tech-kern> people should note about
file names before commit. Otherwise, function may fail
with errno set to EDIRTY, and return -1. ;)
 1.840  02-May-2007  dyoung Eliminate address family-specific route caches (struct route, struct
route_in6, struct route_iso), replacing all caches with a struct
route.

The principle benefit of this change is that all of the protocol
families can benefit from route cache-invalidation, which is
necessary for correct routing. Route-cache invalidation fixes an
ancient PR, kern/3508, at long last; it fixes various other PRs,
also.

Discussions with and ideas from Joerg Sonnenberger influenced this
work tremendously. Of course, all design oversights and bugs are
mine.

DETAILS

1 I added to each address family a pool of sockaddrs. I have
introduced routines for allocating, copying, and duplicating,
and freeing sockaddrs:

struct sockaddr *sockaddr_alloc(sa_family_t af, int flags);
struct sockaddr *sockaddr_copy(struct sockaddr *dst,
const struct sockaddr *src);
struct sockaddr *sockaddr_dup(const struct sockaddr *src, int flags);
void sockaddr_free(struct sockaddr *sa);

sockaddr_alloc() returns either a sockaddr from the pool belonging
to the specified family, or NULL if the pool is exhausted. The
returned sockaddr has the right size for that family; sa_family
and sa_len fields are initialized to the family and sockaddr
length---e.g., sa_family = AF_INET and sa_len = sizeof(struct
sockaddr_in). sockaddr_free() puts the given sockaddr back into
its family's pool.

sockaddr_dup() and sockaddr_copy() work analogously to strdup()
and strcpy(), respectively. sockaddr_copy() KASSERTs that the
family of the destination and source sockaddrs are alike.

The 'flags' argumet for sockaddr_alloc() and sockaddr_dup() is
passed directly to pool_get(9).

2 I added routines for initializing sockaddrs in each address
family, sockaddr_in_init(), sockaddr_in6_init(), sockaddr_iso_init(),
etc. They are fairly self-explanatory.

3 structs route_in6 and route_iso are no more. All protocol families
use struct route. I have changed the route cache, 'struct route',
so that it does not contain storage space for a sockaddr. Instead,
struct route points to a sockaddr coming from the pool the sockaddr
belongs to. I added a new method to struct route, rtcache_setdst(),
for setting the cache destination:

int rtcache_setdst(struct route *, const struct sockaddr *);

rtcache_setdst() returns 0 on success, or ENOMEM if no memory is
available to create the sockaddr storage.

It is now possible for rtcache_getdst() to return NULL if, say,
rtcache_setdst() failed. I check the return value for NULL
everywhere in the kernel.

4 Each routing domain (struct domain) has a list of live route
caches, dom_rtcache. rtflushall(sa_family_t af) looks up the
domain indicated by 'af', walks the domain's list of route caches
and invalidates each one.
 1.839  01-May-2007  bouyer Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
 1.838  30-Apr-2007  rmind Import of POSIX Asynchronous I/O.
Seems to be quite stable. Some work still left to do.

Please note, that syscalls are not yet MP-safe, because
of the file and vnode subsystems.

Reviewed by: <tech-kern>, <ad>
 1.837  14-Apr-2007  tnn Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>
 1.836  20-Mar-2007  drochner Import DRM drivers, brought into shape by Yorick Hardy, posted to tech-x11.
Minor modifications by me:
-use an mi device major number
-(coarsly) divided into pci card specific and less specific parts, moved
the latter to dev/drm
-renamed autoconf attributes to reflect this
Todo:
-adapt all card frontends but i915 to drm include file location
-review the mtrr change
-make the change to agp_i810.c coexist with the fix for buggy VESA
BIOSes which is commented out temporarily
-RCS IDs etc style stuff
-LKM support (rescan support for vga)
-test
 1.835  17-Mar-2007  dyoung Let config(1) know that #define ATADEBUG goes in opt_ata.h. In
dev/ic/wdc.c and in dev/ata/ata.c, #include "opt_ata.h", and make
both the files compile with or *without* ATADEBUG. Do not compile
with ATADEBUG by default.
 1.834  08-Mar-2007  njoly branches: 1.834.2; 1.834.4; 1.834.6;
High Precision Event Timer driver, following Intel specifications.

Allow attachement at both ACPI (hpet@acpi) and AMD8111 LPC Controller
(hpet@amdpcib).

Requested by xtraeme, and tested by a few users.
 1.833  06-Mar-2007  dillo Complete rename of hfsp to hfs, requested by thorpej.
 1.832  05-Mar-2007  dillo Integrate apmlabel and HFS+ file system.
 1.831  10-Feb-2007  ad branches: 1.831.2; 1.831.6;
A quick hack to get things building again: put back the SA system calls
with no arguments, and alias them to sys_nosys. To be revisited.
 1.830  09-Feb-2007  ad Merge newlock2 to head.
 1.829  02-Feb-2007  ober Updates to allow Zaurus screen to rotate 90 degrees to a usable state with the keyboard. Patch from peter@ copied from OpenBSD. Feedback and OK from matt@
 1.828  19-Jan-2007  hannken New file system suspension API to replace vn_start_write and vn_finished_write.
The suspension helpers are now put into file system specific operations.
This means every file system not supporting these helpers cannot be suspended
and therefore snapshots are no longer possible.

Implemented for file systems of type ffs.

The new API is enabled on a kernel option NEWVNGATE. This option is
not enabled by default in any kernel config.

Presented and discussed on tech-kern with much input from
Bill Studenmund <wrstuden@netbsd.org> and YAMAMOTO Takashi <yamt@netbsd.org>.

Welcome to 4.99.9 (new vfs op vfs_suspendctl).
 1.827  16-Jan-2007  ad Add sched_yield().
 1.826  11-Jan-2007  mouse Hook srt into the rest of the kernel build machinery, so it works to
just uncomment the pseudo-device line (which arguably should go into
other ports' GENERICs too, and at some point may).

OKed by perry.
 1.825  11-Jan-2007  cube Remove netiso/if_cons.c. It depends on x25 stuff that was removed a while
ago.

Obsolete option "TPCONS".
 1.824  09-Jan-2007  cube Remove stale config(5) entries for unexistent wl(4).

Ok'd by matt@.
 1.823  09-Jan-2007  cube Disable daic(4). The driver is not finished.
Ok'd by martin@.
 1.822  09-Jan-2007  cube Add a lint-only value of "/dev/null" for ACPI_DSDT_FILE.

Bump required config(1) version. Yes, it implies everybody will have to
rebuild config(1). I can live with people hating me.
 1.821  17-Dec-2006  bouyer Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
 1.820  11-Dec-2006  yamt - remove a static configuration, FILEASSOC_NHOOKS. do it dynamically instead.
- make fileassoc_t a pointer and remove FILEASSOC_INVAL.
- clean up kern_fileassoc.c. unify duplicated code.
- unexport fileassoc_init using RUN_ONCE(9).
- plug memory leaks in fileassoc_file_delete and fileassoc_table_delete.
- always call callbacks, regardless of the value of the associated data.

ok'ed by elad.
 1.819  24-Nov-2006  wiz branches: 1.819.2;
s/independant/independent/, from Zafer.
 1.818  23-Nov-2006  rpaulo New EtherIP driver based on tap(4) and gif(4) by Hans Rosenfeld.
Notable changes:
* Fixes PR 34268.
* Separates the code from gif(4) (which is more cleaner).
* Allows the usage of STP (Spanning Tree Protocol).
* Removed EtherIP implementation from gif(4)/tap(4).

Some input from Christos.
 1.817  22-Nov-2006  elad Initial implementation of PaX Segvguard (this is still work-in-progress,
it's just to get it out of my local tree).
 1.816  27-Oct-2006  christos Merge kernel and userland rmd160 and sha2 implementation.
XXX: We still install rmd160.h and sha2.h in /usr/include/crypto, unlike
the other hash functions which get installed in /usr/include for compatibility.
 1.815  22-Oct-2006  pooka add fs/puffs
 1.814  08-Oct-2006  thorpej Add subroutines for maintaining object-specific data for arbitrary
subsystems, based on work by YAMAMOTO Takashi. This is intended to
be used by other subsystems (such as the proc_*() or lwp_*() routines)
rather than directly by consumers.
 1.813  02-Oct-2006  gdamore Go ahead and include files.spi. It is going to be used by my alchemy
commit and it appears to be harmless to other configs. This is modeled
much like files.i2c.
 1.812  24-Sep-2006  jmcneill Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@
 1.811  08-Sep-2006  elad branches: 1.811.2;
First take at security model abstraction.

- Add a few scopes to the kernel: system, network, and machdep.

- Add a few more actions/sub-actions (requests), and start using them as
opposed to the KAUTH_GENERIC_ISSUSER place-holders.

- Introduce a basic set of listeners that implement our "traditional"
security model, called "bsd44". This is the default (and only) model we
have at the moment.

- Update all relevant documentation.

- Add some code and docs to help folks who want to actually use this stuff:

* There's a sample overlay model, sitting on-top of "bsd44", for
fast experimenting with tweaking just a subset of an existing model.

This is pretty cool because it's *really* straightforward to do stuff
you had to use ugly hacks for until now...

* And of course, documentation describing how to do the above for quick
reference, including code samples.

All of these changes were tested for regressions using a Python-based
testsuite that will be (I hope) available soon via pkgsrc. Information
about the tests, and how to write new ones, can be found on:

http://kauth.linbsd.org/kauthwiki

NOTE FOR DEVELOPERS: *PLEASE* don't add any code that does any of the
following:

- Uses a KAUTH_GENERIC_ISSUSER kauth(9) request,
- Checks 'securelevel' directly,
- Checks a uid/gid directly.

(or if you feel you have to, contact me first)

This is still work in progress; It's far from being done, but now it'll
be a lot easier.

Relevant mailing list threads:

http://mail-index.netbsd.org/tech-security/2006/01/25/0011.html
http://mail-index.netbsd.org/tech-security/2006/03/24/0001.html
http://mail-index.netbsd.org/tech-security/2006/04/18/0000.html
http://mail-index.netbsd.org/tech-security/2006/05/15/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/01/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/25/0000.html

Many thanks to YAMAMOTO Takashi, Matt Thomas, and Christos Zoulas for help
stablizing kauth(9).

Full credit for the regression tests, making sure these changes didn't break
anything, goes to Matt Fleming and Jaime Fournier.

Happy birthday Randi! :)
 1.810  07-Sep-2006  itohy branches: 1.810.2;
Workbit NinjaATA-32 busmastering PIO IDE controller driver (njata)

This driver supports NinjaATA-32Bi and NPATA-32 chips,
which are used for CardBus ATA interface cards and
CardBus CompactFlash adapters.
 1.809  07-Sep-2006  itohy Add PIOBM (busmastering transfer using ATA PIO mode) support.
The PIOBM is used by only one driver (will be added later,
stay tuned) and intruduce an attribute "ata_piobm" so that
it will be conditionally compiled in.
The "ata_dma" (busmastering transfer using ATA DMA mode) and
"ata_udma" (busmastering transfer using ATA Ultra DMA mode)
attributes are also added for consistency, but unused for now.
 1.808  07-Sep-2006  uwe MI part of the Ricoh RS5C313 real time clock todr(9) driver.
Based on the code from landisk port. With help from gdamore@
 1.807  07-Sep-2006  ad Add the 'lockstat' driver, which collects basic information about lock events.
 1.806  02-Sep-2006  gdamore Add MI implementation of inittodr, todr_attach, and resettodr.

This is triggered upon __HAVE_GENRIC_TODR in machine/types.h. Conversion of
evbmips port forthcoming.
 1.805  01-Sep-2006  cube Revert my commit that made SYSTRACE depend on PTRACE, this is no longer
necessary. Thanks, Matt.
 1.804  31-Aug-2006  dyoung Remove an extraneous line that snuck into my previous commit.
 1.803  31-Aug-2006  dyoung Add a mode to gre(4) that sends GRE tunnel packets in UDP datagrams.
Fix MOBILE encapsulation. Add many debugging printfs (mainly
concerning UDP mode). Clean up the gre(4) code a bit. Add the
capability to setup UDP tunnels to ifconfig. Update documentation.

In UDP mode, gre(4) puts a GRE header onto transmitted packets,
and hands them to a UDP socket for transmission. That is, the
encapsulation looks like this: IP+UDP+GRE+encapsulated packet.

There are two ways to set up a UDP tunnel. One way is to tell the
source and destination IP+port to gre(4), and let gre(4) create
the socket. The other way to create a UDP tunnel is for userland
to "delegate" a UDP socket to the kernel.
 1.802  30-Aug-2006  cube Make SYSTRACE depend on PTRACE because it uses process_domem().
 1.801  30-Aug-2006  cube Restore dependency on PTRACE for PROCFS.
Bump required config(1) version.
 1.800  30-Aug-2006  matt sys_process.c is also used by KTRACE.
 1.799  29-Aug-2006  matt Make PTRACE and COREDUMP optional. Make the default (status quo) by putting
them in conf/std.
 1.798  27-Aug-2006  cube Require a config(1) supporting syntax version 20060604 now that we use
the "obsolete" statement.
 1.797  27-Aug-2006  christos raid and ccd now use dk_lookup.
 1.796  26-Aug-2006  bjh21 Move the sgimips "sbic" driver from arch/sgimips/hpc/sbic.c to
dev/ic/wd33c93.c. This may not be the best WD33C93 driver we've
got, but it's the most recently worked on and probably the most
portable, so it seems like a good basis for further work (and in
particular an acorn26 driver for the Acorn SCSI card). There's
no functional change in this commit, and sgimips kernels still
compile.
 1.795  25-Aug-2006  matt Remove support for netns and netccitt. For now, don't include files.netns
and files.netccitt.
 1.794  24-Aug-2006  dsl Create a linker map file.
Very useful when trying to find out where recent 'bloat' has come from,
as well as giving exact details of what is actually in the kernel.
 1.793  05-Aug-2006  pavel defflag PPPOE_SERVER and PPPOE_TERM_UNKNOWN_SESSIONS.
 1.792  25-Jul-2006  elad make veriexec.h be generated again; thanks cube@
 1.791  24-Jul-2006  elad some fixes:
- adapt to NVERIEXEC in init_sysctl.c.
- we now need "veriexec.h" for NVERIEXEC.
- "opt_verified_exec.h" -> "opt_veriexec.h", and include it only where
it is needed.
 1.790  22-Jul-2006  elad deprecate the VERIFIED_EXEC option; now we only need the pseudo-device to
enable it. while here, some config file tweaks.

tons of input from cube@ (thanks!) and okay blymn@.
 1.789  14-Jul-2006  elad okay, since there was no way to divide this to two commits, here it goes..

introduce fileassoc(9), a kernel interface for associating meta-data with
files using in-kernel memory. this is very similar to what we had in
veriexec till now, only abstracted so it can be used more easily by more
consumers.

this also prompted the redesign of the interface, making it work on vnodes
and mounts and not directly on devices and inodes. internally, we still
use file-id but that's gonna change soon... the interface will remain
consistent.

as a result, veriexec went under some heavy changes to conform to the new
interface. since we no longer use device numbers to identify file-systems,
the veriexec sysctl stuff changed too: kern.veriexec.count.dev_N is now
kern.veriexec.tableN.* where 'N' is NOT the device number but rather a
way to distinguish several mounts.

also worth noting is the plugging of unmount/delete operations
wrt/fileassoc and veriexec.

tons of input from yamt@, wrstuden@, martin@, and christos@.
 1.788  13-Jul-2006  gdamore Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@. Fixes PR port-evbmips/32362.
 1.787  13-Jul-2006  martin COMPAT_SUNOS* uses COMPAT_30 getfh too
 1.786  13-Jul-2006  martin Make freebsd_sys_getfh use compat_30_sys_getfh
 1.785  30-Jun-2006  chap Ankh-Morpork, we have a MIDI driver....

Merge from chap-midi branch, after
~month for review
Comments by thorpej@ drochner@ and Alexandre Ratchov

Incorporated: points by thorpej@ drochner@; preliminary support for
a stats-collecting ioctl suggested by martin@ from comments by A.R.

PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590
kern/33614 and one instance of kern/32651

ok martin@
 1.784  26-Jun-2006  drochner add some common code to support the ACPI power management timer
independly of ACPI
 1.783  25-Jun-2006  yamt 1. implement solaris-like vmem. (still primitive, though)
2. implement solaris-like kmem_alloc/free api, using #1.
(note: this implementation is backed by kernel_map, thus can't be
used from interrupt context.)
 1.782  19-Jun-2006  gdamore Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@,
NetBSD Foundation Membership still pending.) This stack was written by
Iain under sponsorship from Itronix Inc.

The stack includes support for rfcomm networking (networking via your
bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.

Drivers for both PCMCIA and USB bluetooth controllers are included.
 1.781  07-Jun-2006  kardel branches: 1.781.2;
merge FreeBSD timecounters from branch simonb-timecounters
- struct timeval time is gone
time.tv_sec -> time_second
- struct timeval mono_time is gone
mono_time.tv_sec -> time_uptime
- access to time via
{get,}{micro,nano,bin}time()
get* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf
NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
 1.780  07-Jun-2006  rpaulo Fix a comment for ral.
 1.779  07-Jun-2006  martin Now that rt2661.c uses firmware_*, ral needs attribute firmload.
 1.778  07-Jun-2006  dogcow add the dev/ic/ files for ral(4).
 1.777  28-May-2006  martin Move definition of the 'fb' attribute to global scope and make machfb@pci
require it. On most archs this does not change anything, but on sparc{,64}
it allows linking of kernels that have machfb as the only framebuffer.
Solution suggested by Quentin.
 1.776  25-May-2006  yamt move wait points for kva from upper layers to vm_map. PR/33185 #1.

XXX there is a concern about interaction with kva fragmentation.
see: http://mail-index.NetBSD.org/tech-kern/2006/05/11/0000.html
 1.775  18-May-2006  liamjfoy branches: 1.775.2;
Integrate Common Address Redundancy Procotol (CARP) from OpenBSD

'pseudo-device carp'

Thanks to: joerg@ christos@ riz@ and others who tested
Ok: core@
 1.774  16-May-2006  elad Introduce PaX MPROTECT -- mprotect(2) restrictions used to strengthen
W^X mappings.

Disabled by default.

First proposed in:

http://mail-index.netbsd.org/tech-security/2005/12/18/0000.html

More information in:

http://pax.grsecurity.net/docs/mprotect.txt

Read relevant parts of options(4) and sysctl(3) before using!

Lots of thanks to the PaX author and Matt Thomas.
 1.773  14-May-2006  elad integrate kauth.
 1.772  05-May-2006  thorpej Remove the obsolete (and now unused) propdb API.
 1.771  17-Apr-2006  elad Move securelevel-specific stuff to its own file.
 1.770  14-Apr-2006  blymn Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.
 1.769  07-Apr-2006  riz Dallas Semiconductor 1-Wire bus support, from OpenBSD. Currently includes
gpioow(4), attaching a bit-banging driver via a GPIO pin. Also,
owtemp(4) which supports some of the 1-Wire temperature sensors, including
the DS18b20 and DS1920 - temperatures are returned via the envsys(4)
framework.

Original drivers by Alexander Yurchenko (grange@openbsd), with envsys(4)
support and a fix to the 1-wire search algorithm (for discovering
devices on the bus) by me.

As discussed on tech-kern earlier this week.
 1.768  07-Apr-2006  gdamore Add common videomode include. As requested by macallan@.
 1.767  05-Apr-2006  gdamore Rename AH_DEBUG, AH_ASSERT, and AH_DEBUG_ALQ to ATH_XXX.
Use the opt_ah.h for the provided HAL to get options like AH_REGOPS_FUNC.
Add AH_REGOPS_FUNC to a few opt_ah.h that don't have it in this version
of the HAL but need it. (The next version from Sam should have this fixed
in it. If it doesn't, then we'll have to take care at import time.)

Ultimately, this should make future imports even easier, and individual ports
should not have to worry about whether AH_REGOPS_FUNC is properly defined or
not, since the opt_ah.h will just take care of it automatically.

Ok'd by dyoung@.
 1.766  04-Apr-2006  gdamore Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.
 1.765  02-Apr-2006  gdamore Reorganize ath layout as requested by sam@ and suggested by dyoung@ in
http://mail-index.netbsd.org/tech-net/2006/03/15/0000.html.

The new layout almost precisely matches FreeBSD, and should make
future imports much easier.

At the same time, import the current 0.9.16.16 HAL from FreeBSD. According
to sam@, this is the proper version we should be using.
 1.764  21-Mar-2006  he Commit forgotten definition of the ciss driver.
 1.763  01-Mar-2006  cube branches: 1.763.2; 1.763.4; 1.763.6;
Fix md(4) like raid(4) was fixed.
 1.762  25-Feb-2006  christos remove vinum
 1.761  23-Feb-2006  macallan Add support for virtual consoles to igsfb.
Works fine on a Krups, needs testing on other ports.
 1.760  19-Feb-2006  jmcneill splash is MI; move it out of files.i386
 1.759  12-Feb-2006  chs convert "magiclinks" from a per-fs mount option to a system-wide sysctl.
as discussed on tech-kern quite some time ago.
 1.758  09-Feb-2006  manu Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so
that the i386 license manager part of amd64 version of Fluent works.

While I'm here, add SysV IPC to COMPAT_LINUX/amd64
 1.757  03-Feb-2006  jmmv branches: 1.757.2;
Implement options string parsing of the form 'a=b c=d ...'. This will be
initially used by i386's Multiboot support but will be useful in other
situations too (think refactoring mount(2)'s API).
 1.756  02-Feb-2006  reinoud Initial import of a UDF file system implementation for NetBSD.

Finally the logic glue and the set distribution lists modifications.
 1.755  01-Feb-2006  cube Have vnd(4) devices automatically created when the user tries to
configure one. That removes the compile-time constant that limits the
number of vnds.

Thanks xtraeme@ for testing.
 1.754  17-Jan-2006  thorpej branches: 1.754.2;
Conditionalize firmload.c on the firmload attribute.
 1.753  17-Jan-2006  thorpej Add an API for loading firmware images for devices.
 1.752  16-Jan-2006  cube tap(4) depends on arp: it is an Ethernet interface, after all.
Solves PR 32548 by Pawel Chwalowski.
 1.751  07-Jan-2006  peter Include net/pfil.c when pf is set.
 1.750  29-Dec-2005  tsutsui branches: 1.750.2;
Add preliminary support for System V Boot File System.
Written by UCHIYAMA Yasushi <uch@netbsd>.
 1.749  27-Dec-2005  chs remove the COM_MPLOCK option. always include the spinlock in the softc
and always call the simple_* locking functions. the locking functions
are compiled out if they are not needed anyway, so a separate option
for this doesn't gain anything.

this also fixes the serial console on my alpha ES40 (which doesn't make much
sense since the com driver should still be under the big lock on alpha,
but whatever).
 1.748  21-Dec-2005  yamt defparam NMBCLUSTERS.
 1.747  20-Dec-2005  thorpej Remove the tablet line discipline.
 1.746  07-Dec-2005  thorpej Remove the VNODE_OP_NOINLINE option. We now NEVER inline vnode ops.
Briefly discussed on tech-kern not too long ago.
 1.745  27-Nov-2005  thorpej Move DDB files to files.ddb
XXX couple of kgdb references -- clean up later
 1.744  27-Nov-2005  thorpej Move UVM files to files.uvm
 1.743  27-Nov-2005  thorpej Move 802.11-specific files to files.net80211
 1.742  26-Nov-2005  yamt add a new option DDB_COMMANDONENTER.
which can be useful for eg. broken console input.
 1.741  25-Nov-2005  thorpej Use a once control to call initialize the 802.11 layer when
ieee80211_ifattach() is called. "wlan" no longer needs-flag,
and remove the ieee80211_init() call from main().
 1.740  18-Nov-2005  martin Only call ieee80211_init() in kernels that include some wlan stuff.
 1.739  29-Oct-2005  yamt branches: 1.739.2;
physio: make requests with large buffers faster,
by queueing more i/o simultaneously.
 1.738  21-Oct-2005  dyoung Switch to John Bicket's SampleRate algorithm for bitrate adaptation
on Atheros cards.
 1.737  19-Oct-2005  dyoung For clarify, use the name opt_athhal.h instead of opt_ah.h for the
file where Atheros HAL options go.
 1.736  15-Oct-2005  yamt branches: 1.736.2;
- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)
 1.735  05-Oct-2005  cube tap doesn't expose any locator... It's just a trick to get a cfdriver
structure.
 1.734  27-Sep-2005  jmcneill Add gpio files and majors.
 1.733  26-Sep-2005  yamt - defflag bufq_fcfs and bufq_disksort.
- make them on by default.
 1.732  23-Sep-2005  jmmv Apply the NFS exports list rototill patch:

- Remove all NFS related stuff from file system specific code.
- Drop the vfs_checkexp hook and generalize it in the new nfs_check_export
function, thus removing redundancy from all file systems.
- Move all NFS export-related stuff from kern/vfs_subr.c to the new
file sys/nfs/nfs_export.c. The former was becoming large and its code
is always compiled, regardless of the build options. Using the latter,
the code is only compiled in when NFSSERVER is enabled. While doing this,
also make some functions in nfs_subs.c conditional to NFSSERVER.
- Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a
path and a set of export entries. At the moment it can only clear the
exports list or append entries, one by one, but it is done in a way that
allows setting the whole set of entries atomically in the future (see the
comment in mountd_set_exports_list or in doc/TODO).
- Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so
that it becomes file system agnostic. In fact, all this whole thing was
done to remove a 'XXX' block from this utility!
- Change the mount*, newfs and fsck* userland utilities to not deal with NFS
exports initialization; done internally by the kernel when initializing
the NFS support for each file system.
- Implement an interface for VFS (called VFS hooks) so that several kernel
subsystems can run arbitrary code upon receipt of specific VFS events.
At the moment, this only provides support for unmount and is used to
destroy NFS exports lists from the file systems being unmounted, though it
has room for extension.

Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments
and advice in the development of this patch.
 1.731  17-Sep-2005  yamt make VMSWAP optional again.
 1.730  10-Sep-2005  jmmv Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program. This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*. Therefore, it is disabled by
default in all kernels. However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
 1.729  19-Aug-2005  christos 64 bit inode changes.
 1.728  31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.727  30-Jul-2005  yamt defflag VMSWAP.
 1.726  17-Jul-2005  hubertf Add support for reading cloop2 compressed filesystem image,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.725  16-Jul-2005  christos Defopt VERIFIED_EXEC*
 1.724  11-Jul-2005  kiyohara ieee1394 import from FreeBSD.
 1.723  09-Jul-2005  thorpej Move VFS extended attribute support to its own file.
 1.722  01-Jul-2005  drochner branches: 1.722.2;
add autoconf glue for the ralink wireless drivers, basically from
PR kern/30449, but changed so that pci/cardbus and usb devices
are all called "ral" to the user, so that code can be shared eventually
 1.721  27-Jun-2005  christos Create the file opt_ah.h, which appears to be needed. Can we please
s/AH_/ATHHAL_/ everywhere?
 1.720  23-Jun-2005  thorpej Implement expansion of special "magic" strings in symlinks into
system-specific values. Submitted by Chris Demetriou in Nov 1995 (!)
in PR kern/1781, modified only slighly by me.

This is enabled on a per-mount basis with the MNT_MAGICLINKS mount
flag. It can be enabled at mountroot() time by building the kernel
with the ROOTFS_MAGICLINKS option.

The following magic strings are supported by the implementation:

@machine value of MACHINE for the system
@machine_arch value of MACHINE_ARCH for the system
@hostname the system host name, as set with sethostname()
@domainname the system domain name, as set with setdomainname()
@kernel_ident the kernel config file name
@osrelease the releaes number of the OS
@ostype the name of the OS (always "NetBSD" for NetBSD)

Example usage:

mkdir /arch/i386/bin
mkdir /arch/sparc/bin
ln -s /arch/@machine_arch/bin /bin
 1.719  22-Jun-2005  dyoung Resolve conflicts in importation of 18-May-2005 ath(4) / net80211(9)
from FreeBSD. Introduce compatibility shims (sys/dev/ic/ath_netbsd.[ch],
sys/net80211/ieee80211_netbsd.[ch]). Update drivers (an, atu, atw,
awi, ipw, iwi, rtw, wi) for the new net80211(9) API.
 1.718  12-Jun-2005  matt Reduce INSTALL_TINY by 1.3KB.

Support for a.out coredumps is now conditional on EXEC_AOUT, EXEC_COFF,
EXEC_ECOFF, or EXEC_MACHO, or LKM. Since coredump_netbsd is the only user
of cpu_coredump, make that conditional too. Lastly, add 'no options EXEC_AOUT'
so the EXEC_AOUT option in std.i386 can be overridden.
 1.717  20-Apr-2005  blymn Rototill of the verified exec functionality.
* We now use hash tables instead of a list to store the in kernel
fingerprints.
* Fingerprint methods handling has been made more flexible, it is now
even simpler to add new methods.
* the loader no longer passes in magic numbers representing the
fingerprint method so veriexecctl is not longer kernel specific.
* fingerprint methods can be tailored out using options in the kernel
config file.
* more fingerprint methods added - rmd160, sha256/384/512
* veriexecctl can now report the fingerprint methods supported by the
running kernel.
* regularised the naming of some portions of veriexec.
 1.716  06-Apr-2005  yamt make blist compilable on netbsd.
 1.715  03-Apr-2005  jdolecek Add driver for MCA Tiara LANCard / Fujitsu mb86950 EtherStar. Driver provided
in PR kern/26899 by Dave Barnes.
 1.714  25-Mar-2005  cube Add attimer(4) driver, with ISA and ACPI attachments.

attimer(4) is the new body of the part of pcppi(4) that mapped the TIMER1
register to set the pitch of the bell. It was necessary to separate them
in order to have a working ACPI attachment (as the two appear as different
devices in the ACPI structures).
 1.713  18-Mar-2005  yamt add agr(4), a pseudo network device driver for link aggregation.
 1.712  26-Feb-2005  perry branches: 1.712.2;
nuke trailing whitespace
 1.711  01-Feb-2005  drochner don't compile isp_target.c if ISP_TARGET_MODE is not required
 1.710  31-Jan-2005  joff new attribute matrixkp
 1.709  21-Jan-2005  yamt branches: 1.709.2;
- switch to dev/rtl8169.c from pci/if_re.c.
- enable re@cardbus.
both of re@pci and re@cardbus seem to work for me.
 1.708  19-Jan-2005  cube if_tap.c needs NBPFILTER flag.
 1.707  13-Jan-2005  petrov branches: 1.707.2;
Correct NKMEMPAGES_MIN option name.
 1.706  10-Jan-2005  kent merge kent-audio1 branch, which introduces audio filter pipeline to the MI
audio framework


Summary of changes:

* struct audio_params
- remove sw_code, factor, factor_denom, hw_sample_rate,
hw_encoding ,hw_precision, and hw_channels. Conversion information
is conveyed by stream_filter_list_t.
- change the type of sample_rate: u_long -> u_int
- add `validbits,' which represents the valid data size in
precision bits. It is required in order to distinguish 24/32bit
from 24/24bit or 32/32bit.

* audio_hw_if
- add two parameters to set_params()
stream_filter_list_t *pfil, stream_filter_list *rfil
A HW driver should set filter recipes for requested formats
- constify audio_params parameters of trigger_output() and
trigger_input(). They represent audio formats for the hardware.
- make open() and close() optional
- add int (AUMODE_PLAY or AUMODE_RECORD) and audio_params_t parameters
to round_blocksize()

* sw_code is replaced with stream_filter_t.
stream_filer_t converts audio data in an input buffer and writes
into another output buffer unlike sw_code, which converts data in
single buffer.
converters in dev/auconv.c, dev/mulaw.c, dev/aurateconv.c,
dev/tc/bba.c, dev/ic/msm6258.c, and arch/arm/iomd/vidcaudio.c are
reimplemented as stream_filter_t

* MI audio
- audiosetinfo() builds filter pipelines from stream_filter_list_t
filled by audio_hw_if::set_params()
- audiosetinfo() returns with EINVAL if mmapped and set_params()
requests filters
- audio_write(), audio_pint(), and audio_rint() invoke a filter
pipeline.
- ioctl() for FIONREAD, AUDIO_WSEEK, AUDIO_GETIOFFS,
AUDIO_GETOOFFS, and audio_prinfo::{seek,samples} for
AUDIO_GETINFO handle values for a buffer nearest to userland.

* add `struct device *' parameter to ac97_attach()

* all of audio HW drivers follow audio_hw_if and ac97 changes
 1.705  08-Jan-2005  cube Addition of tap(4).

NAME
tap - virtual Ethernet device

SYNOPSIS
pseudo-device tap

DESCRIPTION
The tap driver allows the creation and use of virtual Ethernet devices.
Those interfaces appear just as any real Ethernet NIC to the kernel, but
can also be accessed by userland through a character device node in order
to read frames being sent by the system or to inject frames.

In that respect it is very similar to what tun(4) provides, but the added
Ethernet layer allows easy integration with machine emulators or virtual
Ethernet networks through the use of bridge(4) with tunneling.

``Qui tacet consentire videtur.''
 1.704  08-Jan-2005  joff add tscs
 1.703  21-Dec-2004  fvdl defparam USB_MEM_RESERVE
 1.702  05-Dec-2004  christos branches: 1.702.2;
clonify strip and sl.
 1.701  04-Dec-2004  peter Convert lo(4) to a clonable device.

This also removes the loif array and changes all code to use the new
lo0ifp pointer which points to the lo0 ifnet structure.

Approved by christos.
 1.700  30-Nov-2004  christos Clonify bpf. I am not changing /dev/bpfX -> /dev/bpf until all userland
programs have been fixed.
 1.699  25-Nov-2004  yamt revert unintended changes in the previous. pointed by matthew green.
 1.698  25-Nov-2004  yamt lookup bufq using link_set rather than a switch statement.
 1.697  13-Nov-2004  kent add `needs-flag' to the file line for mulaw.
move the file line for aurateconv.
 1.696  11-Nov-2004  jdolecek ptyfs moved from miscfs/ to fs/

sort file system includes
 1.695  11-Nov-2004  christos Add ptyfs; from Geoff Wing.
 1.694  10-Nov-2004  christos Update to the split pty driver.
 1.693  23-Oct-2004  thorpej MBR partition table support for wedges, enabled by the DKWEDGE_METHOD_MBR
option.
 1.692  14-Oct-2004  yamt move i/o schedulers to their own files.
namely, from kern/subr_disk.c to kern/bufq_{fcfs,disksort,readprio,priocscan}.c.
 1.691  04-Oct-2004  thorpej Add a parsing module for 4.4BSD/NetBSD disklabels. This module supports
disklabels nested inside an MBR "NetBSD" or "386BSD" partition (first
one found is considered authoritative for the disk), or in one of several
known locations for various NetBSD platforms. It can read native or other-
endian disklabels (code is there, but not tested).

If you want to play with this, exercise caution; you can't currently
mountroot on a wedge (setroot() needs some work). Enabled by the
DKWEDGE_METHOD_BSDLABEL kernel option.
 1.690  04-Oct-2004  thorpej Remove something mistakenly committed in last.
 1.689  04-Oct-2004  thorpej Move wedge code to a subdirectory, as suggested by Christos.
 1.688  01-Oct-2004  thorpej Break out the wedge discovery methods into true modules, and add some
infrastructure that allows new ones to be added. The discovery methods
are prioritized, and only one can exist at a given priority.

The DKWEDGE_METHOD_GPT option causes GPT support to be included. GPT is
at priority 0; we prefer GPT above all others.
 1.687  26-Sep-2004  dyoung Add rtw(4).
 1.686  25-Sep-2004  thorpej Work-in-progress implementation of "wedges", a new way to represent
partitions in the NetBSD kernel. See discussion on tech-kern for details.
 1.685  21-Sep-2004  thorpej Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*()
calls to ensure that the vnode lock state is as expected when the VOP
call is made. Modify vnode_if.src to set the expected state according
to the documenting lock table for each VOP. Modify vnode_if.sh to emit
the checks.

Notes:
- The checks are only performed if the vnode has the VLOCKSWORK bit
set. Some file systems (e.g. specfs) don't even bother with vnode
locks, so of course the checks will fail.
- We can't actually run with VNODE_LOCKDEBUG because there are so many
vnode locking problems, not the least of which is the "use SHARED for
VOP_READ()" issue, which screws things up for the entire call chain.

Inspired by similar changes in OpenBSD, but implemented differently.
 1.684  14-Sep-2004  jdolecek remove COMPAT_AOUT
 1.683  26-Aug-2004  jkunz Import STI wscons(4) driver from OpenBSD and add new driver for PS/2
keyboard / mouse pots of LASI.
 1.682  26-Aug-2004  itohy Workbit NinjaSCSI-32 PCI/CardBus SCSI driver (njs)
 1.681  18-Aug-2004  drochner add a "drvctl" pseudo-device as userland interface to the autoconf
rescan() and detach() functions
 1.680  12-Aug-2004  thorpej Don't assume wdc-specific ATA / ATAPI code should be brought in if atabus
or atapibus are configured; use a separate wdc_common attribute to indicate
that the shared wdc code is also present.
 1.679  07-Jul-2004  mycroft Move spc into the MI area.
 1.678  01-Jul-2004  yamt defparam HZ.
 1.677  22-Jun-2004  itojun PF from openbsd 3.5. missing features:
- pfsync (due to protocol # assignment issues)
- carp (not really a PF portion, but thought important to mention)
- PF and ALTQ are mutually-exclusive. this will be sorted out when
kjc@csl.sony.co.jp updates ALTQ and PF (and API inbetween)

reviewed by matt, christos, perry

torture-test is very welcomed.
 1.676  18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.675  29-May-2004  sekiya Link rtl81x9.c when re* is defined (hi, Toshi!)
 1.674  28-May-2004  thorpej Add common routines for SATA controllers. Right now, we have sata_speed(),
which reports the speed encoded in the SStatus register.
 1.673  28-May-2004  toshii Add re(4) RealTek 8139C+/8169/8169S/8110S PCI ethernet adapter driver,
from FreeBSD.
I haven't tested this code very well, but it seems to work fairly well
for me.
 1.672  27-May-2004  christos Unix 98 pty multiplexor device; original code from OpenBSD.
 1.671  03-May-2004  petrov Revert default uvm counters, rename UVMMAP_COUNTERS to UVMMAP_NOCOUNTERS.
 1.670  01-May-2004  petrov Replace uvm counters with evcnt, initialize them through __link_set (from Matt Thomas),
disable counters by default and add configuration option UVMMAP_COUNTERS.
 1.669  01-May-2004  thorpej defflag COM_PXA2X0.
 1.668  01-May-2004  thorpej Rename the COM16650 option to COM_16650, for consistency with other
com variant options.
 1.667  21-Apr-2004  drochner defopt COMPAT_20
 1.666  17-Apr-2004  cl add block device driver
 1.665  09-Apr-2004  atatat s/SYSCTL_USE_DESCR/SYSCTL_INCLUDE_DESCR/g since the latter name seems
more popular. Or at least, less unpopular.
 1.664  09-Apr-2004  atatat Invert the meaning of SYSCTL_NO_DESCR by calling it SYSCTL_USE_DESCR
instead. This makes it an option to include the descriptions, as
opposed to an option to *exclude* them.
 1.663  08-Apr-2004  atatat Create opt_sysctl.h which will hold sysctl related options. I suspect
most of these won't be used (well, the description related one will
be), but it's good to formalize things.
 1.662  28-Mar-2004  matt branches: 1.662.2;
Make kernel continuations optional for now.
 1.661  20-Mar-2004  jonathan Pull in sys/kern_kcont. Size is 1.4k, hardly worth making an option
(though it could be made so, if something breaks on platforms without
generic soft-ints).
 1.660  14-Mar-2004  bjh21 pckbc_machdep_cnattach has been replaced by pckbport_machdep_cnattach, so the
former attribute can be removed.
 1.659  13-Mar-2004  bjh21 Add pckbport attribute, and apply it to pckbc. Somehow I missed this file
in the main commit of pckbport. *blush*
 1.658  12-Mar-2004  jkunz Import MI part of new Intel i82596 Ethernet driver.
 1.657  17-Feb-2004  rtr split off the evcnt code (which is unrelated to autoconfiguration)
into a separate file

approved by simonb@
 1.656  14-Feb-2004  junyoung device<tab>
attach<tab>
file<tab>
 1.655  14-Feb-2004  bjh21 Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present. This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

The devices with this attribute at the moment are pc(4) on i386 and bebox, and
pckbc on sparc, where pckbc_machdep_cnattach() mysteriously returns 0 rather
than ENXIO.
 1.654  13-Feb-2004  wiz RealTek -> Realtek.
 1.653  03-Feb-2004  tsarna an(4) needs wlan support
 1.652  29-Jan-2004  tsarna uuidgen(2) syscall. Originally from FreeBSD, ported by John Franklin in
PR#23470, with minor updates by me. This is only the syscall support
from that PR, for now.

Changes: port over fix from FreeBSD for multicast address generation.
Changed bcopy to memcpy. For now, #ifdef notyet the portions of
kern_uuid.c that are meant to be used by (currently nonexistent) other
things in the kernel. Added syscall to COMPAT_FREEBSD as well, though
that's currently not useful, as any program new enough to use this call
also uses other syscalls we don't (yet) emulate.
 1.651  20-Jan-2004  jdolecek cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
is included there too; dev/ic/lpt.c is not included if ppbus is
configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
glue moved to conf/files and dev/pci/files.pci respectively; remove
device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
glue
 1.650  17-Jan-2004  bjh21 Simple code to provide a console bell through a generic audio device, for
systems that don't have a dedicated feeper. It's up to MD code to enable
this by having the "audiobell" attribute and calling audiobell() at the
appropriate moment.

Code for making noise in the kernel from Richard Earnshaw. Simple synthesizer
design from the RISC OS Programmer's Reference manual.
 1.649  30-Dec-2003  pk Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms. Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
 1.648  12-Dec-2003  scw Pull in netinet/ip_ecn.c if FAST_IPSEC is defined.
 1.647  10-Dec-2003  hannken The file system snapshot pseudo driver.

Uses a hook in spec_strategy() to save data written from a mounted
file system to its block device and a hook in dounmount().

Not enabled by default in any kernel config.

Approved by: Frank van der Linden <fvdl@netbsd.org>
 1.646  07-Dec-2003  dyoung Add the RSSI-based rate-adaptation library to the build.
 1.645  04-Dec-2003  atatat Dynamic sysctl.

Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded. Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment. I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.
 1.644  16-Nov-2003  tls Oops. I missed this file in my previous commit. Add inclusion of
"files.skipjack" now that Skipjack has been moved from
sys/opencrypto to crypto/skipjack.
 1.643  29-Oct-2003  tsutsui Add MI driver for mc146818 based time-of-day clock with todr(9) support.
 1.642  17-Oct-2003  cdi Introduce null console. This pseudo device acts as a normal console with the
exception that it discards any output, and is useful for booting the kernel
on headless boxes.
 1.641  13-Oct-2003  dyoung Complete replacement of the old 802.11 layer with the new.
 1.640  10-Oct-2003  jdolecek move MI majors config file from sys/dev/majors to sys/conf/majors
 1.639  10-Oct-2003  grog Include Vinum.
 1.638  08-Oct-2003  bouyer Following Matt Thomas's request, rename ata attribute to ata_hl, and
wdc_base to ata. We can now have
atabus* at ata?
in kernel config files.
 1.637  08-Oct-2003  bouyer Make the ATA mid-layer appears as atabus, as proposed in
http://mail-index.netbsd.org/tech-kern/2003/09/25/0006.html
This adds a device (atabus) between IDE controllers and wd or atapibus, to
have each ATA channel show up in the device tree. Later there will be atabus
devices in /dev, so that we can do IOCTL on them.
Each atabus has its own kernel thread, to handle operations that needs polling,
e.g. reset and others.

Device probing on each bus it defered to the atabus thread creation.
This allows to do the reset and basic device probes in parallel, which reduce
boot time on systems with several pciide controllers.
 1.636  05-Oct-2003  jdolecek Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
 1.635  30-Sep-2003  thorpej New generic I2C framework. Supports bit-bang and "intelligent" I2C
interface controllers (of varying intelligence levels).

Contributed by Wasabi Systems, Inc. Primarily written by Steve Woodford,
with some modification by me.
 1.634  25-Sep-2003  pooka autoconf goop for iavc
 1.633  22-Sep-2003  matt Make COMPAT_xx imply all later COMPAT_yy. (COMPAT_09 implies all whereas
COMPAT_14 just implies COMPAT_1[56]). This means COMPAT_xy implies NetBSD
compatibility for NetBSD x.y OR LATER.
 1.632  12-Sep-2003  itojun merge netipsec/key* into netkey/key*. no need for both.
change confusing filename
 1.631  26-Aug-2003  thorpej Duh, remove clock_subr attribute; I am blind today.
 1.630  26-Aug-2003  thorpej Slight cosmetic tweak to last.
 1.629  26-Aug-2003  thorpej Define an attribute for clock_subr.c
 1.628  26-Aug-2003  thorpej Some slight cleanup.
 1.627  24-Aug-2003  thorpej Move the opencrypto defpseudo into files.opencrypto.
 1.626  24-Aug-2003  thorpej Make opencrypto explicitly depend on the "des" attribute. Also pull
in zlib.c explicitly if opencrypto is included.
 1.625  08-Aug-2003  christos exec_elf_common.c is no more.
 1.624  28-Jul-2003  jonathan Clean up dependencies between opencrypto framework and sys/crypto,
by making the sys/crypto transforms depend on
(per-transform-config-keyword|opencrypto)

Thanks to Martin Husemann for double-checking the changes.
 1.623  27-Jul-2003  thorpej Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
 1.622  26-Jul-2003  martin Disable opencrypto for now - the previous commit obviously has not even been
test compiled on a single arch.
 1.621  25-Jul-2003  jonathan Commit initial NetBSD port of the OpenCrypto Framework (OCF). This
code is derived from Sam Leffler's FreeBSD port of OCF, which is in
turn a port of Angelos Keromytis's OpenBSD work.
Credit to Sam and Angelos, any blame for the NetBSD port to me.
 1.620  25-Jul-2003  itojun add AH/ESP algorithms: hmac-ripemd160 (AH), AES XCBC MAC (AH),
AES counter mode (ESP)
 1.619  22-Jul-2003  itojun add hmac-sha2 support. various cleanups (like avoid hardcoding '16').
from kame
 1.618  21-Jul-2003  thorpej Include sysmon earlier.
 1.617  06-Jul-2003  dyoung Add driver atw for PCI/Mini-PCI/Cardbus 802.11b NICs based on the
ADMtek ADM8211. Read the man page for bugs and other outstanding
issues.
 1.616  03-Jul-2003  enami defparam SOMAXKVA.
 1.615  02-Jun-2003  uwe branches: 1.615.2;
igsfb needs-flag.
 1.614  02-Jun-2003  gmcgarry Add gpibdev attribute
 1.613  26-May-2003  martin Add KGDB_DEVPORT, for machines where KGDB_DEVADDR describes (for example)
a dual uart and we need a port discriminator to decide where to attach
kgdb.
 1.612  14-May-2003  itojun no need to compile net_osdep.c. simplify net_osdep.h conditions (remove
bsdi/freebsd/openbsd stuff)
 1.611  13-May-2003  thorpej Add support for the user-generated command interface and event logging
required by the ICP-Vortex management tools. Many thanks to Achim Leubner
at ICP-Vortex for a few bug fixes and for testing.
 1.610  24-Apr-2003  ragge Include kern_ksyms if ksyms | ddb | lkm. Never include db_elf.c.
 1.609  19-Apr-2003  fvdl Changes for newer ahc driver, and ahd driver (the latter is a placeholder
until it's actually added, soon).
 1.608  16-Apr-2003  thorpej Device driver for the LSI Logic Fusion-MPT based SCSI and Fibre Channel
adapters. Currently supports:

* LSI 53c1030 Ultra320 SCSI
* LSI FC909, FC909A, FC919, and FC929 Fibre Channel

Ported from the FreeBSD "mpt" driver, written by Greg Ansley. Thanks
to Frank van der Linden for testing and some bug finding.

This work was sponsored by Wasabi Systems, Inc.
 1.607  11-Apr-2003  drochner Rename the IPR_VJ option into IRIP_VJ (as irip(4) told all the time),
create an opt_ header and make the dependency on slcompress.c more exact.
(OK by martin)
 1.606  10-Apr-2003  christos Bye Bye UCONSOLE
 1.605  06-Apr-2003  tsutsui Add MI NCR/Symbios 53c700 SCSI driver.
This "oosiop" driver was originally written by Shuichiro URATA
for arc port, and then it was modified by me to make it work
also on hp700.

This driver has been tested on my NEC Express5800/240 with 53c700-66
for several months, and also tested on HP9000 735/125 with 53c700
(though current hp700 port has been broken since SA merge).
Both sync transfer and disconnect/reselect work fine,
but tagged queuing is not implemented yet.
 1.604  16-Mar-2003  jdolecek union fs moved from miscfs/union to fs/union
omission pointed out by Martti Kuparinen
 1.603  27-Feb-2003  perseant Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
 1.602  26-Feb-2003  matt Add MBUFTRACE kernel option.
Do a little mbuf rework while here. Change all uses of MGET*(*, M_WAIT, *)
to m_get*(M_WAIT, *). These are not performance critical and making them
call m_get saves considerable space. Add m_clget analogue of MCLGET and
make corresponding change for M_WAIT uses.
Modify netinet, gem, fxp, tulip, nfs to support MBUFTRACE.
Begin to change netstat to use sysctl.
 1.601  20-Feb-2003  atatat Introduce "top down" memory management for mmap()ed allocations. This
means that the dynamic linker gets mapped in at the top of available
user virtual memory (typically just below the stack), shared libraries
get mapped downwards from that point, and calls to mmap() that don't
specify a preferred address will get mapped in below those.

This means that the heap and the mmap()ed allocations will grow
towards each other, allowing one or the other to grow larger than
before. Previously, the heap was limited to MAXDSIZ by the placement
of the dynamic linker (and the process's rlimits) and the space
available to mmap was hobbled by this reservation.

This is currently only enabled via an *option* for the i386 platform
(though other platforms are expected to follow). Add "options
USE_TOPDOWN_VM" to your kernel config file, rerun config, and rebuild
your kernel to take advantage of this.

Note that the pmap_prefer() interface has not yet been modified to
play nicely with this, so those platforms require a bit more work
(most notably the sparc) before they can use this new memory
arrangement.

This change also introduces a VM_DEFAULT_ADDRESS() macro that picks
the appropriate default address based on the size of the allocation or
the size of the process's text segment accordingly. Several drivers
and the SYSV SHM address assignment were changed to use this instead
of each one picking their own "default".
 1.600  18-Feb-2003  jdolecek need to include netsmb/files.netsmb
 1.599  18-Feb-2003  jdolecek move netsmb-specific entries to netsmb/files.netsmb
g/c options SMB and opt_smb.h
rename the pseudo device to nsmb, and use needs-flag instead needs-count,
adjust nsmbattach() appropriately
replace SMB_CHECKMINOR() with explicit code in smb_dev.c, to improve readability
 1.598  10-Feb-2003  atatat Sorry. That's not for public consumption yet.
 1.597  10-Feb-2003  atatat Add a kern.dump_on_panic sysctl variable (and documentation, and a
kernel config option) that controls whether the kernel dumps to the
dump device on panic. Dumps can still be forced via the ``sync''
command from ddb. Defaults to ``on''.
 1.596  05-Feb-2003  matt Add ${EXTRA_OBJ} so that pre-compiled .o's can be linked into the kernel.
 1.595  04-Feb-2003  thorpej New callout implementation. This is based on callwheel implementation
done by Artur Grabowski and Thomas Nordin for OpenBSD, which is more
efficient in several ways than the callwheel implementation that it is
replacing. It has been adapted to our pre-existing callout API, and
also provides the slightly more efficient (and much more intuitive)
API (adapted to the callout_*() naming scheme) that the OpenBSD version
provides.

Among other things, this shaves a bunch of cycles off rescheduling-in-
the-future a callout which is already scheduled, which the common case
for TCP timers (notably REXMT and KEEP).

The API has been simplified a bit, as well. The (very confusing to
a good many people) "ACTIVE" state for callouts has gone away. There
is now only "PENDING" (scheduled to fire in the future) and "EXPIRED"
(has fired, and the function called).

Kernel version bump not done; we'll ride the 1.6N bump that happened
with the malloc(9) change.
 1.594  03-Feb-2003  matt Allow "the forcing of root on md0a to single user" to be overriden by using
options MEMORY_RBFLAGS=0 (XXX forcing to single user needs to die).
 1.593  31-Jan-2003  tsutsui Changes to allow machines which don't use text mode at the boot time
to use generic VGA driver(s):
- Allow VGA drivers to use wsfont instead of builtin font.
- Add vga_reset() function, which will be called from MD consinit(),
to put VGA into text mode. This function is enabled by options VGA_RESET.
 1.592  20-Jan-2003  christos add support for p1003.1b semaphores. From FreeBSD.
 1.591  20-Jan-2003  soren Remove unintentional change from previous.
 1.590  20-Jan-2003  soren Attachment for the HD44780 display and keypad on the front of Cobalt machines.
 1.589  18-Jan-2003  christos add compat_ossaudio
 1.588  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.587  26-Dec-2002  jdolecek move msdosfs code from sys/msdosfs to sys/fs/msdosfs
 1.586  23-Dec-2002  jdolecek move cd9660 filesystem code from sys/isofs/cd9660 to sys/fs/cd9660
 1.585  23-Dec-2002  jdolecek move NTFS code from sys/ntfs to sys/fs/ntfs
 1.584  23-Dec-2002  jdolecek move filecorefs code from sys/filecorefs to sys/fs/filecorefs
 1.583  23-Dec-2002  jdolecek move adosfs files from sys/adosfs to sys/fs/adosfs
 1.582  04-Dec-2002  haya New Feature: add pseudo device for IEEE 1394 isochronous stream and
isochronous reception routine for IEEE 1394 OHCI (fwohci). The
transmission part is under construction.

The minimum configuration options for this feature are:

# IEEE 1394 (i.LINK)
fwohci* at pci? dev ? function ?
pseudo-device fwiso 1
 1.581  19-Nov-2002  simonb Add COMPAT_15, mips need this.
 1.580  12-Nov-2002  manu The kernel now builds with COMPAT_DARWIN.
 1.579  07-Nov-2002  martin Add a driver for the Myson Technology MTD803 3-in-1 Fast Ethernet Controller,
provided by Peter Bex in PR 18675.
 1.578  05-Nov-2002  mrg - do the COMPAT_16 dance in sysctl_diskstats() for the where == NULL case
as well. pointed out by enami@.
- defflag COMPAT_16.
 1.577  04-Nov-2002  itohy 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.
 1.576  29-Oct-2002  blymn Added support for fingerprinted executables aka verified exec
 1.575  25-Oct-2002  leo Fritz!PCI v2.0 ISDN driver from FreeBSD.
 1.574  23-Oct-2002  jdolecek 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
 1.573  18-Oct-2002  junyoung 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.
 1.572  15-Oct-2002  junyoung 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.
 1.571  15-Oct-2002  junyoung 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.
 1.570  11-Oct-2002  thorpej * 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.
 1.569  11-Oct-2002  thorpej * 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.
 1.568  10-Oct-2002  thorpej Move netns config defns to netns/files.netns.
 1.567  10-Oct-2002  thorpej Move netnatm config defns to netnatm/files.netnatm.
 1.566  10-Oct-2002  thorpej Move netiso config defns to netiso/files.netiso.
 1.565  10-Oct-2002  thorpej 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.
 1.564  10-Oct-2002  thorpej Move netccitt config defns to netccitt/files.netccitt.
 1.563  10-Oct-2002  thorpej Oops, missed include in the last.
 1.562  10-Oct-2002  thorpej Move netatalk config defns to netatalk/files.netatalk.
 1.561  10-Oct-2002  thorpej Move IR and Bluetooth config defns missed in previous commit.
 1.560  10-Oct-2002  thorpej Move IPKDB config defns to ipkdb/files.ipkdb.
 1.559  10-Oct-2002  thorpej Move IR and Bluetooth config defns to their own files.
 1.558  09-Oct-2002  thorpej 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.
 1.557  05-Oct-2002  tsutsui 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.
 1.556  04-Oct-2002  elric cgd should be able to work with or without ipsec.
 1.555  04-Oct-2002  elric add in the cgd.
 1.554  04-Oct-2002  tsutsui - 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.
 1.553  30-Sep-2002  onoe 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.
 1.552  25-Sep-2002  thorpej Garbage-collect the old rmap code.
 1.551  24-Sep-2002  uwe 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!
 1.550  06-Sep-2002  gehenna 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.
 1.549  28-Aug-2002  gmcgarry add kern_ras.c
 1.548  24-Aug-2002  augustss Add btbus, an attribute for Bluetooth.
 1.547  21-Aug-2002  thorpej 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.
 1.546  11-Aug-2002  thorpej 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.
 1.545  11-Aug-2002  isaki 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
 1.544  11-Aug-2002  drochner pull in wi_hostap.c to make the kernel link again
 1.543  07-Aug-2002  briggs 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.
 1.542  02-Aug-2002  thorpej Add dmover(9) glue.
 1.541  07-Jul-2002  drochner put the "VGA_CONSOLE_SCREENTYPE" parameter into opt_vga.h
 1.540  02-Jul-2002  yamt add KSTACK_CHECK_MAGIC. discussed on tech-kern.
 1.539  28-Jun-2002  thorpej 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.
 1.538  28-Jun-2002  drochner whitespace
 1.537  27-Jun-2002  junyoung - 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.
 1.536  24-Jun-2002  itojun 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.
 1.535  18-Jun-2002  thorpej Only build kern_systrace.c if the SYSTRACE option is used.
 1.534  17-Jun-2002  christos systrace support.
 1.533  08-Jun-2002  itojun 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.
 1.532  06-Jun-2002  wrstuden defparam BPF_BUFSIZE
 1.531  22-May-2002  simonb Fix space/tab indentation nit.
 1.530  21-May-2002  augustss branches: 1.530.2;
Rename a cpc device.
 1.529  21-May-2002  augustss Add stuff for the CPC700.
 1.528  18-May-2002  matt Add lfmiop (LSILogic Fusion-MPT I/O Processor) placeholders for
driver to added latter.
 1.527  09-May-2002  thorpej branches: 1.527.2;
Move code shared by procfs and the kernel proper out of procfs and
into the kernel proper (renaming functions from procfs_* to process_*).
 1.526  03-May-2002  thorpej Revert revision 1.525.
 1.525  03-May-2002  eeh Provide _LP64 definition if we are generating LP64 binaries.
 1.524  02-May-2002  thorpej 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.
 1.523  26-Apr-2002  ad Add a driver for Adaptec FSA RAID controllers, as often found in Dell
servers. Based on the FreeBSD/OpenBSD versions.
 1.522  23-Apr-2002  manu Added IRIX /dev/usema and dev/usemaclone (void driver for now, will be
filled later)
 1.521  22-Apr-2002  ad 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.
 1.520  22-Apr-2002  augustss Add spic.
 1.519  22-Apr-2002  augustss Rename the audio "bus" attribute audiobus to avoid confusion with audio
device.
 1.518  21-Apr-2002  bouyer 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.
 1.517  18-Apr-2002  bouyer defflag SIOP_SYMLED.
 1.516  16-Apr-2002  thorpej 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.
 1.515  16-Apr-2002  thorpej Move ALTQ configuration definitions into altq/files.altq
 1.514  16-Apr-2002  thorpej Move sysmon configuration definitions to dev/sysmon/files.sysmon.
 1.513  16-Apr-2002  thorpej * 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.
 1.512  16-Apr-2002  thorpej Centralize the RAIDframe config definitions.
 1.511  07-Apr-2002  martin 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
 1.510  02-Apr-2002  jmc Provide a definition for sbp2
 1.509  02-Apr-2002  lukem 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...
 1.508  30-Mar-2002  uwe 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?)
 1.507  28-Mar-2002  pk `mk48txx' no longer needs a flag.
 1.506  25-Mar-2002  martin 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.
 1.505  24-Mar-2002  martin 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.
 1.504  24-Mar-2002  manu Aded missing irix_keme pseudodevice declaration
 1.503  23-Mar-2002  jdolecek rename EXEC_ELF_CATCHALL to EXEC_ELF_NOTELESS
 1.502  16-Mar-2002  martin 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).
 1.501  10-Mar-2002  lukem * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
 1.500  09-Mar-2002  kent branches: 1.500.2;
Add aurateconv attribute.
 1.499  04-Mar-2002  sommerfeld The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.
 1.498  27-Feb-2002  jmc Add definition for ieee1212/p1212
 1.497  27-Feb-2002  christos Add mm.c
 1.496  21-Feb-2002  mjacob Add ISP_FW_CRASH_DUMP option for isp.
 1.495  11-Feb-2002  jdolecek Switch default for pipes to the faster John S. Dyson's implementation.
Old, socketpair-based ones are available with option PIPE_SOCKETPAIR.
 1.494  11-Feb-2002  jdolecek use opt_pipe.h for PIPE_SOCKETPAIR, add PIPE_NODIRECT there too
 1.493  02-Feb-2002  jdolecek Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
 1.492  27-Jan-2002  jdolecek add defflag PIPE_SOCKETPAIR
 1.491  15-Jan-2002  lukem order dev/clockctl.c appropriately
 1.490  09-Jan-2002  deberg add smbfs files
 1.489  07-Jan-2002  drochner "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.
 1.488  04-Jan-2002  deberg netsmb
 1.487  01-Jan-2002  augustss Add support for radio cards. Written by Maxim Tsyplakov and Vladimir Popov
for OpenBSD, from where it was imported.
 1.486  17-Dec-2001  atatat Provide hooks to include the config file(s) in the kernel binary.
 1.485  16-Dec-2001  bjh21 if_media support for the DP83905 AT/LANTIC (a souped-up DP8390).
 1.484  15-Dec-2001  bjh21 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.
 1.483  10-Dec-2001  uwe mk48txx needs-flag to allow sparc's clock.c to be compiled without
mostek support that pulls in a lot of other stuff too.
 1.482  09-Dec-2001  thorpej Build core_elf32.c if EXEC_ELF32. Build core_elf64.c if EXEC_ELF64.
 1.481  08-Dec-2001  thorpej 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).
 1.480  05-Dec-2001  augustss Break out SIR framing to its own file.
 1.479  05-Dec-2001  augustss Make the right defaults for kbdmux and mux locators.
 1.478  03-Dec-2001  augustss Add irframetty pseudo device for IrDA frames over tty.
 1.477  02-Dec-2001  augustss Add irbus (IrDA) and cir (Consumer Ir) and related file directives.
 1.476  28-Nov-2001  christos and it is TCP_COMPAT_42 not CP_COMPAT_42, I am sharpening my bricks.
 1.475  28-Nov-2001  christos it is MROUTING, not ROUTING...
 1.474  28-Nov-2001  lukem - 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
 1.473  28-Nov-2001  lukem add some empty comment lines to make this more readable (IMHO)
 1.472  27-Nov-2001  thorpej defopt COMPAT_IRIX
 1.471  26-Nov-2001  yamt move dev/isa/cs89x0{.c,{var,reg}.h} into dev/ic
and split isadma parts into /dev/isa/cs89x0isa*.
 1.470  20-Nov-2001  lukem - 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
 1.469  20-Nov-2001  lukem - 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
 1.468  02-Nov-2001  atatat The cloning devices only needs-flag, not needs-count
 1.467  13-Oct-2001  augustss branches: 1.467.2;
Add kbdmux locator to wsdisplays.
 1.466  04-Oct-2001  eeh Add kern/subr_prop.c.
 1.465  03-Oct-2001  mrg 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.
 1.464  28-Sep-2001  thorpej Define an "acpibus" attribute, to which "acpi" can attach.
 1.463  18-Sep-2001  onoe 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.
 1.462  16-Sep-2001  manu Added the clockctl pseudodevice driver
 1.461  16-Sep-2001  eeh Driver for Sun GEM gigabit ethernet, Sun ERI 10/100, and Apple GMAC.
 1.460  15-Sep-2001  chs 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.
 1.459  13-Sep-2001  enami Defopt CALLWHEEL_STATS.
 1.458  13-Sep-2001  enami Wrap long lines.
 1.457  10-Sep-2001  bjh21 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.
 1.456  09-Sep-2001  tls 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.
 1.455  01-Sep-2001  thorpej branches: 1.455.2;
Disable all of the RF_ASSERT()s by default, enabling them if the
RAID_DIAGNOSTIC option is specified in the kernel configuration
file.
 1.454  17-Aug-2001  thorpej 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.
 1.453  04-Aug-2001  enami MII access routines for ASIX AX88190.
 1.452  14-Jul-2001  christos add macho glue
 1.451  08-Jul-2001  abs branches: 1.451.2;
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.
 1.450  02-Jul-2001  uch add MEMORY_DISK_DYNAMIC option. if enable MEMORY_DISK_DYNAMIC, file
system image's address and size are setted by md_root_setconf().
 1.449  01-Jul-2001  gmcgarry 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>.
 1.448  19-Jun-2001  jdolecek 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.
 1.447  16-Jun-2001  jdolecek 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.
 1.446  13-Jun-2001  simonb 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.
 1.445  03-Jun-2001  tsutsui 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.
 1.444  02-Jun-2001  thorpej 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.
 1.443  30-May-2001  itojun build faith(4) only if INET and INET6 are specified.
From: joda@pdc.kth.se (Johan Danielsson) on tech-net
 1.442  26-May-2001  sommerfeld 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.
 1.441  18-May-2001  matt defopt KGDB
 1.440  13-May-2001  jmc Add locator support for fwbus's
 1.439  11-May-2001  matt Add MI cprofb (used on shark and netwinder)
 1.438  06-May-2001  ichiro 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 .
 1.437  02-May-2001  minoura Software codec for Oki MSM6258 voice synthesizer.
Recording untested.
 1.436  30-Apr-2001  tsutsui 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
 1.435  29-Apr-2001  martin 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.
 1.434  20-Apr-2001  fredette Add entries for the NatSemi MM58167 time-of-day clock chip
and the chipset used in the Sun2 "sc" SCSI adapters.
 1.433  11-Apr-2001  thorpej Add configuration glue for forthcoming bridge code.
 1.432  31-Mar-2001  jdolecek 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
 1.431  29-Mar-2001  fvdl defopt NAMECACHE_ENTER_REVERSE
 1.430  24-Mar-2001  martin 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.
 1.429  23-Mar-2001  jdolecek Split we(4) driver to bus independant and ISA-specific parts, in preparation
for MCA attachment.
 1.428  08-Mar-2001  thorpej advlib.c and advmcode.c should be built for all adv, not
just adv_pci. From takashi.yamamoto@bigfoot.com, kern/12341.
 1.427  27-Feb-2001  eeh branches: 1.427.2;
Combine SVR4 options in one file.
 1.426  24-Feb-2001  lukem whitespace police
 1.425  20-Feb-2001  martin 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
 1.424  14-Feb-2001  jdolecek Add the code to recode filenames to utf8 for NTFS.
 1.423  13-Feb-2001  thorpej Oops, `mii' attribute has to go onto the device decl.
 1.422  13-Feb-2001  thorpej Config attribute for the DL10019 MII support.
 1.421  08-Feb-2001  itojun move udp6_output() to separate file. (sync better with kame)
 1.420  05-Feb-2001  tv 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>.
 1.419  04-Feb-2001  ad Add a driver for the Mylex DAC960 family (including DEC SWXCR).
 1.418  02-Feb-2001  tv 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)
 1.417  21-Jan-2001  takemura Rasops supports 4bit depth.
 1.416  17-Jan-2001  fvdl Add procfs_linux.c
 1.415  05-Jan-2001  martin 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.
 1.414  29-Dec-2000  thorpej 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.
 1.413  28-Dec-2000  jdolecek 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
 1.412  24-Dec-2000  augustss 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.
 1.411  14-Dec-2000  thorpej Change the way ALTQ is enabled in the kernel, as there is an
annoying include file name clash.
 1.410  14-Dec-2000  thorpej Add ALTQ glue.
 1.409  11-Dec-2000  onoe 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.
 1.408  05-Dec-2000  drochner 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
 1.407  02-Dec-2000  scw defopt COMPAT_AOUT_M68K
 1.406  02-Dec-2000  fvdl defopt AHC_NO_TAGS. Remove unused AHC_* options.
 1.405  27-Nov-2000  chs Initial integration of the Unified Buffer Cache project.
 1.404  26-Nov-2000  ad lsu -> ld, by popular request.
 1.403  15-Nov-2000  thorpej change a couple of needs-count to needs-flag (which is all they need).
 1.402  14-Nov-2000  matt Add a fwlynx device. Move the file for fwohci to files.ieee1394
 1.401  08-Nov-2000  eeh Add console magic sequence framework.
 1.400  08-Nov-2000  ad Move lsu stuff to more logical locations, and push queueing into the lsu
driver.
 1.399  05-Nov-2000  onoe 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.
 1.398  05-Nov-2000  thorpej Update for sysmon splitting, and lm carries the sysmon_envsys
attribute.
 1.397  19-Oct-2000  ad ca -> lsu
 1.396  02-Oct-2000  itojun add ESP rijndael logic. yet to be usable (until algorithm # is assigned)
 1.395  27-Sep-2000  thorpej Add vlan(4) glue.
 1.394  24-Sep-2000  jdolecek defopt SHMMAXPGS, SEMMNI, SEMMNS, SEMUME and SEMMNU
 1.393  23-Sep-2000  sommerfeld 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.
 1.392  21-Sep-2000  eeh Support attachments to `com' needed for the Sun Keyboard/Mouse line disciplines.
 1.391  19-Sep-2000  bjh21 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.
 1.390  18-Sep-2000  itojun do not compile files under sys/crypto, which we no longer are using.
 1.389  18-Sep-2000  bjh21 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.
 1.388  13-Sep-2000  thorpej defopt VNODE_OP_NOINLINE.
 1.387  09-Sep-2000  jdolecek needs-count is no longer needed for pty, needs-flag is sufficient
 1.386  17-Aug-2000  bjh21 "upc" uses "wdc", so put the former after the latter.
 1.385  16-Aug-2000  bjh21 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).
 1.384  12-Aug-2000  tv - Conditionalize ip_gre.c on both "inet" and "gre".
- Comment out use of net_osdep.c. This file is currently completely #if 0'd.
 1.383  11-Aug-2000  thorpej Declare the `depca' device here, now that it can attach to
multiple busses.
 1.382  07-Aug-2000  matt Add COMPAT_15 to opt_compat_netbsd.h
 1.381  03-Aug-2000  jeffs 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.
 1.380  01-Aug-2000  mjacob add ISP_LOGDEFAULT for isp driver options
 1.379  30-Jul-2000  briggs 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.
 1.378  25-Jul-2000  pk Define mk48txx and intersil7170
 1.377  05-Jul-2000  mjacob remove obsolete Qlogic isp options
 1.376  04-Jul-2000  onoe 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.
 1.375  24-Jun-2000  thorpej 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.
 1.374  22-Jun-2000  fvdl Adapt for ffs_softdep.c move.
 1.373  14-Jun-2000  thorpej branches: 1.373.2;
Add IPsec ESP and crypto files.
 1.372  06-Jun-2000  soren defopt SYSCALL_DEBUG.
 1.371  04-Jun-2000  mycroft Add stubs for PE/COFF.
 1.370  03-Jun-2000  itojun 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.
 1.369  30-May-2000  matt Add IEEE 1394 OHCI node and IEEE 1394 bus. Just placeholders for now.
 1.368  15-May-2000  bouyer branches: 1.368.2;
Update for siop split.
 1.367  11-May-2000  jdolecek 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
 1.366  02-May-2000  augustss Make am7930 driver machine independent. PR 10032 from Gregory McGarry.
 1.365  25-Apr-2000  itojun ipip is needs-count, not needs-flags. evidence: manpage and all
sys/arch/*/conf/GENERIC has count.
 1.364  21-Apr-2000  bouyer 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'.
 1.363  20-Apr-2000  thorpej 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.
 1.362  19-Apr-2000  haya 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.
 1.361  19-Apr-2000  itojun 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).
 1.360  10-Apr-2000  haya 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.
 1.359  25-Mar-2000  mycroft Move esp declaration to conf/files.
 1.358  22-Mar-2000  ws Make IPKDB working again.
Add support for i386 debugging and pci-based ne2000 boards.
 1.357  22-Mar-2000  soren Remove BIOS_VERBOSE, which does not exist.
 1.356  20-Mar-2000  pk Move `nca' declaration to `conf/files'.
 1.355  16-Mar-2000  ad Driver for Compaq array controllers and disks (cac(4)/ca(4)).
 1.354  15-Mar-2000  fvdl Add new files for common VL/EISA ahc code.
 1.353  26-Feb-2000  oster 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.
 1.352  25-Feb-2000  drochner lm needs-flag
 1.351  25-Feb-2000  groo 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.
 1.350  19-Feb-2000  itojun sort filenames, mainly to sort ip6/ipsec entries.
requested by: matthew green <mrg@eterna.com.au>
 1.349  14-Feb-2000  thorpej Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
 1.348  11-Feb-2000  thorpej 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.
 1.347  31-Jan-2000  itojun 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
 1.346  26-Jan-2000  thorpej Fix an oversight in the AIC-7xxx SEEPROM split.
 1.345  26-Jan-2000  thorpej Split the code that reads the SEEPROM into its own file.
 1.344  20-Jan-2000  wrstuden Add overlay to kernel configs.
 1.343  20-Jan-2000  mjacob add a (currently unused) option reference to isp_target mode
 1.342  17-Jan-2000  matt defopt COMPAT_VAX1K
 1.341  09-Jan-2000  oster src/sys/dev/raidframe/rf_cpuutils.c is no longer needed. Remove it
from the list.
 1.340  07-Jan-2000  msaitoh defopt EXEC_COFF
 1.339  04-Jan-2000  chopps move ntwoc here now that we have isa and pci attachments
 1.338  13-Dec-1999  itojun 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...)
 1.337  07-Dec-1999  itohy - softdep functions are used outside of FFS. Why?
- ffs_bswap.c is currently unused by LFS.
 1.336  03-Dec-1999  thorpej Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
 1.335  03-Dec-1999  mjacob add ISP_DISABLE_FW defopt
 1.334  22-Nov-1999  sommerfeld defopt COM_DEBUG, COM_HAYESP, and COM16650
 1.333  19-Nov-1999  thorpej Add the mii_bitbang attribute to the elink3 and tlp drivers.
 1.332  19-Nov-1999  matt defopt SOFTDEP
 1.331  17-Nov-1999  thorpej Define the `mii_bitbang' attribute, and give it to the `ex' driver.
 1.330  15-Nov-1999  fvdl Add Kirk McKusick's soft updates code to the trunk. Not enabled by
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.

Bump version number to 1.4O
 1.329  13-Nov-1999  simonb Defopt MAXUPRC.
 1.328  29-Oct-1999  matt forgot one patch. add a define for wavelan
 1.327  29-Oct-1999  matt Add a placeholder for the ISA WaveLAN card
 1.326  27-Oct-1999  augustss Add AC97 mixer/codec support. From OpenBSD and FreeBSD.
 1.325  25-Oct-1999  drochner defopt the XNS protocol (options NS), clean up the use of related
option headers / defines
 1.324  15-Oct-1999  haya branches: 1.324.2; 1.324.4;
This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
o Conform to the KNF more strictly.
o Be unified with pcmcia code as much as possible.
o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

sys/arch/i386/conf/files.i386
sys/arch/macppc/conf/files.macppc
sys/conf/files
sys/dev/ic/elinkxl.c
sys/dev/ic/elinkxlvar.h
sys/dev/ic/i82365.c
sys/dev/ic/i82365var.h
sys/dev/isa/i82365_isasubr.c
sys/dev/pci/files.pci
sys/dev/pcmcia/pcmcia.c
sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

sys/arch/i386/conf/CARDBUS
sys/arch/i386/include/rbus_machdep.h
sys/arch/i386/i386/rbus_machdep.c
sys/arch/macppc/include/rbus_machdep.h
sys/arch/macppc/macppc/rbus_machdep.c
sys/dev/cardbus/if_ex_cardbus.c
sys/dev/cardbus/Makefile.cardbusdevs
sys/dev/cardbus/cardbus.c
sys/dev/cardbus/cardbus_map.c
sys/dev/cardbus/cardbusdevs
sys/dev/cardbus/cardbusdevs.h
sys/dev/cardbus/cardbusdevs_data.h
sys/dev/cardbus/cardbusvar.h
sys/dev/cardbus/cardslot.c
sys/dev/cardbus/cardslotvar.h
sys/dev/cardbus/devlist2h.awk
sys/dev/cardbus/files.cardbus
sys/dev/cardbus/if_fxp_cardbus.c
sys/dev/cardbus/pccardcis.h
sys/dev/cardbus/rbus.c
sys/dev/cardbus/rbus.h
sys/dev/pci/pccbb.c
sys/dev/pci/pccbbreg.h
sys/dev/pci/pccbbvar.h
 1.323  14-Oct-1999  jdolecek remove the MI Debugger() added recently. It doesn't make sense in
it's current form.
make Debugger just an alias for cpu_Debugger
 1.322  13-Oct-1999  thorpej Add declaration for the Adaptec AIC-6915 64-bit 10/100 Ethernet interface.

Note: this is a placeholder right now; the driver should be ready in the
next few days.
 1.321  12-Oct-1999  jdolecek rename the MD Debugger() to cpu_Debugger()
add MI Debugger() which switches to console if wscons is used prior
to calling cpu_Debugger()
 1.320  11-Oct-1999  jdolecek remove the ipx stuff accidentaly added in rev 1.260.
 1.319  28-Sep-1999  bouyer branches: 1.319.2;
Remplace kern.shortcorename sysctl with a more flexible sheme,
core filename format, which allow to change the name of the core dump,
and to relocate it in a directory. Credits to Bill Sommerfeld for giving me
the idea :)
The default core filename format can be changed by options DEFCORENAME and/or
kern.defcorename
Create a new sysctl tree, proc, which holds per-process values (for now
the corename format, and resources limits). Process is designed by its pid
at the second level name. These values are inherited on fork, and the corename
fomat is reset to defcorename on suid/sgid exec.
Create a p_sugid() function, to take appropriate actions on suid/sgid
exec (for now set the P_SUGID flag and reset the per-proc corename).
Adjust dosetrlimit() to allow changing limits of one proc by another, with
credential controls.
 1.318  27-Sep-1999  ad Add glue for 'dpt' driver.
 1.317  25-Sep-1999  is Decouple IP mtu for ARCnet devices from interface MTU.
This is important, because for most protocols, link level fragmentation is
used, but with different default effective MTUs. (e.g.: IPv4 default MTU
is 1500 octets, IPv6 default MTU is 9072 octets).
 1.316  19-Sep-1999  ad - mc6845's cursor is disabled by punching bit 6 of cursor start register.
- Add new option (PCDISPLAY_SOFTCURSOR) that provides a large, non-blinking
cursor in software.
 1.315  12-Sep-1999  chs eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
 1.314  01-Sep-1999  thorpej This is the long-awaited "new Tulip driver", a complete, from-scratch
rewrite of the driver for the DECchip 21x4x Ethernet chips, and a variety
of clones.

Currently, the driver supports the Winbond 89C840F (this works pretty
well), and the Lite-On PNIC (e.g. NetGear PCI boards), however Lite-On
support may be broken [I may simply have a busted test board].

Eventually, support for the Macronix and ASIX chips will filter into
this driver, and then, slowly, support for the genuine DEC chips,
and maybe even the DE-425 EISA model.
 1.313  21-Aug-1999  matt Add needs-flag to if_fddisubr.c for previous commit
 1.312  17-Aug-1999  enami DEVPAGER, SWAPPAGER and VNODEPAGER are no longer used (except std.pica).
 1.311  14-Aug-1999  augustss defopt COMPAT_14
 1.310  13-Aug-1999  oster dev/raidframe/rf_sys.c is no longer needed.
 1.309  08-Aug-1999  ragge Driver for the DEC SGEC, Second Generation Ethernet Controller.
 1.308  05-Aug-1999  augustss mpu needs needs-flag
 1.307  04-Aug-1999  jdolecek defopt NTFS_DEBUG
 1.306  03-Aug-1999  drochner g/c unused LIFFS
 1.305  02-Aug-1999  augustss Move the mpu device declaration to conf/files.
Let the mpu device attach at the sb device, and then midi at the mpu.
Update the mpu at eso attachment.
 1.304  29-Jul-1999  augustss Add mux locator to wsmouse and wskbd.
 1.303  22-Jul-1999  thorpej Garbage collect thread_sleep()/thread_wakeup() left over from the old
Mach VM code. Also nuke iprintf(), which was no longer used anywhere.

Add proclist locking where appropriate.
 1.302  09-Jul-1999  thorpej defopt INET6, and put it in opt_inet.h (most places already include this
file, which is why the file list is so short).
 1.301  09-Jul-1999  thorpej defopt IPSEC and IPSEC_ESP (both into opt_ipsec.h).
 1.300  09-Jul-1999  thorpej Remove the IPSec ESP related file specs from here; they're now handled
in config spec fragments in the various crypto trees.
 1.299  08-Jul-1999  wrstuden Bump osrelease to 1.4E. Add layerfs files, remove null_subr.c.

Update coda to new struct lock in struct vnode.

make fdescfs, kernfs, portalfs, and procfs actually lock their vnodes.
It's not that hard.

Make unionfs set v_vnlock = NULL so any overlayed fs will call its
VOP_LOCK.
 1.298  07-Jul-1999  thorpej pseudo-device -> defpseudo, per grammar change in config(8).
 1.297  05-Jul-1999  mjacob add some default options for the ISP (for fabric/scclun eanbles)
 1.296  02-Jul-1999  itojun align a bit better.
 1.295  02-Jul-1999  itojun enable IPSEC_ESP build (still needs manual symlink).
commit to cryptosrc-intl will follow.
 1.294  01-Jul-1999  itojun IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628.
(Sorry for a big commit, I can't separate this into several pieces...)
Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.

- sys/kern: do not assume single mbuf, accept chained mbuf on passing
data from userland to kernel (or other way round).
- "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ
package (ftp://ftp.csl.sony.co.jp/pub/kjc/).
- sys/netinet/tcp*: IPv4/v6 dual stack tcp support.
- sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those
file to be there so we patch it up.
- sys/netinet: IPsec additions are here and there.
- sys/netinet6/*: most of IPv6 code sits here.
- sys/netkey: IPsec key management code
- dev/pci/pcidevs: regen

In my understanding no code here is subject to export control so it
should be safe.
 1.293  27-Jun-1999  pk Declare the `hme' device.
 1.292  26-Jun-1999  sommerfeld If the new global variable hostzerobroadcast is zero, no longer assume
address zero of each net/subnet is a broadcast address.
(The default value is nonzero, which preserves the current behavior).

This can be set using sysctl; the boot-time default can also be
configured using the HOSTZEROBROADCAST kernel config option.

While we're here, defopt HOSTZEROBROADCAST and SUBNETSARELOCAL
 1.291  20-Jun-1999  thorpej Configuration glue for i82557 fast Ethernet driver.
 1.290  05-Jun-1999  mrg put `audiocs' stuff in here so we can share it between sbus & ebus.
 1.289  20-May-1999  lukem - add kern_allocsys.c
- move a comment around
 1.288  06-May-1999  christos Add NTFS gunk.
 1.287  05-May-1999  thorpej Add needs-flag to the uhci and ohci controller attributes.
 1.286  29-Apr-1999  scottr Split POOL_DIAGNOSTIC and POOL_LOGSIZE into seperate option header files.
The former is used in many places, and the latter in one, which makes
adjusting POOL_LOGSIZE rather painful.
 1.285  26-Mar-1999  pk branches: 1.285.2;
COMPAT_SPARC32 -> COMPAT_NETBSD32
 1.284  25-Mar-1999  explorer port FreeBSD's serial ppp layer to NetBSD. The PPP part seems broken still,
but the lmc driver uses the HDLC bits from here anyway.
 1.283  24-Mar-1999  mrg clean up kernel/config files files for machVM lossage.
 1.282  22-Mar-1999  bad config(8) glue for Token-Ring and TROPIC drivers.
 1.281  22-Mar-1999  sommerfe Regen files based on changes to syscalls.master, vnode_if.src (latter
was changes to comments only, but..)
Build vfs_getcwd.c as standard part of kernel.
Add implementation of fchroot(), since two emulations already had it.
Call vn_isunder() in fchdir(), chroot(), and fchroot() to make it harder
to escape chroot().
 1.280  17-Mar-1999  sommerfe defopt MINIROOTSIZE
 1.279  13-Mar-1999  drochner pull in missing miscfs/procfs/procfs_cmdline.c
 1.278  09-Mar-1999  kleink Defopt COMPAT_M68K4K.
 1.277  28-Feb-1999  carrel defopt AHC_SCBPAGING_ENABLE. Other ahc options are already defopt-ed.
 1.276  27-Feb-1999  scottr defopt BUFCACHE and BUFPAGES.
 1.275  19-Feb-1999  tron Fix typo noted by Anders Hjalmarsson in PR kern/7020.
 1.274  13-Feb-1999  scw Add entry for CD240[01] driver.
 1.273  11-Feb-1999  christos Forgot to commit this one.
 1.272  09-Feb-1999  kml defopt SB_MAX, which controls the maximum allowable size of socket buffers
 1.271  07-Feb-1999  jonathan defopt MEMORY_DISK_{HOOKS,SERVER,IS_ROOT}.
 1.270  26-Jan-1999  christos Add | netatalk to if_arp.c and if_ethersubr.c so that kernels without
ethernet devices and with appletalk link. XXX: It is probably better
not to use ether_*() in netatalk eventually, or rename/generalize the
routines (from Stefan Sichler)
 1.269  25-Jan-1999  msaitoh Add procfs_map.c.
 1.268  24-Jan-1999  chuck cleanup/reorg:
- break anon related functions out of uvm_amap.c and put them in their own
file (uvm_anon.c). includes break up uvm_anon_init into an amap and an
an anon init function
- ensure that only functions within the amap module access amap structure
fields (add macros to amap api as needed)
 1.267  23-Jan-1999  mycroft Revert. Imadork.
 1.266  23-Jan-1999  mycroft Add ip_ftp_pxy.c.
 1.265  13-Jan-1999  thorpej Pull in ip_ipip.c if ipip | mrouting, and use needs-flags instead of
needs-count.

XXX This generates an NMROUTING in ipip.h, too, but that's harmless.
 1.264  11-Jan-1999  thorpej Add declarations for the `ipip' network pesudo-device, which implements
IP-in-IP tunnels.
 1.263  27-Dec-1998  thorpej Defopt POOL_DIAGNOSTIC and POOL_LOGSIZE.
 1.262  20-Dec-1998  drochner Make midi_attach_mi() and audioprint() available also if MIDIBUS
(but not necessarily MIDI) is defined.
Fixes PR port-i386/6615 (Krister Walfridsson <cato@ulysses.df.lth.se>).
(XXX this should probably go into a separate file to get rid of
the #ifdef mess)
 1.261  10-Dec-1998  christos defopt COMPAT_43
 1.260  10-Dec-1998  christos defopt IPFILTER_LOG and PPP_{DEFLATE,BSDCOMP,FILTER}
 1.259  26-Nov-1998  pk Define `pcmciabus'.
 1.258  22-Nov-1998  pk Move the `wdc' device into `conf/files'.
 1.257  20-Nov-1998  kml Changes to support a HIPPI Framing Protocol device, which allows raw
HIPPI packets to be written without having to go through the network
stack.
 1.256  13-Nov-1998  thorpej Pseudo-device definition and files for RAIDframe, CMU PDL's RAID 0, 1, 4, 5,
6 implementation + simulator.

From Greg Oster <oster@netbsd.org>.
 1.255  12-Nov-1998  thorpej defopt FFS_EI
 1.254  11-Nov-1998  thorpej Add kern/kern_kthread.c
 1.253  04-Nov-1998  fvdl branches: 1.253.2;
Add info for ex driver.
 1.252  31-Oct-1998  thorpej Define the "rtl80x9" attribute, to pull in code common to RealTek 8019
and 8029 NE2000-compatible Ethernet chips.
 1.251  29-Oct-1998  jonathan Add options DDB_FROMCONSOLE and sysctl ddb.fromconsole, analagous to
DDB_ONPANIC. Lets user ignore breaks but enter DDB on panic. Intended
for machines where debug on panic is useful, but DDB entry is not,
(public-access console, or terminal-servers which send spurious breaks)

Add new ddb hook, console_debugger(), which decides whether or not to
ignore console ddb requests. Console drivers should be updated to call
console_debugger(), not Debugger(), in response to serial-console
break or ddb keyboard sequence.
 1.250  19-Oct-1998  tron Defopt SYSVMSG, SYSVSEM and SYSVSHM.
 1.249  12-Oct-1998  bouyer Merge bouyer-ide
 1.248  26-Sep-1998  dante Add AdvanSys ULTRA WIDE SCSI controllers
 1.247  24-Sep-1998  thorpej defopt MULTIPROCESSOR.
 1.246  15-Sep-1998  rvb Final piece of rename cfs->coda
 1.245  13-Sep-1998  hwr Add a gre tunnel pseudo network device. Gre = generic route encapsulation.
This device shows up like any other network interface and can be used to
tunnel L3 protocols as e.g. IP over IP.
 1.244  12-Sep-1998  rvb Change cfs/CFS in symbols, strings and constants to coda/CODA
to avoid fs conflicts.
 1.243  08-Sep-1998  rvb Pass2 complete
 1.242  02-Sep-1998  is Split SMC chipset ARCnet driver into
- machine independent chip driver, in dev/ic/smc90cx6.c/...reg.h,...var.h,
using bus_space methods
- ZBUS frontend in arch/amiga/dev/if_bah_zbus.c
- added IPL_SOFTNET to arch/amiga/include/intr.h, for this
Implementing the ISA bus frontend is left as an exercise to the reader.
 1.241  02-Sep-1998  drochner define attribute for VME bus attachment
 1.240  29-Aug-1998  pk Define LSI64854.
 1.239  28-Aug-1998  augustss Handle the case of MIDI devices with no audio devices.
 1.238  26-Aug-1998  dante Add AdvanSys support
 1.237  26-Aug-1998  mrg add COMPAT_SPARC32
 1.236  25-Aug-1998  pk Define the ad1848 attribute here.
 1.235  22-Aug-1998  augustss Get opl MIDI dependecy right.
 1.234  17-Aug-1998  augustss * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
 1.233  14-Aug-1998  mark deffs FILECORE
Added filecorefs files.
 1.232  12-Aug-1998  augustss Add a layer to handle emulation of MIDI for synthesizers.
It handles decoding of MIDI commands, voice allocation, and translation
it notes to frequencies.
 1.231  12-Aug-1998  thorpej Give the "ep" driver the "mii" attribute.
 1.230  11-Aug-1998  thorpej miibus -> mii, and give it a locator "phy".
 1.229  09-Aug-1998  mrg defopt PFIL_HOOKS.
 1.228  07-Aug-1998  augustss Add MIDI support. The MIDI devices can be accessed as ``raw'' through
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
 1.227  26-Jul-1998  explorer add declaration for hd64570, which the ntwo driver uses
 1.226  24-Jul-1998  rvb Coda glue
 1.225  21-Jul-1998  drochner Split the LANCE driver into a part specific to the classic chip with
24-bit DMA addresses, and an independant part.
Implement support for the 32-bit mode in the newer (79c9xx) chips.
 1.224  21-Jul-1998  drochner complete the options in opt_nfs_boot.h
 1.223  15-Jul-1998  mjacob New file for building isp host adapter.
 1.222  12-Jul-1998  augustss Add USB support. Supported so far:
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers
 1.221  05-Jul-1998  jonathan defopt NATM.
 1.220  05-Jul-1998  jonathan Garbage-collect ``needs-flag'' from attributes ether, fddi, arc:
NETHER, NFDDI, NARC are not used anywhere. Remove #include "ether.h",
which had no effect.
Removes clash with "options NATM" for native-ATM network protocol stack.
 1.219  05-Jul-1998  jonathan defopt COMPAT_NETBSD_*.
 1.218  05-Jul-1998  tv Add opt_compat_netbsd.h with COMPAT_{NOMID,09,10,11,12,13}.
 1.217  05-Jul-1998  jonathan Add NFS_BOOT_RWSIZE option to defopt opt_nfs_boot.h
 1.216  05-Jul-1998  jonathan defopt NS, NSIP.
 1.215  05-Jul-1998  jonathan defopt ISO TPIP.
 1.214  05-Jul-1998  jonathan defopt LLC
 1.213  05-Jul-1998  jonathan defopt HDLC.
 1.212  05-Jul-1998  jonathan defopt CCITT.
 1.211  05-Jul-1998  jonathan defopt EON.
 1.210  05-Jul-1998  jonathan defopt INET, NETATALK.
 1.209  04-Jul-1998  jonathan defopt DDB.
 1.208  28-Jun-1998  nathanw defopt SHORTCORENAME
 1.207  26-Jun-1998  drochner add new file for pcdisplay mapping tables
 1.206  26-Jun-1998  thorpej defopt COMPAT_SVR4
 1.205  26-Jun-1998  thorpej defopt COMPAT_OSF1
 1.204  25-Jun-1998  thorpej defopt COMPAT_HPUX
 1.203  25-Jun-1998  thorpej defopt COMPAT_SUNOS
 1.202  25-Jun-1998  thorpej defopt COMPAT_ULTRIX
 1.201  25-Jun-1998  thorpej defopt COMPAT_IBCS2
 1.200  25-Jun-1998  thorpej defopt COMPAT_LINUX
 1.199  25-Jun-1998  thorpej defopt COMPAT_FREEBSD
 1.198  25-Jun-1998  thorpej defopt NFSSERVER
 1.197  25-Jun-1998  thorpej defopt KTRACE
 1.196  25-Jun-1998  thorpej FIFO isn't an option, so just delete the comment.
 1.195  24-Jun-1998  sommerfe Always include fifos; "not an option any more".
 1.194  24-Jun-1998  jonathan Split sparc am7930 driver into sparc attach and "MI" sys/dev/ic/am7930
chipset driver. Needs bus'ifying and register-access.
 1.193  22-Jun-1998  sommerfe defopt for options FIFO
 1.192  22-Jun-1998  sommerfe defopt COMPAT_386BSD_MBRPART into opt_mbr.h
 1.191  22-Jun-1998  sommerfe defopt a couple more AHC specific options
 1.190  22-Jun-1998  sommerfe defopt a bunch of AHC specific options
 1.189  08-Jun-1998  scottr Add defopt for QUOTA. While here, do some grouping of associated options.
 1.188  02-Jun-1998  thorpej branches: 1.188.2;
Device driver for the SMC 83c170 Ethernet PCI Integrated Controller (EPIC/100)
used in the SMC EtherPower II.

Media control isn't yet supported, due to some MII infrastructure
problems which I hope to address soon. This isn't a huge deal, since
the PHY defaults to auto-negotiate mode.

Also, the device just programs the multicast hash table to accept all
multicast, to avoid a hardware bug that causes the multicast address
filter to lose in 10Mb/s mode. This bug will be fixed in a more sane
way once the media control issues are dealt with.
 1.187  28-May-1998  drochner Put definitions and subroutines needed for all PC display adapters
(MGA/GCA and compatibles) into global headers / source files.
Let the VGA driver use them.
 1.186  20-May-1998  enami Need to defopt LOCKDEBUG to build kernel.
 1.185  14-May-1998  kml Driver for Essential Communications' RoadRunner HIPPI (800 Mb/sec network)
card. With some modification, this could probably also work for their
Gigabit Ethernet card based on the same chipset...
 1.184  11-May-1998  thorpej Nuke TUBA per my note to tech-net; there's no reason to keep it around.
 1.183  29-Apr-1998  matt Add support for "fast" forwarding. Add hooks in if_ethersubr.c and
if_fddisubr.c to fastpath IP forwarding. If ip_forward successfully
forwards a packet, it will create a cache (ipflow) entry. ether_input
and fddi_input will first call ipflow_fastforward with the received
packet and if the packet passes enough tests, it will be forwarded (the
ttl is decremented and the cksum is adjusted incrementally).
 1.182  29-Apr-1998  matt defopt GATEWAY
 1.181  22-Apr-1998  jonathan defopt NTP and PPS_SYNC, in preparation for adding PPS support.
 1.180  17-Apr-1998  drochner oops - forgot a "needs-flag"
closes PR port-i386/5307 (Lennart Augustsson)
 1.179  15-Apr-1998  drochner Move some definitions needed for nwscons here so that they can be
used in mi drivers.
 1.178  03-Apr-1998  pk Pull in db_run.c and db_access.c if KGDB is defined.
 1.177  22-Mar-1998  enami Define new attribute `mb86960' and new device `mbe'.
 1.176  18-Mar-1998  bouyer Add support for reading/writing FFS in non-native byte order, conditioned
to "options FFS_EI". The superblock and inodes (without blk addr) are
byteswapped at disk read/write time, other metadatas are byteswapped
when used (as they are acceeded directly in the buffer cache).
This required the addition of a "um_flags" field to struct ufsmount.
ffs_bswap.c contains superblock and inode byteswap routines also used
by userland utilities.
 1.175  19-Feb-1998  thorpej Define the NetBSD file systems, and specify option headers for
MFS, LFS, UNION, KERNFS, and NFS.
 1.174  18-Feb-1998  thorpej vfs_conf.c is obsolete.
 1.173  16-Feb-1998  thorpej Remove "class" declarations, and add "devclass" declarations where
appropriate. Fix several inconsistencies between device class and
attributes. Mostly from Chris Demetriou.
 1.172  12-Feb-1998  thorpej defopt UVMHIST_PRINT, and put it in the already-existing opt_uvmhist.h
option header.
 1.171  10-Feb-1998  mrg - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
 1.170  05-Feb-1998  mrg re-add kern_fthread.c now that the file exists..
 1.169  05-Feb-1998  fvdl Remove extraneous file.
 1.168  05-Feb-1998  mrg initial import of the new virtual memory system, UVM, into -current.

UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code. i provided some help
getting swap and paging working, and other bug fixes/ideas. chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly. :-)
 1.167  22-Jan-1998  thorpej Generate dependencies on the exec format options EXEC_AOUT, EXEC_ECOFF,
EXEC_ELF32, EXEC_ELF64, and EXEC_SCRIPT.
 1.166  22-Jan-1998  thorpej Generate dependencies on the INSECURE option.
 1.165  21-Jan-1998  thorpej Implement an activity log for malloc() and free(), useful for tracking
down "Data modified on freelist" and "muliple free" problems.

The log is activated by the MALLOCLOG option, and the size of the
event ring buffer is controlable via the MALLOGLOGSIZE option (default
is 100000 entries).

From Chris Demetriou, cleaned up a little by me per suggestions in the
e-mail from Chris that contained the code.
 1.164  14-Jan-1998  cgd Shuffle wd/wdc driver files around (via repository copies). wdc
now lives in dev/ic, wd now lives in dev/ata. there's now a 'ata'
interface attribute defined in conf/files, but wdc can't go there
yet because some ports still use private versions based on the old
ISA version.
 1.163  12-Jan-1998  scottr Consolidate NFS_BOOT_* options into opt_nfs_boot.h
 1.162  12-Jan-1998  thorpej Add device classes.
 1.161  12-Jan-1998  scottr defopt MROUTING and TCP_COMPAT_42
 1.160  11-Jan-1998  scottr Add NFS_BOOT_DHCP option, and compile nfs_bootdhcp.c if either
NFS_BOOT_BOOTP or NFS_BOOT_DHCP are specified.
 1.159  09-Jan-1998  drochner cleanup of diskless NFS boot code:
2 new options, "NFS_BOOT_BOOTP" and "NFS_BOOT_BOOTPARAM", control whether
the corresponding code is included.
 1.158  15-Dec-1997  pk Add kern/subr_pool.c
 1.157  28-Oct-1997  thorpej defopt UCONSOLE
 1.156  17-Oct-1997  bouyer branches: 1.156.2;
Ops, forgot to include i2c files.
 1.155  17-Oct-1997  bouyer Add mii and i2c.
 1.154  16-Oct-1997  is TMS320AV110 (mpeg layer 2 decoder chip) and ZBUS Melody board, which uses it.
No optionboards yet for Melody, only audio driver.
MPEG data types for audio.c
 1.153  16-Oct-1997  thorpej Add device declaration for the "com" driver. In a perfect world, this
would be done with attributes, but alas... *sigh*
 1.152  14-Oct-1997  thorpej From marc-pcmcia branch: add declaration of the "ne" driver for
NE2000-compatible ethernet cards.
 1.151  13-Oct-1997  explorer o Make usage of /dev/random dependant on
pseudo-device rnd # /dev/random and in-kernel generator
in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
 1.150  09-Oct-1997  explorer make /dev/random standard, per message from Jason
 1.149  09-Oct-1997  explorer define the 'options DEVRANDOM' thing, and which files to include to use it.
 1.148  09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.147  07-Oct-1997  gwr Make nfs/krpc_subr.c conditional on arp (fixes PR#4233).
 1.146  06-Oct-1997  augustss Add the Interwave audio chip.
 1.145  06-Oct-1997  christos From Enami Tsugutomo: Busify and split the aic6360 driver.
 1.144  21-Sep-1997  veego Add netinet/ip_log.c for ipfilter & ipfilter_log
 1.143  20-Sep-1997  mikel remove obsolete comment about scsi files
don't include ppp_bsdcomp or ppp_deflate support unless ppp defined
alphabetize (mostly) file list
 1.142  20-Sep-1997  enami Use TAB instead of SPACE to indent. Line up if possible.
 1.141  20-Sep-1997  enami Convert RTC_OFFSET, DEVPAGER, SWAPPAGER and VNODEPAGER to be declared
by defopt.
 1.140  16-Sep-1997  thorpej Build db_elf.c if ddb is configured. (Oops, this one got away!)
 1.139  02-Sep-1997  gwr Make the new files (nfs_boot*) conditional on nfs & arp
 1.138  02-Sep-1997  gwr Make the new files (nfs_boot*) conditional on nfs & ether
 1.137  02-Sep-1997  thorpej Pull "sm" driver declaration down from marc-pcmcia branch.
 1.136  29-Aug-1997  gwr Add: nfs_bootdhcp.c nfs_bootparam.c
 1.135  27-Aug-1997  bouyer Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.134  19-Aug-1997  augustss Change the MI audio driver so it attaches to the MD driver in the
normal way. This requires adding a line to the config files to
get audio to work again.
 1.133  03-Aug-1997  leo Md : from needs-flag to needs-count
 1.132  31-Jul-1997  augustss Audio changes:
- Change the way attach and open works to allow multiple audio
devices.
- Split the mulaw.c file into two to avoid dragging in mulaw
convertsion when they are not needed. Add 16 bit alaw/mulaw tables.
- Change the way audio properties are gotten.
- Recognize more versions os SoundBlaster.
 1.131  31-Jul-1997  matt Add files lines for lc device (LEMAC, DEC EtherWORKS III).
 1.130  28-Jul-1997  jonathan branches: 1.130.2;
Reorder device declarations of bha and aha so th BusLogic driver probes
before before the Adaptec 1542/1642 driver. As commented,

Probing AHA first configures bhas as aha, via their AHA
hardware-compatibility mode.
 1.129  28-Jul-1997  thorpej Generate dependencies for the TCP_SENDSPACE and TCP_RECVSPACE options.
 1.128  22-Jul-1997  pk Add line for the i82586 driver.
 1.127  06-Jul-1997  fvdl Move kern_lock.c to kern/
 1.126  06-Jul-1997  thorpej Add new ipfilter files.
 1.125  11-Jun-1997  bouyer branches: 1.125.2;
Support ext2fs.
 1.124  27-May-1997  thorpej Make kernels with ipfilter compile again: need netinet/ip_proxy.c.
 1.123  21-May-1997  gwr Add ddb/db_xxx.c
 1.122  29-Apr-1997  scottr Add the dp8390 driver back end/attribute.
 1.121  02-Apr-1997  christos Add netatalk glue
 1.120  17-Mar-1997  thorpej Build if_media.c on the same conditions as if.c
 1.119  15-Mar-1997  is New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
 1.118  12-Mar-1997  cgd add an entry for 'isp', the MI Qlogic ISP 10x0 SCSI Controller driver,
from Matt Jacob.
 1.117  27-Feb-1997  thorpej branches: 1.117.2;
Define the ncr53c9x attribute to pull in the MI 53c9x driver.
 1.116  18-Feb-1997  mrg include net/pfil.c with pfil_hooks|ipfilter
 1.115  12-Feb-1997  mikel Don't build ip_mroute.o unless MROUTING is defined; fixes PR kern/2820.
Don't build PPP compression code unless ppp pseudo-device is configured,
regardless of PPP_COMPRESS and PPP_DEFLATE options.
 1.114  12-Feb-1997  gwr Add kern/kgdb_stub.c
 1.113  07-Feb-1997  mycroft Move the aha ISA probe functions into a separate file.
 1.112  02-Feb-1997  thorpej Make KMEMSTATS a "header option".
 1.111  31-Jan-1997  thorpej nfsclient -> nfs
 1.110  21-Jan-1997  thorpej The "md" driver is MI (har har :-). Declare it here.
 1.109  07-Jan-1997  mrg branches: 1.109.2;
use pseudo-device ipfilter, not ipl.
 1.108  05-Jan-1997  veego Add needs-flag and ifnet for ipl.
 1.107  05-Jan-1997  mrg initial import of darren reed's ip-filter, version 3.1.2.
 1.106  06-Dec-1996  thorpej Back out previous change, which was:

>Only build kern/kern_ntptime.c if NTP is being compiled into the kernel.

This change had implications that didn't occur to me at the time. *sigh*
 1.105  14-Nov-1996  thorpej Only build kern/kern_ntptime.c if NTP is being compiled into the kernel.
 1.104  13-Nov-1996  mikel Don't build ufs_quota.c if not QUOTA. Fixes PR 2821.
 1.103  12-Nov-1996  thorpej Centralize the declaration of the "en" driver (Efficient Networks, Inc.
155Mb/sec ATM interface).
 1.102  16-Oct-1996  ws Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB
 1.101  02-Oct-1996  cgd allow a.out executable support to be optional (conditioned on EXEC_AOUT),
and shell script support to be optional (conditioned on EXEC_SCRIPT).
Remove the implicit inclusion of EXEC_ECOFF when COMPAT_OSF1 and/or
COMPAT_ULTRIX is included, and of EXEC_ELF32 when COMPAT_LINUX and/or
COMPAT_SVR4 is included.
 1.100  30-Sep-1996  ws Add (and change) machine independent files for KGDB support
 1.99  26-Sep-1996  cgd add support and reorganize for 64-bit ELF, included by EXEC_ELF64
option. (Also, make EXEC_ELF32 option a way to explicitly include
32-bit ELF support.)
 1.98  24-Sep-1996  christos Add stub for cyclades multi-port serial cards
 1.97  20-Sep-1996  cgd rename exec_elf.c to exec_elf32.c, since it execs 32-bit ELF. exec_elf32.c
was copied from exec_elf.c on the CVS server to keep the logs intact.
 1.96  14-Sep-1996  mrg move the packet filter hooks in to a saner location. while i'm here, rename
PACKET_FILTER to PFIL_HOOKS.
 1.95  01-Sep-1996  mycroft Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.
 1.94  31-Aug-1996  mycroft Add generic bha and uha code.
 1.93  28-Aug-1996  cgd add a space i forgot, for prettiness
 1.92  28-Aug-1996  cgd add an optional 'channel' keyword to the 'scsi' interface attribute
(defaults to -1, a.k.a. SCSI_CHANNEL_UNKNOWN).
 1.91  14-Jul-1996  cgd treat all "chipset drivers" similarly: include their file specs
up with the definitions of their attributes. Previously, this was done
for most but not all, and there was no good reason to be inconsistent.
 1.90  04-Jul-1996  chuck add native mode atm protocol layer
 1.89  23-Jun-1996  thorpej My extent map manager. Sort of like resource maps, but more flexible.
Understands allocation aligment and boundary restrictions, "specific region"
allocations, and suballocations. Capable of statically or dynamically
allocating map overhead.

Many thanks to Matthias Drochner for running the code for me, and sending
me bug fixes, optimizations, and suggestions. Also, many thanks to
Chris Demetriou for his extremely helpful suggestions.

XXX No manual page yet. One is forthcoming, as soon as I can scare up
the time to write one. This has been sitting on my plate for quite a
while, and several projects are waiting for it. Time to move on.
 1.88  22-Jun-1996  chuck add atm networking stuff
 1.87  19-May-1996  jonathan branches: 1.87.4;
Add line discipline code, initialization, and config support for MosquitoNet's
Metricom Ricochet starmode-radio-IP driver.
 1.86  16-May-1996  mycroft Slight adjustments for new version of ahc driver.
 1.85  07-May-1996  thorpej Only compile the MI LANCE driver if an "le" is configured into the kernel.
 1.84  07-May-1996  mycroft Actually define the `le' device.
 1.83  25-Apr-1996  thorpej Break up the ep driver into isa, eisa, and pci front-ends and a
bus-independent core driver. Tested on all three bus types, including
an isa 3c509 masquerading as an eisa device (use ep* at eisa? slot ? in
your kernel config file to catch this one).
XXX Driver still needs to be converted to <machine/bus.h>
 1.82  19-Mar-1996  paulus Make inclusion of the PPP BSD-Compress and Deflate compressors
dependent on the PPP_BSDCOMP and PPP_DEFLATE kernel configuration
options, respectively.
 1.81  17-Mar-1996  cgd adjust to deal with expression support for optional file specs
 1.80  15-Mar-1996  paulus Now need bpfilter for ppp, since it does packet filtering.
Add files for PPP-Deflate packet compression support.
 1.79  29-Feb-1996  cgd Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them. From PR 2142, OK'd
by mycroft.
 1.78  28-Feb-1996  cgd add isabus and pcibus attributes, for attachment of isa and pci busses
 1.77  27-Feb-1996  cgd Move eisabus, tcbus attributes here. Attributes that "machine-independent"
bus support want to attach to should be declared in conf/files, so that
hairy ordering constraints on the inclusions of busses' "files" files
in files.{MACHINE} are avoided. isabus, pcibus attributes will go here later.

The problem is, for instance, that there are some devices in files.isa
currently which require that 'pci' be defined, but there are some PCI
devices (e.g. 'sio' on the Alpha) that provide isabus interfaces, i.e.
'isa' busses attach to them. Unless the the bus-attachment attributes
are here, it's impossible to declare the busses' files and attribute
dependencies in a machine-independent way.
 1.76  27-Feb-1996  jonathan Add NTP kernel precision timekeeping from Dave Mill's xntp distribution
and the "kernel.tar.Z" distribution on louie.udel.edu, which is older than
xntp 3.4y or 3.5a, but contains newer kernel source fragments.

This commit adds support for a new kernel configuration option, NTP.
If NTP is selected, then the system clock should be run at "HZ", which
must be defined at compile time to be one value from:
60, 64, 100, 128, 256, 512, 1024.

Powers of 2 are ideal; 60 and 100 are supported but are marginally less
accurate.

If NTP is not configured, there should be no change in behavior relative
to pre-NTP kernels.

These changes have been tested extensively with xntpd 3.4y on a decstation;
almost identical kernel mods work on an i386. No pulse-per-second (PPS)
line discipline support is included, due to unavailability of hardware
to test it.

With this in-kernel PLL support for NetBSD, both xntp 3.4y and xntp
3.5a user-level code need minor changes. xntp's prototype for
syscall() is correct for FreeBSD, but not for NetBSD.
 1.75  19-Feb-1996  christos Remove ns_cksum.c; I'll send mail to portmasters about it.
 1.74  13-Feb-1996  christos add ns_cksum.c; netns will not link without it.
 1.73  02-Feb-1996  christos Removed kernel/tty_compat.c
 1.72  13-Jan-1996  thorpej Add the "ahe" driver, autoconfiguration support for the aic7xxx-based
Adaptec 2[78]4x SCSI controllers, from Michael Graff <explorer@flame.org>.
Fixes PR #1594 from Noriyuki Soda <soda@sra.co.jp> in a different way.
 1.71  01-Jan-1996  thorpej Define the ncr5380sbc attribute and compile dev/ic/ncr5380sbc.c if it's used.
 1.70  25-Nov-1995  cgd pull in ecoff_exec.c with 'options EXEC_ECOFF', as well as with compat
options, so that it can be used in kernels (e.g. alpha) w/o need for
compat options.
 1.69  04-Oct-1995  pk Move RCONSOLE files into dev/rcons/files.rcons.
 1.68  17-Sep-1995  pk Add the rcons files.
 1.67  19-Aug-1995  cgd Some changes from Matt Thomas, to help support FDDI:
add 'fddi' attribute, and files descriptions for it.
XXX add 'pdq' attribute, and add files descriptions for it. This is to
XXX support the various front-ends that use his driver (which will eventually
XXX live on PCI, EISA, and TC busses at least). This is probably not the best
XXX way to arrange this, but i can't think of a better way without whacking
XXX a lot of things.
 1.66  19-Aug-1995  cgd nuke IMP.
 1.65  17-Aug-1995  cgd clean up the whitespace, and kill the 4BSD SCSI code comments
 1.64  17-Aug-1995  thorpej Add the ccd.
 1.63  19-Jul-1995  brezak GUS audio driver from John Kohl.
 1.62  04-Jul-1995  paulus Include extra files for the new PPP stuff.
 1.61  22-Jun-1995  fvdl Add mi ELF files.
 1.60  28-Apr-1995  cgd rename files files for new config/config.old naming
 1.59  08-Mar-1995  cgd ecoff exec code needed for COMPAT_OSF1
 1.58  23-Feb-1995  glass preliminary arcnet support. uses lame but RFC address resolution
 1.57  25-Jan-1995  cgd vn -> vnd renaming, for consistency
 1.56  15-Aug-1994  cgd changes for the new sys_process.c, and some cleanup
 1.55  29-Jun-1994  cgd branches: 1.55.2;
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.54  27-Jun-1994  cgd new standard, minimally intrusive ID format
 1.53  24-Jun-1994  hpeyerl Changes for ccd.
 1.52  08-Jun-1994  mycroft Update for 4.4 fs code.
 1.51  27-May-1994  glass oops
 1.50  19-May-1994  cgd subr_mcount goes away
 1.49  13-May-1994  mycroft Add some new stuff.
 1.48  12-May-1994  chopps oops we want to alphabetize starting on path, not basename..
 1.47  12-May-1994  chopps add adosfs to files for old config and alphabetize for both.
 1.46  07-May-1994  cgd out with the ick, in with the sick
 1.45  05-May-1994  cgd lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around. kill some unnecessary type and macro
definitions. standardize clock handling. More changes than you'd want.
 1.44  18-Apr-1994  glass revised nfs diskless support. uses bootp+rpc to gather parameters
 1.43  26-Mar-1994  glass getting rid of tp_astring.c
 1.42  23-Mar-1994  deraadt kern/subr_disk.c is standard
 1.41  10-Mar-1994  ws Oops. Bug fix for nfs server. Reported by Theo.
 1.40  09-Mar-1994  ws Make FFS optional
 1.39  15-Feb-1994  cgd make kern/syscalls.c included if syscall_debug defined
 1.38  11-Feb-1994  hpeyerl igmp.c and ip_mroute.c are dependant on "inet" being defined.
(Thanx to Tim Chase for pointing this out)
 1.37  10-Feb-1994  mycroft Deprecate af.c.
 1.36  02-Feb-1994  hpeyerl Multicast is no longer optional.
 1.35  16-Jan-1994  cgd add files for updated execve()
 1.34  08-Jan-1994  cgd far reaching but relatively minor cleanup and slight reorg of exec code
 1.33  22-Dec-1993  cgd this file is once again in alphabetical order...
 1.32  21-Dec-1993  brezak Add dev/vn.c driver
 1.31  13-Dec-1993  deraadt tunnel driver should work now
 1.30  09-Dec-1993  hpeyerl Two new files for Multicast
 1.29  14-Nov-1993  cgd Add the System V message queue and semaphore facilities. Implemented
by Daniel Boulet <danny@BouletFermat.ab.ca>
 1.28  12-Nov-1993  cgd new locations
 1.27  02-Nov-1993  glass tablet line discipline compiles and probably works now.
 1.26  21-Oct-1993  cgd oops
 1.25  21-Oct-1993  cgd no more subr_acct.c
 1.24  05-Sep-1993  cgd branches: 1.24.2;
add kern/exec_aout.c as a standard file.
 1.23  30-Aug-1993  deraadt pagers are now options, not pseudo-devices
 1.22  24-Aug-1993  pk Add files for proc filesystem.
 1.21  14-Aug-1993  deraadt ppp from paul mackerras
 1.20  13-Aug-1993  cgd brought in fixed/renamed/matching MS-DOS FS code, from Jeff Polk
<polk@bsdi.com>. His notes are as follows:
 1.19  07-Aug-1993  cgd merge in changes from netbsd-0-9-ALPHA2
 1.18  19-Jul-1993  cgd branches: 1.18.2;
replace jolitz's vfs__bio with a better one from CMU via mw.
so, replace vfs__bio, and deal with attendant changes.
 1.17  19-Jul-1993  cgd add isofs/isofs_rrip.c if using "options ISOFS"
 1.16  12-Jul-1993  mycroft Change tty code to use clist interface, but with ring buffer implementation.
Also, fix a couple of bugs in tty.c and pccons.c, and some gross kluginess
in the hp300 stuff.
 1.15  07-Jul-1993  cgd make the rlist code all go away. replace it with resource map code,
as written by Wolfgang Solfrank.
 1.14  04-Jul-1993  cgd branches: 1.14.2;
move julian's scsi files back into files.i386
 1.13  16-Jun-1993  cgd use/add new physio...
 1.12  07-Jun-1993  cgd add support for terry lambert's loadable kernel modules.
needs a bit of cleanup, but overall: SLICK!
 1.11  31-May-1993  cgd change to use new exec
 1.10  20-May-1993  cgd fixed rcsids and cleaned up headers
 1.9  02-May-1993  cgd add barebones accounting, enabled w/"options ACCOUNTING", via /dev/acct
 1.8  10-Apr-1993  glass made appropriate changes for separate inclusion of nfsclient and nfsserver support
 1.7  10-Apr-1993  glass imp support is not present and is therefor 'requires broken'
 1.6  10-Apr-1993  glass fixed to be compliant, subservient, and to take advantage of the newly
hacked config(8)
 1.5  09-Apr-1993  cgd add support for PCFS, the MSDOS filesystem.
written by Paul Popelka (paulp@uts.amdahl.com) (patch 129)

invoke w/"options PCFS" in kernel config file.
 1.4  08-Apr-1993  cgd put scsi system file list in the right place (finally)
 1.3  26-Mar-1993  glass ktrace is now optional
 1.2  23-Mar-1993  cgd added support for kernfs and fdesc filsystem files
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  01-Mar-1998  fvdl Import 4.4BSD-Lite2
 1.1.1.2  01-Mar-1998  fvdl Import 4.4BSD-Lite for reference
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.14.2.1  06-Jul-1993  cgd changes to use the resource map code. this is on the "ws-code" branch,
and after a time, i'll merge it into the standard tree.
 1.18.2.2  05-Aug-1993  cgd light cleanup for 0.9
 1.18.2.1  19-Jul-1993  cgd file files was added on branch netbsd-0-9 on 1993-08-05 00:44:06 +0000
 1.24.2.2  14-Nov-1993  cgd Update from trunk:
Add the System V message queue and semaphore facilities. Implemented
by Daniel Boulet <danny@BouletFermat.ab.ca>
 1.24.2.1  26-Oct-1993  mycroft Merge changes from trunk.
 1.55.2.1  15-Aug-1994  mycroft update from trunk
 1.87.4.1  06-Dec-1996  rat Patch request from Mike Long <mike.long@analog.com>

Only build ufs_quota.o if ``quota'' option exists in config file.
 1.109.2.1  14-Jan-1997  thorpej Snapshot of work-in-progress, committed to private branch.

These changes implement machine-independent root device and file system
selection. Notable features:

- All ports behave in a consistent manner regarding root
device selection.
- No more "options GENERIC"; all kernels have the ability
to boot with RB_ASKNAME to select root device and file system
type.
- Root file system type can be wildcarded; a machine-independent
function will try all possible file systems for the selected
root device until one succeeds.
- If the root file system fails to mount, the operator will
be given the chance to select a new root device and file
system type, rather than having the machine simply panic.
- nfs_mountroot() no longer panics if any part of the NFS
mount process fails; it now returns an error, giving the
operator a chance to recover.
- New, more consistent, config(8) grammar. The constructs:

config netbsd swap generic
config netbsd root on nfs

have been replaced with:

config netbsd root on ? type ?
config netbsd root on ? type nfs

Additionally, the operator may select or wildcard root file
system type in the kernel configuration file:

config netbsd root on cd0a type cd9660

config(8) now requires that a "root" specification be
made. "root" may be wired down or wildcarded. "swap" and
"dump" specifications are optional, and follow previous
semantics.

- config(8) has a new "file-system" keyword, used to configure
file systems into the kernel. Eventually, this will be used
to generate the default vfssw[].

- "options NFSCLIENT" is obsolete, and is replaced by
"file-system NFS". "options NFSSERVER" still exists, since
NFS server support is independent of the NFS file system
client.

- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and
will be removed; all information is now generated by config(8).

As of this commit, all ports except arm32 have been updated to use
the new setroot(). Only SPARC, i386, and Alpha ports have been
tested at this time. Port masters should test these changes on their
ports, and report any problems back to me.

More changes are on their way, including RB_ASKNAME support in
nfs_mountroot() (to prompt for server address and path) and, potentially,
the ability to select rarp/bootparam or bootp in nfs_mountroot().
 1.117.2.2  12-Mar-1997  is Merge in changes from Trunk
 1.117.2.1  27-Feb-1997  is file files was added on branch is-newarp on 1997-03-12 21:21:35 +0000
 1.125.2.5  26-Aug-1997  bouyer Update from trunk.
 1.125.2.4  14-Aug-1997  bouyer Sync with trunk.
 1.125.2.3  30-Jul-1997  bouyer Sync with trunk.
 1.125.2.2  17-Jul-1997  bouyer Update from trunck.
 1.125.2.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.130.2.10  16-Oct-1997  thorpej Sync w/ trunk.
 1.130.2.9  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.130.2.8  14-Oct-1997  thorpej Split off NE2000 support from the ISA "ed" driver, and create a new "ne"
driver that deals with NE2000s and compatibles on ISA, PCI, and PCMCIA
busses.

This driver uses the generic DP8390 core chipset back-end.
 1.130.2.7  22-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.130.2.6  04-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.130.2.5  01-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.130.2.4  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.130.2.3  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.130.2.2  11-Aug-1997  thorpej Add "device" declaration for the "sm" driver (smc91cxx ethernet).
 1.130.2.1  30-Jul-1997  marc added pcmcia infrastructure and a few devices
 1.156.2.2  07-Nov-1998  cgd pull up rev 1.223 from trunk (mjacob)
 1.156.2.1  28-Oct-1997  thorpej Pull up from trunk: defopt UCONSOLE.
 1.188.2.11  02-Oct-1998  bouyer Sync with HEAD.
 1.188.2.10  20-Sep-1998  bouyer sync with HEAD
 1.188.2.9  11-Sep-1998  bouyer Sync with HEAD.
 1.188.2.8  21-Aug-1998  bouyer Sync with -current
 1.188.2.7  13-Aug-1998  bouyer - sync with -current
- b* -> mem*
 1.188.2.6  27-Jul-1998  bouyer Sync with -current
 1.188.2.5  02-Jul-1998  bouyer Sync with HEAD.
 1.188.2.4  25-Jun-1998  bouyer Sync with HEAD.
 1.188.2.3  13-Jun-1998  bouyer Sync with HEAD.
 1.188.2.2  09-Jun-1998  bouyer Sync with trunk.
 1.188.2.1  04-Jun-1998  bouyer Commit changes to the IDE system in a branch. This allows a better separation
between higth-level and low-level (i.e. registers read/write) and generalize
the queue for all commands. This also add supports for IDE DMA.
 1.253.2.1  09-Nov-1998  chs initial snapshot. lots left to do.
 1.285.2.3  17-Jan-2000  he Pull up revision 1.318 (requested by ad):
Add driver for DPT SmartCache and SmartRAID III or IV SCSI
adapters.
 1.285.2.2  08-Jan-2000  he Pull up revisions 1.297 and 1.335 (requested by mjacob):
Untangle Qlogic firmware copyright problems and update firmware.
Untangle some MD support issues for said firmware. Add 1280 (Dual
LVD), 1240 (Dual Ultra), 2200 (2nd Generation Qlogic FC chipset).
Fix some synchronous negotiation problems for parallel SCSI.
Firm up some Fabric Support issues.
 1.285.2.1  06-May-1999  perry branches: 1.285.2.1.2; 1.285.2.1.4;
pullup 1.286->1.287 (thorpej)
 1.285.2.1.4.3  30-Nov-1999  itojun bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code). Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.
 1.285.2.1.4.2  06-Jul-1999  itojun KAME/NetBSD 1.4, SNAP kit 1999/07/05.
NOTE: this branch is just for reference purposes (i.e. for taking cvs diff).
do not touch anything on the branch. actual work must be done on HEAD branch.
 1.285.2.1.4.1  28-Jun-1999  itojun KAME/NetBSD 1.4 SNAP kit, dated 19990628.

NOTE: this branch (kame) is used just for refernce. this may not compile
due to multiple reasons.
 1.285.2.1.2.5  02-Aug-1999  thorpej Update from trunk.
 1.285.2.1.2.4  01-Jul-1999  thorpej Sync w/ -current.
 1.285.2.1.2.3  22-Jun-1999  thorpej Add vfs_cluster.c again, so that GENERIC at least compiles.
 1.285.2.1.2.2  21-Jun-1999  thorpej Sync w/ -current.
 1.285.2.1.2.1  07-Jun-1999  chs merge everything from chs-ubc branch.
 1.319.2.2  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.319.2.1  21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

Runs on i386, needs work on other arch's. Main kernel routines should be
fine, but a number of the stand programs need help.

cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512
byte block devices. vnd, raidframe, and lfs need work.

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.324.4.2  15-Nov-1999  fvdl Sync with -current
 1.324.4.1  19-Oct-1999  fvdl Bring in Kirk McKusick's FFS softdep code on a branch.
 1.324.2.11  23-Apr-2001  bouyer Sync with HEAD.
 1.324.2.10  21-Apr-2001  bouyer Sync with HEAD
 1.324.2.9  27-Mar-2001  bouyer Sync with HEAD.
 1.324.2.8  12-Mar-2001  bouyer Sync with HEAD.
 1.324.2.7  11-Feb-2001  bouyer Sync with HEAD.
 1.324.2.6  18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.324.2.5  05-Jan-2001  bouyer Sync with HEAD
 1.324.2.4  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.324.2.3  08-Dec-2000  bouyer Sync with HEAD.
 1.324.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.324.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.368.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.373.2.10  25-Oct-2001  he Apply patch (requested by ad):
Add Mylex DACC960, CAC-EISA, and I2O block/SCSI drivers.
 1.373.2.9  30-Mar-2001  he Pull up revision 1.416 (requested by fvdl):
Add some required Linux emulation bits to support the Linux
version of VMware.
 1.373.2.8  31-Dec-2000  jhawk Pull up revision 1.395 via patch (requested by bouyer):
Add support for 802.1Q virtual LANs.
 1.373.2.7  12-Dec-2000  he Pull up revision 1.409 (requested by he):
Add a driver for an(4), Aironet and Cisco wireless pcmcia cards.
 1.373.2.6  04-Oct-2000  itojun pullup (approved by releng-1-5)
rijndael-cbc kernel support.

sys/crypto/rijndael/* add tag for latest
sys/netinet6/esp_rijndael.[ch] add tag for latest
sys/netinet6/esp_core.c 1.9 -> 1.11
sys/conf/files 1.389 -> 1.390, 1.395 -> 1.396
sys/net/pfkeyv2.h 1.7 -> 1.11
 1.373.2.5  11-Aug-2000  thorpej Pullup from trunk:
Add support for the DEC DE422 Ethernet, which is a DEPCA
attached to the EISA bus. This board is commonly found
on Alpha Jensen systems.
 1.373.2.4  06-Aug-2000  briggs Pullups approved by thorpej --
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.

Make sure that we do not call bus_space_*_multi_* with zero count.
Use bus_space_read/write_multi_stream_2 for FIFO instead of bsr/w_multi_2.
 1.373.2.3  30-Jul-2000  bouyer Pull up (requested by thorpej):
lm_pnpbios.c 1.2->1.3
files 1.374->1.375
nslm7x.c 1.3->1.4
nslm7xvar.h 1.2->1.3
lm_isa.c 1.2->1.3
files.pci 1.96->1.97
viaenv.c 1.2->1.3
sysmon.c 1.1
sysmonvar.h 1.1

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.
 1.373.2.2  14-Jul-2000  onoe Pull up revision 1.376 (approved by thorpej)
Add WEP support for awi driver.
 1.373.2.1  23-Jun-2000  fvdl Adapt for the move of the softdep source into the kernel, as on the trunk
(version 1.374).
 1.427.2.23  29-Dec-2002  thorpej Sync with HEAD.
 1.427.2.22  11-Dec-2002  thorpej Sync with HEAD.
 1.427.2.21  11-Nov-2002  nathanw Catch up to -current
 1.427.2.20  18-Oct-2002  nathanw Catch up to -current.
 1.427.2.19  17-Sep-2002  nathanw Catch up to -current.
 1.427.2.18  27-Aug-2002  nathanw Catch up to -current.
 1.427.2.17  13-Aug-2002  nathanw Catch up to -current.
 1.427.2.16  01-Aug-2002  nathanw Catch up to -current.
 1.427.2.15  20-Jun-2002  nathanw Catch up to -current.
 1.427.2.14  17-Apr-2002  nathanw Catch up to -current.
 1.427.2.13  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.427.2.12  28-Feb-2002  nathanw Catch up to -current.
 1.427.2.11  11-Jan-2002  nathanw More catchup.
 1.427.2.10  11-Jan-2002  nathanw Update to newer -current.
 1.427.2.9  08-Jan-2002  nathanw Catch up to -current.
 1.427.2.8  14-Nov-2001  nathanw Catch up to -current.
 1.427.2.7  22-Oct-2001  nathanw Catch up to -current.
 1.427.2.6  08-Oct-2001  nathanw Catch up to -current.
 1.427.2.5  21-Sep-2001  nathanw Catch up to -current.
 1.427.2.4  24-Aug-2001  nathanw Catch up with -current.
 1.427.2.3  21-Jun-2001  nathanw Catch up to -current.
 1.427.2.2  09-Apr-2001  nathanw Catch up with -current.
 1.427.2.1  05-Mar-2001  nathanw Initial commit of scheduler activations and lightweight process support.
 1.451.2.10  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.451.2.9  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.451.2.8  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.451.2.7  16-Mar-2002  jdolecek Catch up with -current.
 1.451.2.6  11-Feb-2002  jdolecek Sync w/ -current.
 1.451.2.5  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.451.2.4  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.451.2.3  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.451.2.2  03-Aug-2001  lukem update to -current
 1.451.2.1  10-Jul-2001  lukem add kern/kern_event.c
 1.455.2.2  11-Oct-2001  fvdl Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.
 1.455.2.1  01-Oct-2001  fvdl Catch up with -current.
 1.467.2.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.500.2.5  07-Sep-2006  ad Sync with head.
 1.500.2.4  22-Mar-2002  thorpej Put MUTEX_DEBUG RWLOCK_DEBUG in opt_lockdebug.h
 1.500.2.3  14-Mar-2002  thorpej Reader/writer lock implementation, modeled after the Solaris rwlocks,
a description of which can be found in:

Solaris Internals: Core Kernel Architecture, Jim Mauro and
Richard McDougall, section 3.6.

XXX Does not currently distinguish between waiting readers and
waiting writers.
XXX Because of above, does not yet implement direct-handoff.
 1.500.2.2  10-Mar-2002  thorpej New kernel mutex implementation, modeled after those found in Solaris
and described in:

Solaris Internals: Core Kernel Architecture, Jim Mauro and
Richard McDougall, section 3.5.

Both adaptive (spin/sleep) and spin (spin + block interrupts) mutexes
are implemented. See <sys/mutex.h> for the support that machine-dependent
code must supply.
 1.500.2.1  10-Mar-2002  thorpej First cut implementation of turnstiles, a specialized sleep queue used for
kernel synchronization objects. A detailed description of turnstiles
can be found in:

Solaris Internals: Core Kernel Architecture, by Jim Mauro
and Richard McDougall, section 3.7.

Note this implementation does not yet implement priority inheritence,
nor does it currently differentiate between reader and writer queues
(though they are provided for in the API).
 1.527.2.5  29-Aug-2002  gehenna catch up with -current.
 1.527.2.4  15-Jul-2002  gehenna catch up with -current.
 1.527.2.3  20-Jun-2002  gehenna catch up with -current.
 1.527.2.2  30-May-2002  gehenna Catch up with -current.
 1.527.2.1  16-May-2002  gehenna Make this compile the devsw APIs.
 1.530.2.2  11-Nov-2004  he Pull up revision 1.682 (via patch, requested by itohy in ticket #1741):
Add support for the Workbit NinjaSCSI-32 PCI/Cardbus
SCSI driver, njs(4).
 1.530.2.1  12-Dec-2002  he Apply patch (requested by ad in ticket #1031):
Implement DPT EATA ioctl interface.
 1.615.2.19  11-Dec-2005  christos Sync with head.
 1.615.2.18  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.615.2.17  01-Apr-2005  skrll Sync with HEAD.
 1.615.2.16  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.615.2.15  04-Feb-2005  skrll Sync with HEAD.
 1.615.2.14  24-Jan-2005  skrll Sync with HEAD.
 1.615.2.13  17-Jan-2005  skrll Sync with HEAD.
 1.615.2.12  18-Dec-2004  skrll Sync with HEAD.
 1.615.2.11  29-Nov-2004  skrll Sync with HEAD.
 1.615.2.10  14-Nov-2004  skrll Sync with HEAD.
 1.615.2.9  02-Nov-2004  skrll Sync with HEAD.
 1.615.2.8  19-Oct-2004  skrll Sync with HEAD
 1.615.2.7  24-Sep-2004  skrll Sync with HEAD.
 1.615.2.6  21-Sep-2004  skrll Fix the sync with head I botched.
 1.615.2.5  18-Sep-2004  skrll Sync with HEAD.
 1.615.2.4  03-Sep-2004  skrll Sync with HEAD
 1.615.2.3  25-Aug-2004  skrll Sync with HEAD.
 1.615.2.2  12-Aug-2004  skrll Sync with HEAD.
 1.615.2.1  03-Aug-2004  skrll Sync with HEAD
 1.662.2.9  30-Aug-2004  tron branches: 1.662.2.9.2;
Pull up revision 1.682 (requested by itohy in ticket #800):
Workbit NinjaSCSI-32 PCI/CardBus SCSI driver (njs)
 1.662.2.8  21-Jun-2004  tron Pull up revision 1.675 (requested by toshii in ticket #517):
Link rtl81x9.c when re* is defined (hi, Toshi!)
 1.662.2.7  21-Jun-2004  tron Pull up revision 1.673 (requested by toshii in ticket #517):
Add re(4) RealTek 8139C+/8169/8169S/8110S PCI ethernet adapter driver,
from FreeBSD.
I haven't tested this code very well, but it seems to work fairly well
for me.
 1.662.2.6  22-May-2004  he Pull up revision 1.666 (requested by cl in ticket #337):
Upgrade xen support:
- add block device driver
- network device driver bug fixes
- support for vga/keyboard/mouse
- support for domain0 operations
- fix /dev/mem and i386_iopl, reboot, event dispatch
- fix clock support, cpu speed report, lazy fpu switching
- add xen12load loader
- sys/arch/xen parts of build.sh release support
[cl, ticket #337]
 1.662.2.5  09-May-2004  jdc Pull up revision 1.671 (requested by petrov in ticket #270)

Revert default uvm counters, rename UVMMAP_COUNTERS to UVMMAP_NOCOUNTERS.
 1.662.2.4  09-May-2004  jdc Pull up revision 1.670 (requested by petrov in ticket #269)

Replace uvm counters with evcnt, initialize them through __link_set (from Matt
Thomas),
disable counters by default and add configuration option UVMMAP_COUNTERS.
 1.662.2.3  09-Apr-2004  jmc Pullup rev 1.665 (requested by atatat in ticket #109)

s/SYSCTL_USE_DESCR/SYSCTL_INCLUDE_DESCR/g since the latter name seems
more popular. Or at least, less unpopular.
 1.662.2.2  09-Apr-2004  jmc Pullup rev 1.664 (requested by atatat in ticket #107)

Invert the meaning of SYSCTL_NO_DESCR by calling it SYSCTL_USE_DESCR
instead. This makes it an option to include the descriptions, as
opposed to an option to *exclude* them.
 1.662.2.1  08-Apr-2004  jdc Pull up revision 1.663 (requested by atatat in ticket #86)

Create opt_sysctl.h which will hold sysctl related options. I suspect
most of these won't be used (well, the description related one will
be), but it's good to formalize things.
 1.662.2.9.2.2  11-Apr-2006  riz Pull up following revision(s) (requested by he in ticket #10409):
sys/conf/files: revision 1.764
Commit forgotten definition of the ciss driver.
 1.662.2.9.2.1  13-May-2005  riz Pull up revision 1.703 (requested by bad in ticket #1479):
defparam USB_MEM_RESERVE
 1.702.2.1  03-Jan-2005  kent mulaw depends on dev/auconv.c
 1.707.2.2  29-Apr-2005  kent sync with -current
 1.707.2.1  16-Jan-2005  kent add AUDIO_KMIXER option.
AUDIO_KMIXER is not defined or AUDIO_KMIXER is 1:
a /dev/audioN can be opened just once.
AUDIO_KMIXER is <= 0:
a /dev/audioN can be opened unlimitedly.
AUDIO_KMIXER is > 0 and <= INT_MAX:
a /dev/audioN can be opened AUDIO_KMIXER times simultaneously.
 1.709.2.3  26-Mar-2005  yamt sync with head.
 1.709.2.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.709.2.1  12-Feb-2005  yamt sync with head.
 1.712.2.11  15-Oct-2007  riz Pull up following revisions via patch (requested by bouyer in ticket #1838):
distrib/sets/lists/man/mi: revision 1.997
sbin/bioctl/strtonum.c: revision 1.1
sys/dev/Makefile: revision 1.25
sys/arch/amd64/conf/GENERIC: revision 1.139
sbin/bioctl/strtonum.h: revision 1.1
sys/dev/bio.c: revision 1.1
sbin/bioctl/bioctl.c: revision 1.1
share/man/man4/bio.4: revision 1.1
sbin/bioctl/bioctl.8: revision 1.1
sys/sys/envsys.h: revision 1.11
sbin/bioctl/bioctl.8: revision 1.3
sbin/bioctl/bioctl.8: revision 1.4
sys/arch/i386/conf/XEN2_DOM0: revision 1.25
distrib/sets/lists/base/mi: revision 1.704
sys/conf/majors: revision 1.34
share/man/man4/Makefile: revision 1.426
etc/MAKEDEV.tmpl: revision 1.86
sys/arch/i386/conf/GENERIC: revision 1.825
distrib/sets/lists/comp/mi: revision 1.1022
sys/conf/files: revision 1.839
usr.sbin/envstat/envstat.c: revision 1.24
sbin/Makefile: revision 1.105
sys/dev/ic/mfi.c: revision 1.4
sys/dev/biovar.h: revision 1.1
sys/dev/ic/mfivar.h: revision 1.4
sbin/bioctl/Makefile: revision 1.1
Fix typo.
Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
Fix Dd argument (use full month names).
Use more markup.
Comment out references to safte(4) and softraid(4), which don't exist in
NetBSD.
Remove trailing whitespace.
Use macros instead of characters for HTML output (replace ">", "<"
with \*[Gt], \*[Lt]).
Sort sections.
Create /dev/bio
 1.712.2.10  23-Dec-2006  ghen Pull up following revision(s) (requested by bouyer in ticket #1609):
sys/arch/i386/conf/INSTALL: revision 1.298
sys/arch/i386/conf/GENERIC: revision 1.802
sys/dev/pci/files.pci: revision 1.274
sys/arch/amd64/conf/GENERIC: revision 1.122
sys/dev/pci/mfi_pci.c: revision 1.1 via patch
distrib/sets/lists/man/mi: revision 1.958
sys/arch/amd64/conf/INSTALL: revision 1.61
sys/dev/ic/mfireg.h: revision 1.1
share/man/man4/Makefile: revision 1.416 via patch
sys/dev/ic/mfi.c: revision 1.1
sys/arch/i386/conf/XEN2_DOM0: revision 1.19
sys/dev/ic/mfivar.h: revision 1.1
sys/conf/files: revision 1.821
share/man/man4/mfi.4: revision 1.1
share/man/man4/mfi.4: revision 1.2
sys/dev/pci/pcidevs via patch
Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
Punctuation issues.
 1.712.2.9  08-Apr-2006  tron Pull up following revision(s) (requested by he in ticket #1247):
sys/conf/files: revision 1.764
Commit forgotten definition of the ciss driver.
 1.712.2.8  21-Jan-2006  snj Pull up following revision(s) (requested by cube in ticket #1122):
sys/conf/files: revision 1.752
tap(4) depends on arp: it is an Ethernet interface, after all.
Solves PR 32548 by Pawel Chwalowski.
 1.712.2.7  20-Jan-2006  riz Back out tickets 490, 559, and 560, which added "magic symlinks", at
the request of chs@ (thorpej@ concurs), as there is consensus that
this should be changed to a system-wide tunable, rather than a mount
option.
 1.712.2.6  29-Dec-2005  riz Pull up following revision(s) (requested by thorpej in ticket #490):
lib/libc/sys/mount.2: revision 1.33
sys/sys/systm.h: revision 1.179
sys/sys/fstypes.h: revision 1.4
include/mntopts.h: revision 1.6
sys/conf/newvers.sh: revision 1.41
sys/kern/vfs_syscalls.c: revision 1.223
sys/conf/files: revision 1.720
sys/kern/vfs_lookup.c: revision 1.61
share/man/man7/symlink.7: revision 1.7
sbin/mount/mount.8: revision 1.47
sys/kern/init_main.c: revision 1.248 via patch
share/man/man4/options.4: revision 1.280 via patch
Implement expansion of special "magic" strings in symlinks into
system-specific values. Submitted by Chris Demetriou in Nov 1995 (!)
in PR kern/1781, modified only slighly by me.
This is enabled on a per-mount basis with the MNT_MAGICLINKS mount
flag. It can be enabled at mountroot() time by building the kernel
with the ROOTFS_MAGICLINKS option.
The following magic strings are supported by the implementation:
@machine value of MACHINE for the system
@machine_arch value of MACHINE_ARCH for the system
@hostname the system host name, as set with sethostname()
@domainname the system domain name, as set with setdomainname()
@kernel_ident the kernel config file name
@osrelease the releaes number of the OS
@ostype the name of the OS (always "NetBSD" for NetBSD)
Example usage:
mkdir /arch/i386/bin
mkdir /arch/sparc/bin
ln -s /arch/@machine_arch/bin /bin
 1.712.2.5  08-Sep-2005  tron Apply patch (requested by elad in ticket #740):
Defopt VERIFIED_EXEC.
 1.712.2.4  23-Aug-2005  tron Backout ticket 685. It causes build failures.
 1.712.2.3  23-Aug-2005  tron Pull up revision 1.725 (requested by elad in ticket #685):
Defopt VERIFIED_EXEC*
 1.712.2.2  14-Aug-2005  riz Pull up revision 1.726 via patch (requested by hubertf in ticket #625):
Add support for reading cloop2 compressed filesystem images,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.712.2.1  10-Jun-2005  tron Pull up revision 1.717 (requested by elad in ticket #389):
Rototill of the verified exec functionality.
* We now use hash tables instead of a list to store the in kernel
fingerprints.
* Fingerprint methods handling has been made more flexible, it is now
even simpler to add new methods.
* the loader no longer passes in magic numbers representing the
fingerprint method so veriexecctl is not longer kernel specific.
* fingerprint methods can be tailored out using options in the kernel
config file.
* more fingerprint methods added - rmd160, sha256/384/512
* veriexecctl can now report the fingerprint methods supported by the
running kernel.
* regularised the naming of some portions of veriexec.
 1.722.2.12  24-Mar-2008  yamt sync with head.
 1.722.2.11  17-Mar-2008  yamt sync with head.
 1.722.2.10  27-Feb-2008  yamt sync with head.
 1.722.2.9  04-Feb-2008  yamt sync with head.
 1.722.2.8  21-Jan-2008  yamt sync with head
 1.722.2.7  07-Dec-2007  yamt sync with head
 1.722.2.6  15-Nov-2007  yamt sync with head.
 1.722.2.5  27-Oct-2007  yamt sync with head.
 1.722.2.4  03-Sep-2007  yamt sync with head.
 1.722.2.3  26-Feb-2007  yamt sync with head.
 1.722.2.2  30-Dec-2006  yamt sync with head.
 1.722.2.1  21-Jun-2006  yamt sync with head.
 1.736.2.2  02-Nov-2005  yamt sync with head.
 1.736.2.1  26-Oct-2005  yamt sync with head
 1.739.2.4  29-Nov-2005  yamt sync with head.
 1.739.2.3  22-Nov-2005  yamt sync with head.
 1.739.2.2  15-Nov-2005  yamt remove subr_vmem.c, which was added mistakenly.
 1.739.2.1  15-Nov-2005  yamt add uvm_readahead.c.
 1.750.2.4  01-Mar-2006  yamt sync with head.
 1.750.2.3  18-Feb-2006  yamt sync with head.
 1.750.2.2  01-Feb-2006  yamt sync with head.
 1.750.2.1  15-Jan-2006  yamt sync with head.
 1.754.2.1  09-Sep-2006  rpaulo sync with head
 1.757.2.6  07-Jun-2006  kardel Sync with head.
 1.757.2.5  07-Jun-2006  kardel Sync with head.
 1.757.2.4  01-Jun-2006  kardel Sync with head.
 1.757.2.3  22-Apr-2006  simonb Sync with head.
 1.757.2.2  04-Feb-2006  simonb Pull in timecounter support.
 1.757.2.1  04-Feb-2006  simonb Sort defflags and defparams.
 1.763.6.2  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.763.6.1  28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.763.4.3  11-May-2006  elad sync with head
 1.763.4.2  19-Apr-2006  elad sync with head.
 1.763.4.1  08-Mar-2006  elad Compile kern/kern_auth.c too.
 1.763.2.7  14-Sep-2006  yamt sync with head.
 1.763.2.6  03-Sep-2006  yamt sync with head.
 1.763.2.5  11-Aug-2006  yamt sync with head
 1.763.2.4  26-Jun-2006  yamt sync with head.
 1.763.2.3  24-May-2006  yamt sync with head.
 1.763.2.2  11-Apr-2006  yamt sync with head
 1.763.2.1  01-Apr-2006  yamt sync with head.
 1.775.2.3  22-Jun-2006  chap Complete a sync sys/ with head.
 1.775.2.2  19-Jun-2006  chap Sync with head.
 1.775.2.1  06-Jun-2006  chap Add midictl, a module dedicated to managing a MIDI controller/parameter
space, as a first step to getting the partial and duplicated controller-
handling logic OUT of the md synth chip drivers, and getting as much as
possible of the control effects that are common and well-defined (pitch
bend depth, say) handled centrally by midisyn itself.

Compiles, works in unit testing, added to 'files', but nothing else in
the kernel calls it yet.

Possibly some naming of private symbols to be revisited pending style
question posted on tech-kern.
 1.781.2.1  13-Jul-2006  gdamore Merge from HEAD.
 1.810.2.8  09-Feb-2007  ad Sync with HEAD.
 1.810.2.7  01-Feb-2007  ad Sync with head.
 1.810.2.6  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.810.2.5  19-Jan-2007  ad Add some DEBUG code to check that items being freed were previously
allocated from the same source. Needs to be enabled via DDB.
 1.810.2.4  12-Jan-2007  ad Sync with head.
 1.810.2.3  18-Nov-2006  ad Sync with head.
 1.810.2.2  21-Oct-2006  ad Add new files.
 1.810.2.1  11-Sep-2006  ad Add kern_mutex.c, kern_rwlock.c, kern_turnstile.c
 1.811.2.3  18-Dec-2006  yamt sync with head.
 1.811.2.2  10-Dec-2006  yamt sync with head.
 1.811.2.1  22-Oct-2006  yamt sync with head
 1.819.2.5  31-Aug-2007  pavel branches: 1.819.2.5.2;
Pull up following revision(s) (requested by bouyer in ticket #678):
distrib/sets/lists/man/mi: revision 1.1001
doc/CHANGES: revision 1.853 via patch
share/man/man4/Makefile: revision 1.428
share/man/man4/jmide.4: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.143
sys/arch/amd64/conf/INSTALL: revision 1.69
sys/arch/i386/conf/GENERIC: revision 1.827
sys/arch/i386/conf/INSTALL_LARGE: revision 1.2 via patch
sys/arch/i386/conf/XEN2_DOM0: revision 1.26
sys/conf/files: revision 1.844 via patch
sys/dev/ic/ahcisata_core.c: revision 1.1 via patch
sys/dev/ic/ahcisata_core.c: revision 1.3
sys/dev/ic/ahcisatareg.h: revision 1.1
sys/dev/ic/ahcisatavar.h: revision 1.1
sys/dev/pci/ahcisata.c: delete
sys/dev/pci/ahcisatareg.h: delete
sys/dev/pci/ahcisata_pci.c: revision 1.1
sys/dev/pci/files.pci: revision 1.287-1.288
sys/dev/pci/jmide.c: revision 1.1-1.2
sys/dev/pci/jmide_reg.h: revision 1.1
sys/dev/pci/pcidevs: revision 1.878
Add JMicron Technology vendor ID, and their current PCIe SATA/PATA
controllers.

Split the ahcisata driver in pci front-end and bus-independant back-end.
add jmide(4), a driver for the JMicron Technology JMB36x PCIe to SATA II/PATA
controllers. These controllers can be found on add-on PCIe cards, or
on some motherboards to provide the PATA connectivity (e.g. some intel
ICH8-based motherboards).
Thanks to JMicron Technology for providing me documentation and
different sample boards for this work.

Move mapping of AHCI register so that jmide knows if it fails, and avoids
calling ahci_intr() (which would cause a panic).
Try to use the pciide function for SATA drives if attaching ahci fails (this
doesn't seems to work though, it may be BIOS dependant).
Thanks to Gary Duzan for testing multiple pacthes.

We're not ready to handle ATAPI yet so just claim there's no drive to the
upper layer. This should work around a NULL pointer dereference when
an ATAPI device is detected on a AHCI device.
 1.819.2.4  13-May-2007  jdc branches: 1.819.2.4.2;
Pull up revision 1.842 (requested by manu in ticket #635).

Add the TFTPROOT kernel option for TFTP'ing root RAMdisk at root mount time.
This allows working around situations where a kernel with embedded RAMdisk
cannot be booted by the bootloader because the RAMdisk is too big.
 1.819.2.3  13-May-2007  pavel Pull up patch (requested by xtraeme in ticket #633):
sys/arch/amd64/conf/GENERIC: patch
sys/arch/i386/conf/ALL: patch
sys/arch/i386/conf/GENERIC: patch
sys/conf/files: patch
sys/dev/acpi/files.acpi: patch
sys/dev/acpi/ug_acpi.c: patch
sys/dev/ic/ug.c: patch
sys/dev/ic/ugreg.h: patch
sys/dev/ic/ugvar.h: patch
sys/dev/isa/files.isa: patch
sys/dev/isa/ug_isa.c: patch
share/man/man4/ug.4: patch
doc/CHANGES: patch
sys/dev/isa/ug.c: delete
sys/dev/isa/ugvar.h: delete

Add an acpi attachement for the ug hardware monitor driver.
 1.819.2.2  08-May-2007  pavel Pull up following revision(s) (requested by bouyer in ticket #603):
distrib/sets/lists/base/mi: revision 1.704
distrib/sets/lists/comp/mi: revision 1.1022
distrib/sets/lists/man/mi: revision 1.997
doc/CHANGES: revision 1.839
sbin/Makefile: patch
sbin/bioctl/Makefile: revision 1.1
sbin/bioctl/bioctl.8: revision 1.1
sbin/bioctl/bioctl.c: revision 1.1
sbin/bioctl/strtonum.c: revision 1.1
sbin/bioctl/strtonum.h: revision 1.1
share/man/man4/Makefile: revision 1.426
share/man/man4/bio.4: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.139
sys/arch/i386/conf/GENERIC: revision 1.825
sys/arch/i386/conf/XEN2_DOM0: revision 1.25
sys/conf/files: revision 1.839
sys/conf/majors: patch
sys/dev/Makefile: revision 1.25
sys/dev/bio.c: patch
sys/dev/biovar.h: patch
sys/dev/ic/mfi.c: revision 1.4-1.5
sys/dev/ic/mfivar.h: revision 1.4
sys/sys/envsys.h: revision 1.11
usr.sbin/envstat/envstat.c: revision 1.24
Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.

note bio(4), envsys(4) DRIVE, and mfi(4) support for both.

tred->sensor is a u_int.
 1.819.2.1  21-Dec-2006  tron Pull up following revision(s) (requested by bouyer in ticket #286):
sys/arch/i386/conf/INSTALL: revision 1.298
sys/arch/i386/conf/GENERIC: revision 1.802
sys/dev/pci/files.pci: revision 1.274
sys/arch/amd64/conf/GENERIC: revision 1.122
sys/dev/pci/mfi_pci.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.958
sys/arch/amd64/conf/INSTALL: revision 1.61
sys/arch/i386/conf/ALL: revision 1.75
sys/dev/ic/mfireg.h: revision 1.1
share/man/man4/Makefile: revision 1.416
sys/dev/ic/mfi.c: revision 1.1
sys/arch/i386/conf/XEN2_DOM0: revision 1.19
sys/dev/ic/mfivar.h: revision 1.1
sys/conf/files: revision 1.821
share/man/man4/mfi.4: revision 1.1
Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
 1.819.2.5.2.1  10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.819.2.4.2.1  03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.831.6.1  22-May-2007  itohy Overhaul of USB stack, mostly DMA related

This applies to NetBSD 4.99.13 (March 1, 2007)

usbdi(9) interface is based on FreeBSD version, excluding
- removal of portability code

Patch most NetBSD changes, excluding
- DMA memory "reserve", since we don't need contiguous buffers any longer
- volatiles in DMA structure, since it should not be needed
with proper bus_dmamap_sync(9)s

DMA/non-DMA memory management overhaul
- Move all DMA related code to usb_mem.[ch]
(add usb_alloc_buffer_dma(), usb_free_buffer_dma(), etc.).
XXX Should usb_mem.[ch] be renamed as usb_mem_dma.[ch] ?
- Add corresponding non-DMA code to usb_mem_nodma.[ch] .
Currently just use malloc(9).
- Above files are conditionally used by config framework (added
attributes to conf/files and dev/usb/files.usb).
- Add diagnostic panics when resource allocation is requested
on interrupt context.
- Change memory allocations (that require context) from NOWAIT to WAITOK.

Allocate DMA/non-DMA buffer per host interface, not globally.
advantage: Buffers can be freed on detaching host interface.
Activity of a host interface does not affect others.
disadvantages: It possibly consumes more memory.

API changes
- usbd_alloc_xfer() is changed:
old: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev);
new: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev,
usbd_pipe_handle pipe);
- pipe argument of usbd_setup_*xfer() are now unused
XXX the pipe argument should be removed?
- add mapping APIs
- async request will be processed as a task (kernel thread context),
and delayed to some extent
- usbdivar.h: struct usbd_xfer: renamed a member "allocbuf" to "hcbuffer"
(mapped/allocated/refered buffer for HCI driver)
- usb_port.h: change usb_proc_ptr from struct ptoc * to struct lwp *
- usb_port.h: add usb_sigproc_ptr for psignal(9) (struct proc *)
- usb.h: add UE_MAXPKTSZ(ep) and UE_MAXPKTSZ_MASK macros for USB 2.0

changes to USB device drivers
- atu, aue, axe, cdce, cue, kue, rum, udav, upl, ural, url,
uaudio, ubt, ucom, ugen, uhidev, uirda, ulpt, umidi, urio,
uscanner, ustir, utoppy:
* catch up API change of usbd_alloc_xfer()
- umass, usscanner:
* catch up API change of usbd_alloc_xfer()
* eliminate memory copy for large transfer

ohci
- free resources on detach
- add lots of bus_dmamap_sync() operations
- simplify the code of loading std chain
- rewrite code of looking up TD/ITD from DMA addr by using allocation chunk
- add workaround for CMD Tech 670 and 673 chipsets
- make sure resources are not allocated in interrupt context
- add support for mapping buffer and mbuf

slhci
- allocate xfer and slhci_xfer at once, and simplify relevant code
- add slhci_detach()
- remove second arg of slhci_attach() since it is the same as the first arg.
- add support for "mapping" (no, it doesn't map since it doesn't do DMA)
buffer and mbuf
- add pcmcia frontend
- NOT TESTED, missing hardware

ehci
- add lots of bus_dmamap_sync() operations, possibly too many
- make sure resources are not allocated in interrupt context
- add support for mapping buffer and mbuf
- done only simple test

uhci
- add lots of bus_dmamap_sync() operations, possibly too many
- make sure resources are not allocated in interrupt context
- add support for mapping buffer and mbuf

To do
- review, test, debug
- rewrite network drivers to utilize usbd_map_buffer_mbuf()
- rewrite uaudio(4) to eliminate memcpy
- "pipe" argument of usbd_setup_*xfer() should eventually be removed
 1.831.2.8  17-May-2007  yamt sync with head.
 1.831.2.7  07-May-2007  yamt sync with head.
 1.831.2.6  15-Apr-2007  yamt sync with head.
 1.831.2.5  24-Mar-2007  yamt sync with head.
 1.831.2.4  24-Mar-2007  yamt initialize ci->ci_schedstate.spc_mutex of APs.
(sched_rqinit is called before APs are attached.)
 1.831.2.3  12-Mar-2007  rmind Sync with HEAD.
 1.831.2.2  20-Feb-2007  rmind General Common Scheduler Framework (CSF) patch import. Huge thanks for
Daniel Sieger <dsieger at TechFak.Uni-Bielefeld de> for this work.

Short abstract: Split the dispatcher from the scheduler in order to
make the scheduler more modular. Introduce initial API for other
schedulers' implementations.

Discussed in tech-kern@
OK: yamt@, ad@

Note: further work will go soon.
 1.831.2.1  17-Feb-2007  yamt - separate context switching and thread scheduling.
- introduce idle lwp.
- change some related MD/MI interfaces and implement i386 version.
 1.834.6.2  29-Mar-2007  reinoud Pullup to -current
 1.834.6.1  18-Mar-2007  reinoud First attempt to bring branch in sync with HEAD
 1.834.4.2  11-Jul-2007  mjf Sync with head.
 1.834.4.1  30-Mar-2007  mjf Provide a test journal. It's just a wrapper to bwrite and doesn't
actually do any journaling, but we need something to give the
transactions to.
 1.834.2.11  23-Oct-2007  ad Sync with head.
 1.834.2.10  10-Oct-2007  rmind Sync with HEAD.
 1.834.2.9  09-Oct-2007  ad Sync with head.
 1.834.2.8  09-Oct-2007  ad Sync with head.
 1.834.2.7  26-Aug-2007  ad - Add a generic cross-call facility. Right now this only does threaded cross
calls but that should be extended to do IPIs. These are deliberately set
up as bound kthreads (and not soft interrupts or something else) so that
the called functions can use the spl framework or disable preemption in
order to guarantee exclusive access to CPU-local data.

- Use cross calls to take CPUs online or offline. Ok to do since bound LWPs
still execute on offline CPUs. As a result schedstate_percpu's::spc_flags
is CPU-local again and doesn't need locking.
 1.834.2.6  20-Aug-2007  ad Sync with HEAD.
 1.834.2.5  15-Jul-2007  ad Sync with head.
 1.834.2.4  17-Jun-2007  ad - Increase the number of thread priorities from 128 to 256. How the space
is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
is provided, with hooks for fast-path MD code that can run the interrupt
threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.
 1.834.2.3  09-Jun-2007  ad Sync with head.
 1.834.2.2  08-Jun-2007  ad Sync with head.
 1.834.2.1  10-Apr-2007  ad Sync with head.
 1.852.2.3  10-Sep-2007  skrll Sync with HEAD.
 1.852.2.2  03-Sep-2007  skrll Sync with HEAD.
 1.852.2.1  15-Aug-2007  skrll Sync with HEAD.
 1.856.4.10  08-Dec-2007  jmcneill Rename pnp(9) -> pmf(9), as requested by many.
 1.856.4.9  21-Nov-2007  joerg Sync with HEAD.
 1.856.4.8  14-Nov-2007  joerg Sync with HEAD.
 1.856.4.7  11-Nov-2007  joerg Sync with HEAD.
 1.856.4.6  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.856.4.5  07-Oct-2007  joerg Sync with HEAD.
 1.856.4.4  02-Oct-2007  joerg Sync with HEAD.
 1.856.4.3  16-Aug-2007  jmcneill Sync with HEAD.
 1.856.4.2  04-Aug-2007  jmcneill Sync with HEAD.
 1.856.4.1  03-Aug-2007  jmcneill Pull in power management changes from private branch.
 1.857.2.2  04-Aug-2007  ad Add cpuctl(8). For now this is not much more than a toy for debugging and
benchmarking that allows taking CPUs online/offline.
 1.857.2.1  04-Aug-2007  ad file files was added on branch matt-mips64 on 2007-08-04 11:03:00 +0000
 1.861.2.3  23-Mar-2008  matt sync with HEAD
 1.861.2.2  09-Jan-2008  matt sync with HEAD
 1.861.2.1  06-Nov-2007  matt sync with HEAD
 1.863.2.3  18-Oct-2007  yamt sync with head.
 1.863.2.2  14-Oct-2007  yamt sync with head.
 1.863.2.1  06-Oct-2007  yamt sync with head.
 1.869.4.5  18-Feb-2008  mjf Add some devfs code that's been sitting in my local tree for a while.

devfsd(8) is now the first daemon to be started after init(8). It tracks
device insertion (will eventually track removal) and devfs mounts.

Currently, we can mount multiple device file systems and have device
special files pushed into the mounts automatically, though, the device
special files aren't created with the correct major/minor number pairs
yet.

More work to come soon.
 1.869.4.4  18-Feb-2008  mjf Sync with HEAD.
 1.869.4.3  27-Dec-2007  mjf Sync with HEAD.
 1.869.4.2  08-Dec-2007  mjf Sync with HEAD.
 1.869.4.1  19-Nov-2007  mjf Sync with HEAD.
 1.869.2.3  21-Nov-2007  bouyer Sync with HEAD
 1.869.2.2  18-Nov-2007  bouyer Sync with HEAD
 1.869.2.1  13-Nov-2007  bouyer Sync with HEAD
 1.875.4.1  11-Dec-2007  yamt sync with head.
 1.875.2.1  26-Dec-2007  ad Sync with head.
 1.876.4.1  03-Mar-2008  cube Compile subr_device.c, too.
 1.876.2.4  19-Jan-2008  bouyer Sync with HEAD
 1.876.2.3  08-Jan-2008  bouyer Sync with HEAD
 1.876.2.2  02-Jan-2008  bouyer Sync with HEAD
 1.876.2.1  13-Dec-2007  bouyer Sync with HEAD
 1.892.6.10  17-Jan-2009  mjf - Fix a CVS merge breakage
- Catch up with some driver changes
 1.892.6.9  17-Jan-2009  mjf Sync with HEAD.
 1.892.6.8  05-Oct-2008  mjf Sync with HEAD.
 1.892.6.7  28-Sep-2008  mjf Sync with HEAD.
 1.892.6.6  29-Jun-2008  mjf Sync with HEAD.
 1.892.6.5  02-Jun-2008  mjf Sync with HEAD.
 1.892.6.4  04-Apr-2008  mjf * Catch up with selnotify() changes.

* Catch up with some softc changes in HEAD.

* More s/dctl/devfsctl/ changes.

* Remove debugging printfs from init(8) that slipped in by mistake.

* Cosmetic changes in devfsd, allow multiple attributes to be set in
one rule. Switch from err() to syslog() messages.

* Fix etc/devfsd.conf, I'd made some changes previously that had syntax
errors.
 1.892.6.3  03-Apr-2008  mjf Revert previous botched commit.
 1.892.6.2  03-Apr-2008  mjf Sync with HEAD.
 1.892.6.1  21-Feb-2008  mjf Start where the mjf-devfs branch left off.
 1.892.2.2  24-Mar-2008  keiichi sync with head.
 1.892.2.1  22-Feb-2008  keiichi imported Mobile IPv6 code developed by the SHISA project
(http://www.mobileip.jp/).
 1.898.2.3  17-Jun-2008  yamt sync with head.
 1.898.2.2  04-Jun-2008  yamt sync with head
 1.898.2.1  18-May-2008  yamt sync with head.
 1.899.2.10  09-Oct-2010  yamt sync with head
 1.899.2.9  11-Aug-2010  yamt sync with head.
 1.899.2.8  11-Mar-2010  yamt sync with head
 1.899.2.7  16-Sep-2009  yamt sync with head
 1.899.2.6  19-Aug-2009  yamt sync with head.
 1.899.2.5  18-Jul-2009  yamt sync with head.
 1.899.2.4  20-Jun-2009  yamt sync with head
 1.899.2.3  16-May-2009  yamt sync with head
 1.899.2.2  04-May-2009  yamt sync with head.
 1.899.2.1  16-May-2008  yamt sync with head.
 1.905.2.7  15-Oct-2008  wrstuden Per discussion with core, bring this file back under sys/compat.
I chose compat/sa/compat_sa.c as there is only one file. Please
see sys/kern/kern_sa.c for revision history.
 1.905.2.6  10-Oct-2008  skrll Sync with HEAD.
 1.905.2.5  24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.905.2.4  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.905.2.3  21-Jul-2008  wrstuden Add support for compiling SA as an option. Implied by COMPAT_40.

i386 kernels both with COMPAT_40 and with no compat options (and thus
no SA) compile.

No functional changes intended.
 1.905.2.2  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.905.2.1  10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.906.2.4  18-Jul-2008  simonb Sync with head.
 1.906.2.3  27-Jun-2008  simonb Sync with head.
 1.906.2.2  18-Jun-2008  simonb Sync with head.
 1.906.2.1  10-Jun-2008  simonb Initial commit of Wasabi System's WAPBL (Write Ahead Physical Block
Logging) journaling code. Originally written by Darrin B. Jewell
while at Wasabi and updated to -current by Antti Kantee, Andy Doran,
Greg Oster and Simon Burge.

Still a number of issues - look in doc/BRANCHES for "simonb-wapbl"
for more info.
 1.909.2.3  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.909.2.2  19-Oct-2008  haad Sync with HEAD.
 1.909.2.1  07-Jul-2008  haad Import of device-mapper driver. This driver is BSD rewrite of linux dm driver.
For now only error, linear and zero targets are supported. This driver uses NetBSD
specific ioctl protocola based on proplib.

I was able to create logical volume (with lvm2tools lvcreate utility) with this
version of driver, newfs it and mount it.
 1.924.4.7  20-Nov-2010  riz branches: 1.924.4.7.2;
Pull up following revision(s) (requested by tsutsui in ticket #1367):
sys/dev/ic/ne2000var.h: revision 1.25
sys/arch/atari/conf/MILAN.in: revision 1.24
sys/arch/atari/conf/MILAN.in: revision 1.25
sys/dev/ic/ne2000.c: revision 1.71
sys/dev/ic/ne2000.c: revision 1.72
sys/arch/atari/dev/if_ne_mb.c: revision 1.1
sys/arch/atari/dev/if_ne_mb.c: revision 1.2
sys/arch/atari/conf/MILAN-PCIIDE: revision 1.69
sys/arch/atari/conf/HADES.in: revision 1.10
sys/arch/atari/conf/HADES.in: revision 1.11
sys/arch/x68k/dev/if_ne_neptune.c: revision 1.20
sys/dev/isa/if_ne_isa.c: revision 1.27
sys/arch/atari/atari/autoconf.c: revision 1.57
sys/dev/ic/ne2000.c: revision 1.62
sys/dev/isapnp/if_ne_isapnp.c: revision 1.27
sys/arch/atari/conf/files.atari: revision 1.117
sys/arch/atari/conf/HADES: revision 1.88
sys/arch/atari/conf/GENERIC.in: revision 1.85
sys/dev/ic/ne2000.c: revision 1.65
sys/dev/ic/ne2000.c: revision 1.66
sys/dev/ic/ne2000.c: revision 1.68
sys/arch/atari/conf/MILAN-ISAIDE: revision 1.65
distrib/notes/atari/hardware: revision 1.24
sys/conf/files: revision 1.980
sys/dev/ic/ne2000var.h: revision 1.21
sys/arch/x68k/dev/if_ne_intio.c: revision 1.16
sys/dev/ic/dp8390.c: revision 1.74
sys/dev/ic/dp8390.c: revision 1.75
Added NE2000 with 8bit bus width support.
reviewd by tsutsui@ at tech-kern ML.
Fix a wrong calculation bug around RX ring buffer memory address
slipped in about sixteen years ago. Fortunately, it had been working
for ages because some devices used address zero and other devices
ignored wrong higher bits.
Tested on we(4) (SMC Elite Ultra) and ne(4) (NE2000 compatible
named UL0001) on ISA.
Note FreeBSD also uses the same correct value in their ed(4) driver.
Now dp8390_config() calculates mem_ring correctly so
no longer need to override it in ne2000_attach().
Use roundup2() in <sys/param.h> rather than a conditional.
Also fix a wrong mem_ring calculation in dp8390_ipkdb_attach().
Put several fixes to ne(4) driver for better 8 bit mode support,
especially on RTL8019AS which is also used for non-ISA local bus of
embedded controllers and some m68k machines like atari and x68k.
* move RTL8019 probe and attach code from each bus attachment
to MI ne2000_detect() and ne2000_attach()
* change a method for backend and attachment to specify 8 bit mode
to use a new sc->sc_quirk member, instead of sc->sc_dmawidth
* handle more NE2000 8 bit mode specific settings, including
bus_space(9) access width and available size of buffer memory
* add a function to detect NE2000 8 bit mode
(disabled by default, but enalbed by options NE2000_DETECT_8BIT
to avoid possible regression on various ISA clones)
* fix ipkdb attachment accordingly (untested)
Tested on two NE2000 ISA variants (RTL8019AS and another clone named UL0001)
in both 8 bit and 16 bit mode on i386. "Looks good" from nonaka@.
See my post on tech-kern for details:
http://mail-index.NetBSD.org/tech-kern/2010/02/26/msg007423.html
No need to override mem_ring value in ne2000_ipkdb_attach()
since a wrong calculation in dp8390_ipkdb_attach() was fixed.
Don't warn about DMA timeout during probe.
Add support for the EtherNEC.
The EtherNEC is yet another user designed device for Atari machines,
an NE2000 based ISA board connected to Atari's ROM cartridge slot with
simple but ingenious interface and cartridge port adapter, and
it's the most available network solution for the old Atari machines.
See following pages for more details about EtherNEC:
http://hardware.atari.org/ether/
http://home.arcor.de/thomas.redelberger/prj/atari/etherne/
http://www.freemint.org/ethernec/ethernec.html
Also note EtherNEC.
Use callout_schedule(9) rather than callout_reset(9) on polling
as callout(9) man says.
Remove EtherNEC from HADES and MILAN.
They have ISA so no one will bother to connect ISA NE2000 via EtherNEC.
Regen from HADES.in rev 1.11 and MILAN.in rev 1.25:
Remove EtherNEC from HADES and MILAN.
They have ISA so no one will bother to connect ISA NE2000 via EtherNEC.
 1.924.4.6  08-Oct-2009  sborrill Pull up the following revisions(s) (requested by jmcneill in ticket #1045):
distrib/sets/lists/man/mi: revision 1.1160
share/man/man4/Makefile: revision 1.499
share/man/man4/wb.4: revision 1.1-1.2
share/man/man4/ld.4: revision 1.17
sys/arch/i386/conf/ALL: revision 1.215-1.216 + patch
sys/arch/i386/conf/GENERIC: revision 1.946-1.947 + patch
sys/arch/amd64/conf/GENERIC: revision 1.254-1.256 + patch
sys/conf/files: revision 1.958
sys/dev/acpi/files.acpi: revision 1.59
sys/dev/acpi/wb_acpi.c: revision 1.1
sys/dev/ic/w83l518d.c: revision 1.1
sys/dev/ic/w83l518d_sdmmc.c: revision 1.1
sys/dev/ic/w83l518d_sdmmc.h: revision 1.1
sys/dev/ic/w83l518dreg.h: revision 1.1
sys/dev/ic/w83l518dvar.h.c: revision 1.1

wb(4): Add a driver for Winbond W83L518D SD/MMC readers.
 1.924.4.5  07-Oct-2009  sborrill Pull up the following revisions(s) (requested by jmcneill in ticket #1044):
distrib/sets/lists/man/mi: patch
share/man/man4/Makefile: patch
sys/arch/amd64/conf/files.amd64: 1.67
sys/arch/i386/conf/files.i386: 1.349
sys/conf/files 1.945
share/man/man4/sdmmc.4: 1.1-1.4
sys/dev/sdmmc/Makefile.sdmmcdevs 1.1
sys/dev/sdmmc/devlist2h.awk 1.1
sys/dev/sdmmc/files.sdmmc 1.1-1.2
sys/dev/sdmmc/ld_sdmmc.c 1.1-1.3
sys/dev/sdmmc/sbt.c 1.1-1.2
sys/dev/sdmmc/sdhc.c 1.1-1.3
sys/dev/sdmmc/sdhcreg.h 1.1
sys/dev/sdmmc/sdhcvar.h 1.1
sys/dev/sdmmc/sdmmc.c 1.1
sys/dev/sdmmc/sdmmc_cis.c 1.1
sys/dev/sdmmc/sdmmc_io.c 1.1
sys/dev/sdmmc/sdmmc_ioreg.h 1.1
sys/dev/sdmmc/sdmmc_mem.c 1.1-1.2
sys/dev/sdmmc/sdmmcchip.h 1.1
sys/dev/sdmmc/sdmmcdevs 1.1
sys/dev/sdmmc/sdmmcdevs.h 1.1-1.2
sys/dev/sdmmc/sdmmcreg.h 1.1-1.3
sys/dev/sdmmc/sdmmcvar.h 1.1

Add sdmmc framework
 1.924.4.4  28-Sep-2009  snj Pull up following revision(s) (requested by jakllsch in ticket #1023):
sys/conf/files: revision 1.956 via patch
sys/dev/pci/files.pci: revision 1.321
As, siisata attaches not just at pci, but for a while now, also at cardbus,
move siisata core driver config to the propper config file.
 1.924.4.3  28-Sep-2009  snj Pull up following revision(s) (requested by jakllsch in ticket #1023):
sys/conf/files: revision 1.947
sys/dev/ata/files.ata: revision 1.21
sys/dev/ata/satafis_subr.c: revision 1.1
sys/dev/ata/satafisreg.h: revision 1.1
sys/dev/ata/satafisvar.h: revision 1.1
ahcisata(4) and siisata(4) use similar SATA FIS functions, share them.
 1.924.4.2  07-Aug-2009  snj Apply patch (requested by jmcneill in ticket 775):
Update to the open source atheros HAL.
 1.924.4.1  15-Mar-2009  snj branches: 1.924.4.1.4;
Pull up following revision(s) (requested by christos in ticket #458):
sys/conf/Makefile.kern.inc: revision 1.121
sys/conf/files: revision 1.940
sys/kern/init_main.c: revision 1.381
sys/kern/kern_ssp.c: revision 1.1
sys/kern/subr_autoconf.c: revision 1.168
sys/sys/device.h: revision 1.116
sys/sys/systm.h: revision 1.233
Unbreak ssp kernels. The issue here that when the ssp_init() call was
deferred, it caused the return from the enclosing function to break, as
well as the ssp return on i386. To fix both issues, split configure in
two pieces the one before calling ssp_init and the one after, and move
the ssp_init() call back in main. Put ssp_init() in its own file, and
compile this new file with -fno-stack-protector. Tested on amd64.
XXX: If we want to have ssp kernels working on 5.0, this change needs to
be pulled up.
 1.924.4.7.2.1  26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.924.4.1.4.5  24-Mar-2014  matt Add sata_fis to ahcisata
 1.924.4.1.4.4  14-Feb-2014  matt defparam COM_TOLERANCE
 1.924.4.1.4.3  13-Nov-2013  matt Add usb_dma, xhci
 1.924.4.1.4.2  27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.924.4.1.4.1  21-Apr-2010  matt sync to netbsd-5
 1.924.2.3  28-Apr-2009  skrll Sync with HEAD.
 1.924.2.2  03-Mar-2009  skrll Sync with HEAD.
 1.924.2.1  19-Jan-2009  skrll Sync with HEAD.
 1.929.2.1  09-Dec-2008  ad Enable subr_pcq.c. The MIDI sequencer will use it to avoid lock order
and context problems.
 1.939.2.2  23-Jul-2009  jym Sync with HEAD.
 1.939.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.974.2.10  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.974.2.9  25-Aug-2010  uebayasi Indent.
 1.974.2.8  19-Aug-2010  uebayasi Initial addition of xmd(4), XIP memory disk.
 1.974.2.7  17-Aug-2010  uebayasi Sync with HEAD.
 1.974.2.6  11-Aug-2010  uebayasi Export flash_init() correctly. Calculate disk partition correctly.
Correct dmesg. Correct conditional compilation.
 1.974.2.5  07-Jul-2010  uebayasi Clean up; merge options DIRECT_PAGE into options XIP.
 1.974.2.4  31-May-2010  uebayasi Re-define the definition of "device page"; device pages are pages of
device memory. Pages which don't have vm_page (== can't be used for
generic use), but whose PV are tracked, are called "direct pages" from
now.
 1.974.2.3  30-Apr-2010  uebayasi Sync with HEAD.
 1.974.2.2  10-Feb-2010  uebayasi Make device page handling another kernel option. XIP depends on it.
 1.974.2.1  08-Feb-2010  uebayasi Add XIP flag and globally enable it on this branch.
 1.982.2.5  31-May-2011  rmind sync with head
 1.982.2.4  21-Apr-2011  rmind sync with head
 1.982.2.3  05-Mar-2011  rmind sync with head
 1.982.2.2  03-Jul-2010  rmind sync with head
 1.982.2.1  30-May-2010  rmind sync with head
 1.996.4.5  05-Mar-2011  bouyer Sync with HEAD
 1.996.4.4  17-Feb-2011  bouyer Sync with HEAD
 1.996.4.3  09-Feb-2011  bouyer Put both QUOTA and QUOTA2 in opt_quota.h
 1.996.4.2  08-Feb-2011  bouyer Sync with HEAD
 1.996.4.1  20-Jan-2011  bouyer Snapshot of work in progress on a modernised disk quota system:
- new quotactl syscall (versionned for backward compat), which takes
as parameter a path to a mount point, and a prop_dictionary
(in plistref format) describing commands and arguments.
For each command, status and data are returned as a prop_dictionary.
quota commands features will be added to take advantage of this,
exporting quota data or getting quota commands as plists.

- new on disk-format storage (all 64bit wide), integrated to metadata for
ffs (and playing nicely with wapbl).
Quotas are enabled on a ffs filesystem via superblock flags.
tunefs(8) can enable or disable quotas.
On a quota-enabled filesystem, fsck_ffs(8) will track per-uid/gid
block and inode usages, and will check and update quotas in Pass 6.
quota usage and limits are stored in unliked files (one for users,
one for groups)l fsck_ffs(8) will create the files if needed, or
free them if needed. This means that after enabling or disabling
quotas on a filesystem; a fsck_ffs(8) run is required.
quotacheck(8) is not needed any more, on a unclean shutdown
fsck or journal replay will take care of fixing quotas.
newfs(8) can create a ready-to-mount quota-enabled filesystem
(superblock flags are set and quota inodes are created).
Other new features or semantic changes:
- default quota datas, applied to users or groups which don't already
have a quota entry
- per-user/group grace time (instead of a filesystem global one)
- 0 really means "nothing allowed at all", not "no limit".
If you want "no limit", set the limit to UQUAD_MAX (tools will
understand "unlimited" and "-")

A quota file is structured as follow:
it starts with a header, containing a few per-filesystem values,
and the default quota limits.
Quota entries are linked together as a simple list, each entry has a
pointer (as an offset withing the file) to the next.
The header has a pointer to a list of free quota entries, and
a hash table of in-use entries. The size of the hash table depends
on the filesystem block size (header+hash table should fit in the
first block). The file is not sparse and is a multiple of
filesystem block size (when the free quota entry list is empty a new
filesystem block is allocated). quota entries to not cross
filesystem block boundaries.

In memory, the kernel keeps a cache of recently used quota entries
as a reference to the block number, and offset withing the block.
The quota entry itself is keept in the buf cache.

fsck_ffs(8), tunefs(8) and newfs(8) supports are completed (with
related atf tests :)
The kernel can update disk usage and report it via quotactl(2).

Todo: enforce quotas limits (limits are not checked by kernel yet)
update repquota, edquota and rpc.rquotad to the new world
implement compat_50_quotactl ioctl.
update quotactl(2) man page

fsck_ffs required fixes so that allocating new blocks or inodes will
properly update the superblock and cg sumaries. This was not an issue up
to now because superblock and cg sumaries check happened last, but now
allocations or frees can happen in pass 6.
 1.996.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.1030.2.6  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1030.2.5  23-Jan-2013  yamt sync with head
 1.1030.2.4  16-Jan-2013  yamt sync with (a bit old) head
 1.1030.2.3  30-Oct-2012  yamt sync with head
 1.1030.2.2  23-May-2012  yamt sync with head.
 1.1030.2.1  17-Apr-2012  yamt sync with head
 1.1032.2.6  02-Jun-2012  mrg sync to latest -current.
 1.1032.2.5  29-Apr-2012  mrg sync to latest -current.
 1.1032.2.4  05-Apr-2012  mrg sync to latest -current.
 1.1032.2.3  11-Mar-2012  mrg sync to latest -current
 1.1032.2.2  24-Feb-2012  mrg sync to -current.
 1.1032.2.1  18-Feb-2012  mrg merge to -current.
 1.1043.2.2  13-Feb-2013  riz Pull up following revision(s) (requested by skrll in ticket #813):

etc/MAKEDEV.tmpl 1.160
etc/etc.evbarm/MAKEDEV.conf 1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.1
external/broadcom/rpi-firmware/dist/bootcode.bin 1.2
external/broadcom/rpi-firmware/dist/fixup.dat 1.1
external/broadcom/rpi-firmware/dist/fixup.dat 1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2
external/broadcom/rpi-firmware/dist/start.elf 1.1
external/broadcom/rpi-firmware/dist/start.elf 1.2
external/broadcom/rpi-firmware/dist/start_cd.elf 1.1
external/broadcom/rpi-firmware/dist/start_cd.elf 1.2
sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch
sys/arch/arm/broadcom/files.bcm2835 1.14 via patch
sys/arch/evbarm/conf/RPI 1.23 via patch
sys/arch/evbarm/conf/files.rpi 1.3 via patch
sys/arch/evbarm/conf/mk.rpi 1.2 via patch
sys/arch/evbarm/conf/std.rpi 1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch
sys/arch/evbarm/rpi/vcio.h 1.1 via patch
sys/arch/evbarm/rpi/vcprop.h 1.7 via patch
sys/conf/files patch
sys/dev/sdmmc/sdhc.c 1.43
sys/dev/sdmmc/sdhcvar.h 1.13
sys/dev/usb/dwc_otg.c 1.45 via patch
sys/dev/usb/dwc_otgreg.h 1.5 via patch
sys/dev/usb/dwc_otgvar.h 1.11 via patch
sys/dev/usb/files.usb 1.126 via patch
sys/dev/usb/if_smsc.c 1.7 via patch
sys/dev/usb/if_smscreg.h 1.1 via patch
sys/dev/usb/if_smscvar.h 1.1 via patch
sys/dev/usb/usbdevices.config patch
sys/dev/usb/usbdevs 1.633 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/wscons/wsconsio.h 1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h 1.50
sys/dev/wscons/wsdisplay_util.c 1.2
sys/dev/videomode/edid.c 1.12 via patch

Greatly improved Raspberry Pi support. USB and onboard
Ethernet should work.
[skrll, ticket #813]
 1.1043.2.1  02-Jul-2012  jdc branches: 1.1043.2.1.2;
Pull up revisions:
src/sys/conf/files revision 1.1050
src/sys/miscfs/genfs/genfs.h revision 1.30 via patch
src/sys/miscfs/genfs/genfs_rename.c revision 1.1 via patch
src/sys/rump/librump/rumpvfs/Makefile.rumpvfs revision 1.33
(requested by riastradh in ticket #286).

Implement a genfs_rename abstraction.

First major step in incrementally adapting all the file systems to a
saner rename VOP protocol.
 1.1043.2.1.2.1  06-Dec-2012  matt Don't enable KERN_SA for COMPAT_40
 1.1057.2.5  03-Dec-2017  jdolecek update from HEAD
 1.1057.2.4  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1057.2.3  23-Jun-2013  tls resync from head
 1.1057.2.2  25-Feb-2013  tls resync with head
 1.1057.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1070.2.1  12-May-2013  khorben Added keyboard support for the TPS65950 companion chip.

Tested on the Nokia N900 (multi-user)
 1.1076.2.2  18-May-2014  rmind sync with head
 1.1076.2.1  28-Aug-2013  rmind sync with head
 1.1077.2.4  04-Mar-2014  riastradh Rework drm2 configuration and modularization.

- Split drm2.kmod into drmkms_linux, drmkms, drmkms_pci.
- Split up drmkms-related files.* similarly.
- Make drm_agp_* routines hooks that the drmkms_pci module installs.
- Reuse drm device major 180 for (old) drm and drmkms.

Now old drm and new drmkms can coexist happily in the same tree, with
or without PCI, and require no changes to userland.
 1.1077.2.3  29-Jan-2014  riastradh First draft of in-kernel drm2 attachment.

The drm2 `drm' device is now called `drmkms' (likewise `i915drmkms',
&c.) so that it can coexist with the old drm code to reduce diffs
from HEAD. (Can't call a device `drm2'.)
 1.1077.2.2  08-Sep-2013  riastradh Restore config `drm' attribute in sys/conf/files.

Not sure why this started to be necessary after the merge, but
whatever...
 1.1077.2.1  24-Jul-2013  riastradh Provisional NO_DRM config for testing with a module.

Too much trouble to keep this as an uncommitted change...
 1.1090.2.4  10-Aug-2014  tls The printf entropy source seems to have a lock-recursion problem.
Temporarily disable it unless options RND_PRINTF is set.
 1.1090.2.3  10-Aug-2014  tls Rebase.
 1.1090.2.2  09-Aug-2014  tls Replace "ccrand" ChaCha implementation of cprng_fast with Taylor's smaller
and somewhat simpler one. Fix rump builds so we can build a distribution.
 1.1090.2.1  17-Jul-2014  tls Adjustments to the "earlyentropy" branch in response to the various
discussions beginning with my initial proposal
http://mail-index.netbsd.org/tech-kern/2014/04/08/msg016876.html and
particularly the long discussion of cprng_fast() performance (e.g.
https://mail-index.netbsd.org/tech-crypto/2014/04/21/msg000642.html).

In particular:

* Per-CPU, lockless cprng_fast replacement using Dennis Ferguson's
"ccrand" implementation of ChaCha8.

* libkern arc4random() is gone, gone, gone.

* Entropy estimator reverted to 32-bit recordkeeping and timestamps
per Dennis' comments and analysis.

* LZF entropy estimator removed: it required a great deal of state,
and rejected only truly pathological input.

I have not yet reverted the changes that provide LZF in the kernel
as generic functionality; I will likely revert those changes prior
to any merge of this branch to HEAD.
 1.1096.2.10  03-Sep-2019  martin Pull up following revision(s) (requested by riastradh in ticket #1705):

sys/crypto/nist_hash_drbg/nist_hash_drbg.c: revision 1.1
sys/crypto/nist_hash_drbg/nist_hash_drbg.h: revision 1.1
sys/rump/kern/lib/libcrypto/Makefile: revision 1.5
sys/crypto/nist_hash_drbg/files.nist_hash_drbg: revision 1.1
sys/rump/librump/rumpkern/Makefile.rumpkern: revision 1.176
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes256.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_config.h: file removal
sys/conf/files: revision 1.1238
sys/dev/rndpseudo.c: revision 1.38
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.c: file removal
sys/sys/cprng.h: revision 1.13 - 1.15
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_aes_rijndael.h: file removal
sys/crypto/nist_ctr_drbg/files.nist_ctr_drbg: file removal
sys/kern/subr_cprng.c: revision 1.31
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes128.h: file removal

cprng.h: use static __inline for consistency with other include
headers and remove an unused function.

-

Switch from NIST CTR_DRBG with AES to NIST Hash_DRBG with SHA-256.

Benefits:
- larger seeds -- a 128-bit key alone is not enough for `128-bit security'
- better resistance to timing side channels than AES
- a better-understood security story (<a rel="nofollow" href="https://eprint.iacr.org/2018/349">https://eprint.iacr.org/2018/349</a>)
- no loss in compliance with US government standards that nobody ever
got fired for choosing, at least in the US-dominated western world
- no dirty endianness tricks
- self-tests

Drawbacks:
- performance hit: throughput is reduced to about 1/3 in naive measurements
=> possible to mitigate by using hardware SHA-256 instructions
=> all you really need is 32 bytes to seed a userland PRNG anyway
=> if we just used ChaCha this would go away...
 1.1096.2.9  05-Apr-2017  snj Pull up following revision(s) (requested by skrll in ticket #1395):
share/man/man4/axe.4: netbsd-7-nhusb
share/man/man4/axen.4: netbsd-7-nhusb
share/man/man4/cdce.4: netbsd-7-nhusb
share/man/man4/uaudio.4: netbsd-7-nhusb
share/man/man4/ucom.4: netbsd-7-nhusb
share/man/man4/uep.4: netbsd-7-nhusb
share/man/man4/urtw.4: netbsd-7-nhusb
share/man/man4/usb.4: netbsd-7-nhusb
share/man/man4/uyap.4: netbsd-7-nhusb
share/man/man4/xhci.4: netbsd-7-nhusb
share/man/man9/usbdi.9: netbsd-7-nhusb
sys/arch/amd64/conf/ALL: netbsd-7-nhusb
sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
sys/arch/i386/conf/ALL: netbsd-7-nhusb
sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
sys/conf/files: netbsd-7-nhusb
sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
sys/dev/ic/sl811hs.c: netbsd-7-nhusb
sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
sys/dev/usb/TODO: netbsd-7-nhusb
sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
sys/dev/usb/auvitek.c: netbsd-7-nhusb
sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
sys/dev/usb/ehci.c: netbsd-7-nhusb
sys/dev/usb/ehcireg.h: netbsd-7-nhusb
sys/dev/usb/ehcivar.h: netbsd-7-nhusb
sys/dev/usb/emdtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
sys/dev/usb/ezload.c: netbsd-7-nhusb
sys/dev/usb/ezload.h: netbsd-7-nhusb
sys/dev/usb/files.usb: netbsd-7-nhusb
sys/dev/usb/hid.c: netbsd-7-nhusb
sys/dev/usb/hid.h: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
sys/dev/usb/if_atu.c: netbsd-7-nhusb
sys/dev/usb/if_atureg.h: netbsd-7-nhusb
sys/dev/usb/if_aue.c: netbsd-7-nhusb
sys/dev/usb/if_auereg.h: netbsd-7-nhusb
sys/dev/usb/if_axe.c: netbsd-7-nhusb
sys/dev/usb/if_axen.c: netbsd-7-nhusb
sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
sys/dev/usb/if_axereg.h: netbsd-7-nhusb
sys/dev/usb/if_cdce.c: netbsd-7-nhusb
sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
sys/dev/usb/if_cue.c: netbsd-7-nhusb
sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
sys/dev/usb/if_kue.c: netbsd-7-nhusb
sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
sys/dev/usb/if_otus.c: netbsd-7-nhusb
sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
sys/dev/usb/if_rum.c: netbsd-7-nhusb
sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
sys/dev/usb/if_run.c: netbsd-7-nhusb
sys/dev/usb/if_runvar.h: netbsd-7-nhusb
sys/dev/usb/if_smsc.c: netbsd-7-nhusb
sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
sys/dev/usb/if_udav.c: netbsd-7-nhusb
sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
sys/dev/usb/if_upgt.c: netbsd-7-nhusb
sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
sys/dev/usb/if_upl.c: netbsd-7-nhusb
sys/dev/usb/if_ural.c: netbsd-7-nhusb
sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
sys/dev/usb/if_url.c: netbsd-7-nhusb
sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
sys/dev/usb/if_urndis.c: netbsd-7-nhusb
sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtw.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
sys/dev/usb/if_zyd.c: netbsd-7-nhusb
sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
sys/dev/usb/irmce.c: netbsd-7-nhusb
sys/dev/usb/moscom.c: netbsd-7-nhusb
sys/dev/usb/motg.c: netbsd-7-nhusb
sys/dev/usb/motgvar.h: netbsd-7-nhusb
sys/dev/usb/ohci.c: netbsd-7-nhusb
sys/dev/usb/ohcireg.h: netbsd-7-nhusb
sys/dev/usb/ohcivar.h: netbsd-7-nhusb
sys/dev/usb/pseye.c: netbsd-7-nhusb
sys/dev/usb/slurm.c: netbsd-7-nhusb
sys/dev/usb/stuirda.c: netbsd-7-nhusb
sys/dev/usb/u3g.c: netbsd-7-nhusb
sys/dev/usb/uark.c: netbsd-7-nhusb
sys/dev/usb/uatp.c: netbsd-7-nhusb
sys/dev/usb/uaudio.c: netbsd-7-nhusb
sys/dev/usb/uberry.c: netbsd-7-nhusb
sys/dev/usb/ubsa.c: netbsd-7-nhusb
sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
sys/dev/usb/ubsavar.h: netbsd-7-nhusb
sys/dev/usb/ubt.c: netbsd-7-nhusb
sys/dev/usb/uchcom.c: netbsd-7-nhusb
sys/dev/usb/ucom.c: netbsd-7-nhusb
sys/dev/usb/ucomvar.h: netbsd-7-nhusb
sys/dev/usb/ucycom.c: netbsd-7-nhusb
sys/dev/usb/udl.c: netbsd-7-nhusb
sys/dev/usb/udl.h: netbsd-7-nhusb
sys/dev/usb/udsbr.c: netbsd-7-nhusb
sys/dev/usb/udsir.c: netbsd-7-nhusb
sys/dev/usb/uep.c: netbsd-7-nhusb
sys/dev/usb/uftdi.c: netbsd-7-nhusb
sys/dev/usb/uftdireg.h: netbsd-7-nhusb
sys/dev/usb/ugen.c: netbsd-7-nhusb
sys/dev/usb/ugensa.c: netbsd-7-nhusb
sys/dev/usb/uhci.c: netbsd-7-nhusb
sys/dev/usb/uhcireg.h: netbsd-7-nhusb
sys/dev/usb/uhcivar.h: netbsd-7-nhusb
sys/dev/usb/uhid.c: netbsd-7-nhusb
sys/dev/usb/uhidev.c: netbsd-7-nhusb
sys/dev/usb/uhidev.h: netbsd-7-nhusb
sys/dev/usb/uhmodem.c: netbsd-7-nhusb
sys/dev/usb/uhso.c: netbsd-7-nhusb
sys/dev/usb/uhub.c: netbsd-7-nhusb
sys/dev/usb/uipad.c: netbsd-7-nhusb
sys/dev/usb/uipaq.c: netbsd-7-nhusb
sys/dev/usb/uirda.c: netbsd-7-nhusb
sys/dev/usb/uirdavar.h: netbsd-7-nhusb
sys/dev/usb/ukbd.c: netbsd-7-nhusb
sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.h: netbsd-7-nhusb
sys/dev/usb/ulpt.c: netbsd-7-nhusb
sys/dev/usb/umass.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
sys/dev/usb/umassvar.h: netbsd-7-nhusb
sys/dev/usb/umcs.c: netbsd-7-nhusb
sys/dev/usb/umct.c: netbsd-7-nhusb
sys/dev/usb/umidi.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
sys/dev/usb/umodem.c: netbsd-7-nhusb
sys/dev/usb/umodem_common.c: netbsd-7-nhusb
sys/dev/usb/umodemvar.h: netbsd-7-nhusb
sys/dev/usb/ums.c: netbsd-7-nhusb
sys/dev/usb/uplcom.c: netbsd-7-nhusb
sys/dev/usb/urio.c: netbsd-7-nhusb
sys/dev/usb/urio.h: netbsd-7-nhusb
sys/dev/usb/usb.c: netbsd-7-nhusb
sys/dev/usb/usb.h: netbsd-7-nhusb
sys/dev/usb/usb_mem.c: netbsd-7-nhusb
sys/dev/usb/usb_mem.h: netbsd-7-nhusb
sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
sys/dev/usb/usb_subr.c: netbsd-7-nhusb
sys/dev/usb/usbdevices.config: netbsd-7-nhusb
sys/dev/usb/usbdevs: netbsd-7-nhusb
sys/dev/usb/usbdevs.h: netbsd-7-nhusb
sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
sys/dev/usb/usbdi.c: netbsd-7-nhusb
sys/dev/usb/usbdi.h: netbsd-7-nhusb
sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
sys/dev/usb/usbdivar.h: netbsd-7-nhusb
sys/dev/usb/usbhid.h: netbsd-7-nhusb
sys/dev/usb/usbhist.h: netbsd-7-nhusb
sys/dev/usb/usbroothub.c: netbsd-7-nhusb
sys/dev/usb/usbroothub.h: netbsd-7-nhusb
sys/dev/usb/usbroothub_subr.c: delete
sys/dev/usb/usbroothub_subr.h: delete
sys/dev/usb/uscanner.c: netbsd-7-nhusb
sys/dev/usb/uslsa.c: netbsd-7-nhusb
sys/dev/usb/usscanner.c: netbsd-7-nhusb
sys/dev/usb/ustir.c: netbsd-7-nhusb
sys/dev/usb/uthum.c: netbsd-7-nhusb
sys/dev/usb/utoppy.c: netbsd-7-nhusb
sys/dev/usb/uts.c: netbsd-7-nhusb
sys/dev/usb/uvideo.c: netbsd-7-nhusb
sys/dev/usb/uvisor.c: netbsd-7-nhusb
sys/dev/usb/uvscom.c: netbsd-7-nhusb
sys/dev/usb/uyap.c: netbsd-7-nhusb
sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
sys/dev/usb/uyurex.c: netbsd-7-nhusb
sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
sys/dev/usb/xhci.c: netbsd-7-nhusb
sys/dev/usb/xhcireg.h: netbsd-7-nhusb
sys/dev/usb/xhcivar.h: netbsd-7-nhusb
sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/include/linux/err.h: delete
sys/external/bsd/drm2/include/linux/workqueue.h: delete
sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
sys/external/bsd/drm2/linux/linux_work.c: delete
sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
sys/sys/mbuf.h: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
This gives the callback a chance of running when another softint handler
at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
the network stack.
- kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
softnet_lock held across usb xfr
- kern/50491 - unkillable wait in usbd_transfer while using usmsc0
on raspberry pi 2
- kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)
 1.1096.2.8  13-Nov-2016  snj branches: 1.1096.2.8.2;
Pull up following revision(s) (requested by pgoyette in ticket #1270):
sys/conf/files: revision 1.1165
Update dependencies for COMPAT_LINUX32 to include COMPAT_NETBSD32
Without this, an attempt to build a kernel with COMPAT_LINUX32 but without
COMPAT_NETBSD32 will fail during the execution of genassym, and the error
messages are not very helpful.
With this change, config(1) will automatically (and silently) select/add
COMPAT_NETBSD32 to the configuration. It might be better if config(1)
were to issue an appropriate diagnostic, but that is a change for some
future day.
 1.1096.2.7  22-Jun-2016  snj branches: 1.1096.2.7.2;
Pull up following revision(s) (requested by bouyer in ticket #1178):
sys/arch/arm/allwinner/files.awin: revision 1.36
sys/conf/files: revision 1.1159
sys/dev/ic/com.c: revision 1.339
sys/dev/ic/comreg.h: revision 1.25
sys/dev/ic/comvar.h: revision 1.82
sys/dev/ic/ns16550reg.h: revision 1.11
The UART in the allwiner SoCs is not full-compatible with the 16550, and
it's not a 16750 either. Like the 16750 it has the IIR_BUSY interrupt,
which is triggered when writing to LCR while the chip
can't accept it. But unlike the 16750, it has a specific register,
HALT, to allow writing to the LCR and divisor registers, and then
commit the changes.
Tested on an A20 SoC, changing the baud rate while keeping the
tty device open and incoming data.
 1.1096.2.6  19-May-2015  snj branches: 1.1096.2.6.2;
Pull up following revision(s) (requested by maxv in ticket #764):
sbin/veriexecctl/veriexecctl.c: revision 1.38
share/man/man9/veriexec.9: revision 1.10
sys/conf/files: revision 1.1128
sys/dev/verified_exec.c: revisions 1.70, 1.71
sys/kern/kern_veriexec.c: revisions 1.1-1.8
sys/kern/kern_verifiedexec.c: delete
Rename kern_verifiedexec.c to kern_veriexec.c. "Veriexec" is the name of
the subsystem, not "Verifiedexec".

The revisions of kern_verifiedexec.c are now in Attic/.

No change between kern_verifiedexec.c and kern_veriexec.c.

Also, update the man page accordingly.

Okayed by christos@ and blymn@ some months ago.
--
KNF
--
Don't mix veriexec lock and file lock in veriexec_file_verify().

Now:
- 'veriexec_op_lock' needs to be held when calling veriexec_file_verify()
- the 'file_lock_state' argument indicates if the file is locked
- add some KASSERTs
--
Instead of duplicating code, add veriexec_fp_status(). Also reorder a
useless goto.
--
Make veriexec_renamechk() more readable. Also add a KASSERT on vte_count.

No real functional change
--
If we already have an entry for the file being loaded, return EEXIST, don't
silently skip it.
--
Remove FreeBSD.

ok elad@
--
KASSERT x then y, not (x && y).
--
KNF
--
Not to add even more confusion in an already overcomplicated subsystem,
remove the FreeBSD code. This code is likely to be outdated, and Veriexec
is in all cases not available on FreeBSD.
--
Be a bit more verbose if the kernel rejects a file
 1.1096.2.5  15-May-2015  snj Pull up following revision(s) (requested by jnemeth in ticket #762):
share/man/man4/options.4: revision 1.442
sys/arch/amd64/conf/ALL: revision 1.18
sys/arch/amd64/conf/GENERIC: revision 1.396
sys/arch/dreamcast/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.6
sys/arch/evbarm/conf/BCM5301X: revision 1.24
sys/arch/evbarm/conf/BCM56340: revision 1.9
sys/arch/evbarm/conf/IMX23_OLINUXINO: revision 1.9
sys/arch/evbarm/conf/std.beagle: revision 1.13
sys/arch/evbarm/conf/std.kobo: revision 1.2
sys/arch/evbarm/conf/std.netwalker: revision 1.10
sys/arch/evbppc/conf/P2020DS: revision 1.25
sys/arch/evbppc/conf/RB800: revision 1.30
sys/arch/evbppc/conf/TWRP1025: revision 1.18
sys/arch/hp300/conf/GENERIC: revision 1.187
sys/arch/hpcsh/conf/GENERIC: revision 1.104
sys/arch/i386/conf/GENERIC: revision 1.1111
sys/arch/i386/conf/MONOLITHIC: revision 1.17
sys/arch/landisk/conf/GENERIC: revision 1.43
sys/arch/luna68k/conf/GENERIC: revision 1.117
sys/arch/macppc/conf/GENERIC: revision 1.316
sys/arch/macppc/conf/GENERIC_601: revision 1.5
sys/arch/mmeye/conf/MMEYE_WLF: revision 1.16
sys/arch/news68k/conf/GENERIC: revision 1.123
sys/arch/sandpoint/conf/GENERIC: revision 1.85
sys/arch/shark/conf/GENERIC: revision 1.119
sys/arch/sparc/conf/GENERIC: revision 1.246
sys/arch/sparc64/conf/GENERIC: revision 1.174
sys/arch/sun3/conf/GENERIC3X: revision 1.125
sys/arch/sun3/conf/GENERIC: revision 1.169
sys/arch/x68k/conf/GENERIC: revision 1.177
sys/arch/zaurus/conf/GENERIC: revision 1.62
sys/conf/files: revision 1.1099
sys/kern/kern_module.c: revisions 1.98, 1.99
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
--
fix typo. (s/MODULE_DEFAULT_AUTOLOAD/MODULAR_DEFAULT_AUTOLOAD/)
 1.1096.2.4  23-Nov-2014  martin Pull up following revision(s) (requested by jmcneill in ticket #249):
sys/modules/pad/Makefile: revision 1.2
sys/arch/arm/allwinner/awin_hdmiaudio.c: revision 1.5
sys/dev/pad/pad.c: revision 1.22
sys/dev/pad/padvol.c: file removal
sys/dev/pad/files.pad: revision 1.5
sys/dev/auvolconv.c: revision 1.1
sys/dev/pad/padvol.h: file removal
sys/dev/audio.c: revision 1.266
sys/dev/files.audio: revision 1.3 (via patch: sys/conf/files)
sys/dev/auvolconv.h: revision 1.1
sys/dev/pad/padvar.h: revision 1.5
sys/dev/audio_if.h: revision 1.70
sys/arch/arm/allwinner/files.awin: revision 1.26
Add common audio converters for software volume control. Only supports
slinear16_le and slinear16_be for now.
Convert pad(4) and awin_hdmiaudio to use the new converters.
 1.1096.2.3  12-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #222):
etc/etc.evbarm/Makefile.inc 1.64
sys/arch/evbarm/conf/BPI 1.2,1.4,1.6-1.7,1.9
sys/arch/evbarm/conf/BPI_INSTALL 1.1
sys/arch/evbarm/conf/CUBIEBOARD 1.18-1.30
sys/arch/evbarm/conf/CUBIETRUCK 1.4,1.6
sys/arch/evbarm/conf/mk.awin 1.4
sys/arch/evbarm/conf/std.awin 1.4 (via patch)
sys/conf/files 1.1104
sys/dev/usb/motg.c 1.9-1.12
sys/dev/usb/motgreg.h 1.2-1.4
Allow attachment glue to override the number of endpoints
-
options MOTG_ALLWINNER to select the awin specific reg layout
options MOTG_ALLWINNER
-
Instead of polluting motgreg.h with AllWinner specific registers (things
were getting out of hand), move the AllWinner reg definitions to
arch/arm/allwinner/awin_otgreg.h and include that instead of
dev/usb/motgreg.h when MOTG_ALLWINNER is defined.
let the bus driver override fifo size
-
If the bus driver supplies a fifo size and dynfifo is true, use it
-
Various kernel config fixes.
 1.1096.2.2  09-Nov-2014  snj Pull up sys/conf/files revision 1.1103, which should have been
requested along with ticket 189.
Config glue for the Designware GMAC core. Fixes evbarm build.
 1.1096.2.1  29-Aug-2014  martin Pull up following revision(s) (requested by tsutsui in ticket #62):
sys/arch/hp300/conf/files.hp300: revision 1.89
share/man/man4/arcofi.4: revision 1.1
share/man/man4/arcofi.4: revision 1.2
share/man/man4/Makefile: revision 1.617
sys/arch/hp300/hp300/intr.c: revision 1.41
sys/conf/files: revision 1.1100
sys/arch/hp300/hp300/locore.s: revision 1.171
distrib/sets/lists/man/mi: revision 1.1486
sys/dev/ic/arcofivar.h: revision 1.1
sys/arch/hp300/conf/majors.hp300: revision 1.26
sys/arch/hp300/dev/arcofi_dio.c: revision 1.1
sys/arch/hp300/conf/GENERIC: revision 1.188
sys/dev/ic/arcofi.c: revision 1.1
Add new arcofi(4) audio driver for NetBSD/hp300, ported from OpenBSD.
The arcofi(4) is a driver for the HP "Audio1" device
(Siemens PSB 2160 "ARCOFI" phone quality audio chip)
found on the HP9000/425e and HP9000/{705,710,745,747} models
(but only hp300 attachment is ported for now).
The chip supports 8-bit mono 8kHz U-law, A-law and
16-bit mono slinear_be formats.
The old HP9000/425e playing tunes with this new arcofi(4) audio driver
was also demonstrated at Open Source Conference 2014 Shimane.
Add a man page for arcofi(4) driver. From OpenBSD.
Fix date.
 1.1096.2.8.2.1  03-Sep-2019  martin Pull up following revision(s) (requested by riastradh in ticket #1705):

sys/crypto/nist_hash_drbg/nist_hash_drbg.c: revision 1.1
sys/crypto/nist_hash_drbg/nist_hash_drbg.h: revision 1.1
sys/rump/kern/lib/libcrypto/Makefile: revision 1.5
sys/crypto/nist_hash_drbg/files.nist_hash_drbg: revision 1.1
sys/rump/librump/rumpkern/Makefile.rumpkern: revision 1.176
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes256.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_config.h: file removal
sys/conf/files: revision 1.1238
sys/dev/rndpseudo.c: revision 1.38
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.c: file removal
sys/sys/cprng.h: revision 1.13 - 1.15
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_aes_rijndael.h: file removal
sys/crypto/nist_ctr_drbg/files.nist_ctr_drbg: file removal
sys/kern/subr_cprng.c: revision 1.31
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes128.h: file removal

cprng.h: use static __inline for consistency with other include
headers and remove an unused function.

-

Switch from NIST CTR_DRBG with AES to NIST Hash_DRBG with SHA-256.

Benefits:
- larger seeds -- a 128-bit key alone is not enough for `128-bit security'
- better resistance to timing side channels than AES
- a better-understood security story (<a rel="nofollow" href="https://eprint.iacr.org/2018/349">https://eprint.iacr.org/2018/349</a>)
- no loss in compliance with US government standards that nobody ever
got fired for choosing, at least in the US-dominated western world
- no dirty endianness tricks
- self-tests

Drawbacks:
- performance hit: throughput is reduced to about 1/3 in naive measurements
=> possible to mitigate by using hardware SHA-256 instructions
=> all you really need is 32 bytes to seed a userland PRNG anyway
=> if we just used ChaCha this would go away...
 1.1096.2.7.2.2  18-Jan-2017  skrll Sync with netbsd-5
 1.1096.2.7.2.1  06-Sep-2016  skrll First pass at netbsd-7 updated with USB code from HEAD
 1.1096.2.6.2.1  03-Sep-2019  martin Pull up following revision(s) (requested by riastradh in ticket #1705):

sys/crypto/nist_hash_drbg/nist_hash_drbg.c: revision 1.1
sys/crypto/nist_hash_drbg/nist_hash_drbg.h: revision 1.1
sys/rump/kern/lib/libcrypto/Makefile: revision 1.5
sys/crypto/nist_hash_drbg/files.nist_hash_drbg: revision 1.1
sys/rump/librump/rumpkern/Makefile.rumpkern: revision 1.176
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes256.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_config.h: file removal
sys/conf/files: revision 1.1238
sys/dev/rndpseudo.c: revision 1.38
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.c: file removal
sys/sys/cprng.h: revision 1.13 - 1.15
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_aes_rijndael.h: file removal
sys/crypto/nist_ctr_drbg/files.nist_ctr_drbg: file removal
sys/kern/subr_cprng.c: revision 1.31
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes128.h: file removal

cprng.h: use static __inline for consistency with other include
headers and remove an unused function.

-

Switch from NIST CTR_DRBG with AES to NIST Hash_DRBG with SHA-256.

Benefits:
- larger seeds -- a 128-bit key alone is not enough for `128-bit security'
- better resistance to timing side channels than AES
- a better-understood security story (<a rel="nofollow" href="https://eprint.iacr.org/2018/349">https://eprint.iacr.org/2018/349</a>)
- no loss in compliance with US government standards that nobody ever
got fired for choosing, at least in the US-dominated western world
- no dirty endianness tricks
- self-tests

Drawbacks:
- performance hit: throughput is reduced to about 1/3 in naive measurements
=> possible to mitigate by using hardware SHA-256 instructions
=> all you really need is 32 bytes to seed a userland PRNG anyway
=> if we just used ChaCha this would go away...
 1.1121.2.13  28-Aug-2017  skrll Sync with HEAD
 1.1121.2.12  05-Feb-2017  skrll Sync with HEAD
 1.1121.2.11  05-Dec-2016  skrll Sync with HEAD
 1.1121.2.10  05-Oct-2016  skrll Sync with HEAD
 1.1121.2.9  09-Jul-2016  skrll Sync with HEAD
 1.1121.2.8  29-May-2016  skrll Sync with HEAD
 1.1121.2.7  22-Apr-2016  skrll Sync with HEAD
 1.1121.2.6  19-Mar-2016  skrll Sync with HEAD
 1.1121.2.5  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.1121.2.4  22-Sep-2015  skrll Sync with HEAD
 1.1121.2.3  06-Apr-2015  skrll Sync with HEAD
 1.1121.2.2  03-Dec-2014  skrll Rename usbroothub_subr.[ch] to usbroothub.[ch]
 1.1121.2.1  02-Dec-2014  skrll Step #1 of memory allocation re-organisation.

Centralised the buffer allocation routine which now supports DMA
and non-DMA capable host controllers. Remove the
ubm_{alloc,free}m methods from usbd_bus_methods.

The buffer allocation is only allowed in thread context and,
therefore, negates the usefulness of the reserve dma code which
is removed in this change.

USBD_NO_COPY is also no longer required as usbd_transfer and
usbd_transfer_complete now track buffer usage and handle any
copying.
 1.1160.2.3  20-Mar-2017  pgoyette Sync with HEAD
 1.1160.2.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1160.2.1  04-Nov-2016  pgoyette Sync with HEAD
 1.1168.2.2  21-Apr-2017  bouyer Sync with HEAD
 1.1168.2.1  15-Jan-2017  bouyer Initial commit of a CAN socket layer, compatible with linux SoccketCAN
(but incomplete). Based on work from Robert Swindells.
 1.1173.2.10  25-Oct-2021  martin Pull up following revision(s) (requested by msaitoh in ticket #1703):

sys/conf/files: revision 1.1288
sys/kern/uipc_mbuf.c: revision 1.244
share/man/man4/options.4: revision 1.520

Fix a bug that NMBCLUSTERS(kern.mbuf.nmbclusters) can't be changed by sysctl.

Update the description of the NMBCLUSTERS. Add NMBCLUSTERS_MAX.

defparam NMBCLUSTERS_MAX.
 1.1173.2.9  08-Mar-2020  martin Pull up following revision(s) (requested by pgoyette in ticket #1514):

sys/conf/files: revision 1.1257
sys/conf/files: revision 1.1258

mips64 has compat_netbsd32 but cannot have exec_aout; all other users
of compat_netbsd32 need exec_aout
Addresses PR kern/55037.
XXX pullup-9

Fix comment - thanks Ryo Shimizu
 1.1173.2.8  03-Sep-2019  martin Pull up following revision(s) (requested by riastradh in ticket #1365):

sys/crypto/nist_hash_drbg/nist_hash_drbg.c: revision 1.1
sys/crypto/nist_hash_drbg/nist_hash_drbg.h: revision 1.1
sys/rump/kern/lib/libcrypto/Makefile: revision 1.5
sys/crypto/nist_hash_drbg/files.nist_hash_drbg: revision 1.1
sys/rump/librump/rumpkern/Makefile.rumpkern: revision 1.176
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes256.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_config.h: file removal
sys/conf/files: revision 1.1238
sys/dev/rndpseudo.c: revision 1.38
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.c: file removal
sys/sys/cprng.h: revision 1.13 - 1.15
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_aes_rijndael.h: file removal
sys/crypto/nist_ctr_drbg/files.nist_ctr_drbg: file removal
sys/kern/subr_cprng.c: revision 1.31
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes128.h: file removal

cprng.h: use static __inline for consistency with other include
headers and remove an unused function.

-

Switch from NIST CTR_DRBG with AES to NIST Hash_DRBG with SHA-256.

Benefits:
- larger seeds -- a 128-bit key alone is not enough for `128-bit security'
- better resistance to timing side channels than AES
- a better-understood security story (<a rel="nofollow" href="https://eprint.iacr.org/2018/349">https://eprint.iacr.org/2018/349</a>)
- no loss in compliance with US government standards that nobody ever
got fired for choosing, at least in the US-dominated western world
- no dirty endianness tricks
- self-tests

Drawbacks:
- performance hit: throughput is reduced to about 1/3 in naive measurements
=> possible to mitigate by using hardware SHA-256 instructions
=> all you really need is 32 bytes to seed a userland PRNG anyway
=> if we just used ChaCha this would go away...
 1.1173.2.7  10-Apr-2019  martin Pull up following revision(s) (requested by pgoyette in ticket #1229):

sys/kern/sysv_ipc.c: revision 1.38
sys/conf/files: revision 1.1233
sys/conf/param.c: revision 1.68

defparam all of the config variables associated with SYSV IPC stuff.

The variables were removed from sys/conf/param.c and moved into the
SYSV IPC code, but config options were never propagated via any opt_*
file.

This should fix an issue reported on netbsd-users list from Dima Veselov.
Note that this does not address other parameters included in that report,
including CHILD_MAX and NOFILE; this commit only affects items related to
the SYSV IPC code. Also note that this does not affect non-built-in
sysv_ipc modules, for which you need to update the Makefile to use any
non-standard config values - just like any other non-built-in modules
which have config params.

XXX Pull-up to -8 and -8-0
XXX Note that there are a couple of panic() calls in msginit() which
XXX really should be changed to simple printf() and then result in
XXX msginit failure. Unfortunately msginit() currently doesn't return
XXX a value so we cannot indicate failure to the caller. I will fix
XXX this is a future commit.
 1.1173.2.6  31-Oct-2018  martin Add bwfm config glue, requested by maya in ticket #1072.
 1.1173.2.5  09-Apr-2018  bouyer Pull up following revision(s) (requested by spz in ticket #708):
sys/conf/files: revision 1.1194
sys/dev/ic/cissvar.h: revision 1.7
sys/dev/ic/ciss.c: revision 1.38
sys/dev/pci/ciss_pci.c: revision 1.14
sys/arch/amd64/conf/ALL: revision 1.81
Add a new option CISS_NO_INTERRUPT_HACK for driving ciss(4) by callouts.
This is intended as workaround for certain Xen issues with dom0 kernels
and will likely want to have a high HZ value as well for decent
performance.
 1.1173.2.4  11-Feb-2018  snj Pull up following revision(s) (requested by ozaki-r in ticket #536):
distrib/sets/lists/base/shl.mi: 1.825
distrib/sets/lists/comp/mi: 1.2168-1.2169
distrib/sets/lists/comp/shl.mi: 1.310
distrib/sets/lists/debug/mi: 1.234
distrib/sets/lists/debug/shl.mi: 1.188
distrib/sets/lists/man/mi: 1.1570
distrib/sets/lists/tests/mi: 1.772
etc/mtree/NetBSD.dist.tests: 1.150
share/man/man4/Makefile: 1.650
share/man/man4/ipsec.4: 1.42-1.43
share/man/man4/ipsecif.4: 1.1-1.5
sys/arch/amd64/conf/ALL: 1.77
sys/arch/amd64/conf/GENERIC: 1.480
sys/conf/files: 1.1191
sys/net/Makefile: 1.34
sys/net/files.net: 1.14
sys/net/if.c: 1.404
sys/net/if.h: 1.248
sys/net/if_gif.c: 1.135
sys/net/if_ipsec.c: 1.1-1.3
sys/net/if_ipsec.h: 1.1
sys/net/if_l2tp.c: 1.16
sys/net/if_types.h: 1.28
sys/netinet/in.c: 1.214
sys/netinet/in.h: 1.103
sys/netinet/in_gif.c: 1.92
sys/netinet/ip_var.h: 1.122
sys/netinet6/in6.c: 1.257
sys/netinet6/in6.h: 1.88
sys/netinet6/in6_gif.c: 1.90
sys/netinet6/ip6_var.h: 1.75
sys/netipsec/Makefile: 1.6
sys/netipsec/files.netipsec: 1.13
sys/netipsec/ipsec.h: 1.62
sys/netipsec/ipsecif.c: 1.1
sys/netipsec/ipsecif.h: 1.1
sys/netipsec/key.c: 1.246-1.247
sys/netipsec/key.h: 1.34
sys/rump/net/Makefile.rumpnetcomp: 1.20
sys/rump/net/lib/libipsec/IPSEC.ioconf: 1.1
sys/rump/net/lib/libipsec/Makefile: 1.1
sys/rump/net/lib/libipsec/ipsec_component.c: 1.1
tests/net/Makefile: 1.34
tests/net/if_ipsec/Makefile: 1.1
tests/net/if_ipsec/t_ipsec.sh: 1.1-1.2
Don't touch an SP without a reference to it
unify processing to check nesting count for some tunnel protocols.
add ipsec(4) interface, which is used for route-based VPN.
man and ATF are added later, please see man for details.
reviewed by christos@n.o, joerg@n.o and ozaki-r@n.o, thanks.
https://mail-index.netbsd.org/tech-net/2017/12/18/msg006557.html
ipsec(4) interface supports rump now.
add ipsec(4) interface ATF.
add ipsec(4) interface man as ipsecif.4.
add ipsec(4) interface to amd64/GENERIC and amd64/ALL configs.
apply in{,6}_tunnel_validate() to gif(4).
Spell IPsec that way. Simplify macro usage. Sort SEE ALSO. Bump
date for previous.
Improve wording and macro use.
Some parts are not clear to me, so someone with knowledge of ipsecif(4)
should improve this some more.
Improve ipsecif.4. Default port ipsec(4) NAT-T is tested now.
pointed out by wiz@n.o and suggested by ozaki-r@n.o, thanks.
Change the prefix of test names to ipsecif_ to distinguish from tests for ipsec(4)
New sentence, new line. Remove empty macro.
Fix PR kern/52920. Pointed out by David Binderman, thanks.
Improve wording, and put a new drawing, from me and Kengo Nakahara.
apply a little more #ifdef INET/INET6. fixes !INET6 builds.
 1.1173.2.3  18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
sys/arch/arm/samsung/exynos_intr.h: revision 1.3
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
distrib/utils/embedded/mkimage: revision 1.66
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
sys/dev/gpio/gpio.c: revision 1.59
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
sys/conf/Makefile.kern.inc: revision 1.257
sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
sys/conf/Makefile.kern.inc: revision 1.258
sys/arch/arm/fdt/psci_fdt.h: revision 1.1
sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
sys/arch/evbarm/conf/files.sunxi: revision 1.1
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
sys/arch/arm/samsung/files.exynos: revision 1.22
distrib/utils/embedded/conf/armv7.conf: revision 1.13
sys/arch/arm/samsung/files.exynos: revision 1.23
sys/arch/evbarm/conf/std.tegra: revision 1.15
distrib/utils/embedded/conf/armv7.conf: revision 1.14
sys/arch/arm/samsung/files.exynos: revision 1.24
distrib/utils/embedded/conf/armv7.conf: revision 1.15
sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
sys/arch/arm/samsung/exynos_fdt.c: file removal
sys/dev/fdt/fdt_pinctrl.c: revision 1.4
sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
sys/dev/usb/ehci.c: revision 1.255
sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.11
sys/arch/arm/cortex/gic.c: revision 1.24
distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
etc/etc.evbarm/Makefile.inc: revision 1.87
etc/etc.evbarm/Makefile.inc: revision 1.88
sys/arch/arm/fdt/gic_fdt.c: revision 1.5
etc/Makefile: revision 1.429
sys/arch/arm/fdt/gic_fdt.c: revision 1.6
sys/arch/arm/fdt/gic_fdt.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
sys/arch/evbarm/conf/std.sunxi: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
sys/arch/evbarm/conf/std.sunxi: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
sys/arch/evbarm/conf/std.sunxi: revision 1.3
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
sys/dev/gpio/gpiovar.h: revision 1.17
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
sys/dev/fdt/fdtvar.h: revision 1.21
sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
sys/dev/fdt/fdtvar.h: revision 1.22
sys/arch/evbarm/conf/SUNXI: revision 1.10
sys/dev/fdt/fdtvar.h: revision 1.23
sys/arch/evbarm/conf/SUNXI: revision 1.11
sys/dev/fdt/gpioleds.c: revision 1.1
sys/dev/fdt/fdtvar.h: revision 1.24
sys/arch/evbarm/conf/SUNXI: revision 1.12
sys/arch/evbarm/conf/SUNXI: revision 1.13
sys/arch/arm/cortex/gic.c: revision 1.30
sys/arch/evbarm/conf/SUNXI: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.16
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
etc/Makefile: revision 1.430
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
etc/Makefile: revision 1.431
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
sys/arch/arm/samsung/exynos_platform.c: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.29
sys/arch/arm/samsung/exynos_platform.c: revision 1.2
sys/arch/evbarm/conf/mk.vexpress: revision 1.3
sys/arch/arm/samsung/exynos_platform.c: revision 1.3
sys/arch/evbarm/conf/mk.vexpress: revision 1.4
sys/arch/arm/samsung/exynos_platform.c: revision 1.4
sys/arch/arm/arm/psci.h: revision 1.1
sys/arch/arm/samsung/exynos_platform.c: revision 1.5
sys/arch/arm/samsung/exynos_platform.c: revision 1.6
sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
sys/dev/fdt/files.fdt: revision 1.17
sys/dev/fdt/files.fdt: revision 1.18
sys/dev/fdt/files.fdt: revision 1.19
sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
sys/arch/arm/conf/files.arm: revision 1.133
sys/arch/arm/samsung/mct_var.h: revision 1.5
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
sys/arch/evbarm/conf/std.vexpress: revision 1.6
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.1
sys/dev/ofw/ofw_subr.c: revision 1.30
sys/arch/arm/sunxi/files.sunxi: revision 1.2
sys/dev/ofw/openfirm.h: revision 1.35
sys/arch/arm/sunxi/files.sunxi: revision 1.3
sys/dev/ofw/openfirm.h: revision 1.36
sys/arch/arm/sunxi/files.sunxi: revision 1.4
sys/arch/arm/sunxi/files.sunxi: revision 1.5
sys/arch/evbarm/exynos/exynos_machdep.c: file removal
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
sys/arch/arm/samsung/sscom.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.6
sys/dev/fdt/ohci_fdt.c: revision 1.1
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
sys/arch/arm/sunxi/files.sunxi: revision 1.7
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.8
sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
sys/arch/arm/sunxi/files.sunxi: revision 1.9
sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
sys/arch/evbarm/conf/mk.tegra: revision 1.5
sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
sys/arch/evbarm/conf/mk.tegra: revision 1.6
sys/arch/evbarm/conf/EXYNOS: revision 1.15
sys/arch/evbarm/conf/EXYNOS: revision 1.16
sys/arch/evbarm/conf/EXYNOS: revision 1.17
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.19
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
sys/arch/evbarm/conf/mk.sunxi: revision 1.1
sys/arch/evbarm/include/bootconfig.h: revision 1.7
sys/arch/evbarm/conf/TEGRA: revision 1.24
sys/arch/arm/arm/psci.c: revision 1.1
sys/dev/led.c: revision 1.1
sys/dev/led.c: revision 1.2
sys/arch/arm/arm/psci_arm.S: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
sys/dev/fdt/ehci_fdt.c: revision 1.1
sys/dev/fdt/ehci_fdt.c: revision 1.2
sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
sys/arch/evbarm/conf/EXYNOS: revision 1.21
sys/arch/arm/sunxi/files.sunxi: revision 1.10
sys/arch/arm/sunxi/files.sunxi: revision 1.11
sys/dev/fdt/fdtbus.c: revision 1.14
sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
sys/arch/arm/samsung/exynos5422_dma.c: file removal
usr.bin/config/mkmakefile.c: revision 1.69
sys/conf/files: revision 1.1178
sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
sys/arch/evbarm/conf/SUNXI: revision 1.1
external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.2
sys/arch/arm/fdt/psci_fdt.c: revision 1.1
sys/arch/evbarm/conf/SUNXI: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.4
sys/arch/evbarm/conf/files.exynos: revision 1.3
sys/arch/evbarm/conf/SUNXI: revision 1.5
sys/arch/evbarm/conf/SUNXI: revision 1.6
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
sys/dev/fdt/fixedfactorclock.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.14
sys/arch/evbarm/conf/SUNXI: revision 1.7
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
sys/dev/fdt/fdt_subr.c: revision 1.15
sys/arch/evbarm/conf/SUNXI: revision 1.8
sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
sys/dev/ic/dwc_mmc_reg.h: revision 1.6
sys/dev/fdt/fdt_subr.c: revision 1.16
sys/arch/evbarm/conf/SUNXI: revision 1.9
usr.bin/config/mkmakefile.c: revision 1.70
sys/dev/fdt/fdt_phy.c: revision 1.1
sys/arch/evbarm/conf/ODROID-XU: file removal
sys/arch/arm/fdt/arm_fdt.c: revision 1.4
sys/arch/arm/samsung/exynos_reg.h: revision 1.14
sys/conf/files: revision 1.1180
sys/arch/arm/samsung/exynos_reg.h: revision 1.15
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
sys/dev/ic/dwc_mmc_var.h: revision 1.6
sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
sys/arch/evbarm/exynos/platform.h: revision 1.2
sys/arch/arm/fdt/files.fdt: revision 1.12
sys/arch/evbarm/conf/std.exynos: revision 1.2
sys/arch/evbarm/conf/std.exynos: revision 1.3
sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
sys/dev/led.h: revision 1.1
sys/arch/evbarm/conf/std.exynos: revision 1.5
sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
sys/arch/evbarm/conf/files.evbarm: revision 1.26
usr.bin/config/defs.h: revision 1.99
sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
sys/arch/arm/samsung/exynos_soc.c: revision 1.32
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
sys/arch/arm/samsung/mct.c: revision 1.11
sys/arch/evbarm/conf/ODROID-U: file removal
sys/arch/arm/samsung/mct.c: revision 1.12
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too. ok jmcneill@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
 1.1173.2.2  10-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #19):
sys/arch/arm/fdt/files.fdt: revision 1.11
sys/arch/arm/fdt/plrtc_fdt.c: revision 1.1
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.16
sys/conf/files: revision 1.1175
sys/dev/ic/pl031.c: revision 1.1
sys/dev/ic/pl031var.h: revision 1.1
Add driver for ARM PrimeCell PL031 (RTC) Real Time Clock.
--
Add fdt glue for plrtc
--
Add plrtc driver
 1.1173.2.1  09-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #17):
sys/arch/arm/fdt/aaci_fdt.c: revision 1.1
sys/arch/arm/fdt/files.fdt: revision 1.10
sys/arch/evbarm/conf/VEXPRESS_A15: revisions 1.14, 1.15
sys/conf/files: revision 1.1174
sys/dev/ic/pl041.c: revisions 1.1-1.3
sys/dev/ic/pl041var.h: revision 1.1
Add driver for ARM PrimeCell Advanced Audio CODEC interface (PL041).
Don't expect this driver to work on real hardware, but QEMU emulates it.
--
Add fdt glue for ARM PrimeCell Advanced Audio CODEC interface (PL041).
--
Add aaci at fdt, commented out for now. Driver should work (tm) but QEMU
and my old Thinkpad can't seem to keep up.
--
Fix two bugs:
- Inverted test for fifo status in aaci_write_data
- Return success from trigger_output (thanks nat)
--
Enable aaci
--
bus_space_write_multi_4 takes a count, not number of bytes. With this,
audio works in qemu.
 1.1196.2.18  18-Jan-2019  pgoyette Synch with HEAD
 1.1196.2.17  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1196.2.16  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1196.2.15  20-Oct-2018  pgoyette Sync with head
 1.1196.2.14  30-Sep-2018  pgoyette Ssync with HEAD
 1.1196.2.13  27-Sep-2018  pgoyette EXEC_ELF32 does not depend on COMPAT_NETBSD32
 1.1196.2.12  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1196.2.11  28-Jul-2018  pgoyette Sync with HEAD
 1.1196.2.10  25-Jun-2018  pgoyette Sync with HEAD
 1.1196.2.9  21-May-2018  pgoyette Sync with HEAD
 1.1196.2.8  16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1196.2.7  14-Mar-2018  pgoyette Revert previous.

From mrg@:

this isn't traditionally how we did COMPAT_43. it's more
"enable obsolete interfaces", which is not quite the same
as "make old binaries work".

eg, they enable the old sgtty interfaces that _are_ still
visible and potentially callable from modern binaries.
we still install the headers for this interfaces.

COMPAT_09 enables old binaries with changed interfaces.
 1.1196.2.6  14-Mar-2018  pgoyette COMPAT_43 is even older than COMPAT_09, so if _43 is enabled, we'll
need everything newer as well.
 1.1196.2.5  13-Mar-2018  pgoyette More clean-up of compat code interdependencies
 1.1196.2.4  13-Mar-2018  pgoyette Add some more config dependencies between compat modules
 1.1196.2.3  06-Mar-2018  pgoyette Re-sequence to declare dependency before depending on it
 1.1196.2.2  06-Mar-2018  pgoyette Expand dependencies for EXEC_ELF32 and COMPAT_LINUX32
 1.1196.2.1  06-Mar-2018  pgoyette Include the list of compat files
 1.1200.2.3  21-Apr-2020  martin Sync with HEAD
 1.1200.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1200.2.1  10-Jun-2019  christos Sync with HEAD
 1.1237.2.6  25-Oct-2021  martin Pull up following revision(s) (requested by msaitoh in ticket #1368):

sys/conf/files: revision 1.1288
sys/kern/uipc_mbuf.c: revision 1.244
share/man/man4/options.4: revision 1.520

Fix a bug that NMBCLUSTERS(kern.mbuf.nmbclusters) can't be changed by sysctl.

Update the description of the NMBCLUSTERS. Add NMBCLUSTERS_MAX.

defparam NMBCLUSTERS_MAX.
 1.1237.2.5  08-Mar-2020  martin Pull up following revision(s) (requested by pgoyette in ticket #757):

sys/conf/files: revision 1.1257
sys/conf/files: revision 1.1258
sys/conf/files: revision 1.1259

mips64 has compat_netbsd32 but cannot have exec_aout; all other users
of compat_netbsd32 need exec_aout

Addresses PR kern/55037.
XXX pullup-9

Fix comment - thanks Ryo Shimizu

Also exclude EXEC_AOUT stuff for aarch64
XXX Pullup-9 and -8
 1.1237.2.4  21-Jan-2020  martin Pull up following revision(s) (requested by pgoyette in ticket #639):

sys/conf/files: revision 1.1254

COMPAT_43 requires COMPAT_60
 1.1237.2.3  21-Jan-2020  martin Pull up following revision(s) (requested by mrg in ticket #616):

sys/dev/ic/anx_dp.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.126
sys/dev/ic/anx_dp.h: revision 1.1
sys/arch/evbarm/conf/GENERIC64: revision 1.128
sys/dev/ic/anx_dp.h: revision 1.2
sys/dev/fdt/dwcmmc_fdt.c: revision 1.9
sys/dev/i2c/cwfg.c: revision 1.1
sys/conf/files: revision 1.1247
sys/dev/fdt/pwm_backlight.c: revision 1.5
sys/dev/fdt/pwm_backlight.c: revision 1.6
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.14
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.15
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.16
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.17
sys/dev/ic/dwc_mmc.c: revision 1.20
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.18
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.19
sys/dev/usb/usbdevs: revision 1.775
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.4
sys/dev/fdt/simple_amplifier.c: revision 1.1
sys/dev/i2c/files.i2c: revision 1.105
sys/arch/evbarm/conf/GENERIC64: revision 1.117
sys/arch/evbarm/conf/GENERIC64: revision 1.118
sys/dev/i2c/files.i2c: revision 1.107
sys/dev/fdt/files.fdt: revision 1.49
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.1
sys/dev/ic/dwc_mmc_var.h: revision 1.9
sys/dev/i2c/rkpmic.c: revision 1.4
sys/arch/arm/rockchip/rk_anxdp.c: revision 1.2
sys/dev/i2c/rkpmic.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.6
sys/arch/arm/rockchip/rk_vop.c: revision 1.4
sys/arch/arm/rockchip/rk_vop.c: revision 1.5
sys/dev/i2c/rkpmic.c: revision 1.8
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.1
sys/dev/usb/ums.c: revision 1.96 (via patch)
sys/arch/arm/rockchip/rk_pwm.c: revision 1.3
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.2
sys/dev/i2c/es8316ac.c: revision 1.1
sys/dev/fdt/dwcmmc_fdt.c: revision 1.10
sys/dev/i2c/es8316ac.c: revision 1.2
sys/dev/fdt/fdt_panel.c: revision 1.1
sys/dev/ic/dwc_mmc.c: revision 1.18
sys/dev/fdt/fdt_panel.c: revision 1.2
sys/dev/ic/dwc_mmc.c: revision 1.19
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.5
sys/dev/ic/dwc_mmc_var.h: revision 1.10
sys/dev/fdt/fdt_port.c: revision 1.6
sys/arch/evbarm/conf/GENERIC64: revision 1.122
sys/dev/ic/dwc_mmc_var.h: revision 1.11
sys/dev/fdt/files.fdt: revision 1.50
sys/arch/evbarm/conf/GENERIC64: revision 1.123
sys/arch/arm/rockchip/rk_i2s.c: revision 1.2
sys/arch/arm/rockchip/files.rockchip: revision 1.23
sys/arch/evbarm/conf/GENERIC64: revision 1.124
sys/dev/ic/anx_dp.c: revision 1.1

rkpmic: add RTC support; register w/ todr(9)
rkpmic: correct delay
Add support for SDIO interrupts.
fix copy/paste error in mux_pll_src_cpll_gpll_ppll_parents[]
add RK3399 eDP clocks
add RK3399 DisplayPort clocks
style fix/KNF
rk3399_cru: implement dclk_vop0_frac and dclk_vop1_frac
Move drm_encoder from rkvop(4) to the SoC-layer output pipe drivers (rk_dwhdmi).
rkvop: set stride using virtual framebuffer width instead of display mode
rk3399_cru: Reparent dclk_vop[01] to gpll via dclk_vop[01]_frac.
The previous source of dclk_vop[01] was vpll via dclk_vop[01]_div.
vpll is apparently used directly as a pixel clock source for the
HDMI PHY, and we don't want the other VOP's dclk changing out from
under it because we can't handle finding a replacement clock source
with the right rate yet.
gpll happens to run at 594MHz, which works well as a basis for pixel
clocks.
Linux suggests that the source clock of the fractional divider needs
to be more than twenty times greater than the resulting clock (or some
intermediate clock?) for output stability. This may not be the case
with 594MHz and the common pixel clocks I see used by displays in my
area of the wild, but it works for now.
add Analogix DisplayPort core driver
add Rockchip (RK3399) glue for Analogix DisplayPort core
add anxdp(4)
Add another panel@fdt driver, this time for DRM-style panels.
To do: migrate away from other panel driver.
enable panel at fdt drivers
paper over the rkpwm get_conf function that otherwise doesn't seem to
let things work
add template bits for optional eDP panel on RockPro64
Abort panel driver attach if required regulator is missing.
Add clk provider
Add Pinebook Pro dts, from Manjaro Linux.
https://gitlab.manjaro.org/tsys/linux-pinebook-pro/blob/877ca0e7283596f37845de50dc36bff5b88b91e1/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+ rk3399-pinebook-pro.dts
Attach mmcpwrseq resource earlier
dwcmmc improvements:
- Use mmcpwrseq resources if available
- Only set 4- or 8-bit mode if specified in the dt properties
- Add quirk for implementations with inverted power enable logic
- Support switching signal voltage between 1.8V and 3.3V
- Fix a clock divider issue on Rockchip SoCs
Fix performance regression with previous
Quiet chatty printfs
No need to print all supported levels at attach, print the range and total number of steps
Disable SPI for now (rkspi driver hangs at boot)
Add driver for simple-audio-amplifier binding
Add driver for Everest Semi ES8316 Low Power Audio CODEC
add es8316, simpleamp
Avoid sleeping while the audio intr lock is held.
If the rockchip,system-power-controller property is present, try to power off with the PMIC
Add HAILUCK keyboard (product 1e)
Add a quirk for the HAILUCK USB keyboard / touchpad device with product 1e.
The keyboard does not function properly unless the touchpad's intr endpoint
is active.
Add driver for CellWise CW2015 Fuel Gauge IC.
add cwfg
Emit PMFE_DISPLAY_{ON,OFF} events in response to DPMS requests.
If the backlight node does not have an enable gpio, set the lowest duty
cycle to turn the display off instead.
Attach psci as early as possible. This allows other power controllers to
register their own poweroff / reset callbacks with a higher preference.
Add 2000 MHz to available armclkb rates
Remove debug printfs
 1.1237.2.2  16-Nov-2019  martin Pull up following revision(s) (requested by jmcneill in ticket #427):

sys/dev/ic/dw_hdmi_phy.c: revision 1.2
sys/dev/ic/dw_hdmi.c: revision 1.4
sys/dev/fdt/ausoc.c: revision 1.5
sys/dev/ic/dw_hdmi.h: revision 1.2
sys/dev/ic/dw_hdmi.h: revision 1.3
sys/dev/ic/dw_hdmi.h: revision 1.4
sys/conf/files: revision 1.1242
sys/dev/fdt/fdtvar.h: revision 1.57
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.11
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.12
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.13
sys/arch/evbarm/conf/GENERIC64: revision 1.110
sys/arch/arm/rockchip/rk_drm.c: revision 1.1
sys/arch/arm/rockchip/rk_drm.c: revision 1.2
sys/arch/evbarm/conf/GENERIC64: revision 1.112
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.1
sys/dev/fdt/fdt_clock.c: revision 1.10
sys/arch/evbarm/conf/GENERIC64: revision 1.113
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.2
sys/arch/arm/rockchip/rk_drm.h: revision 1.1
sys/arch/arm/rockchip/rk_dwhdmi.c: revision 1.3
sys/arch/arm/rockchip/rk_fb.c: revision 1.1
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.9
sys/arch/arm/rockchip/rk_vop.c: revision 1.1
sys/arch/arm/rockchip/rk_vop.c: revision 1.2
sys/arch/arm/rockchip/rk_i2c.c: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.6
sys/arch/arm/rockchip/rk_cru.h: revision 1.7
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.4
sys/arch/arm/rockchip/rk_cru_composite.c: revision 1.5
sys/arch/arm/rockchip/files.rockchip: revision 1.21
sys/arch/arm/rockchip/rk_i2s.c: revision 1.1
sys/arch/arm/rockchip/files.rockchip: revision 1.22
sys/dev/ic/dw_hdmi.c: revision 1.2
sys/dev/ic/dw_hdmi_phy.c: revision 1.1
sys/dev/ic/dw_hdmi.c: revision 1.3

Support reads of more than 32 bytes in a single xfer.

Add support for internal DesignWare HDMI PHYs

Add fdtbus_clock_enable and fdtbus_clock_enable_index shortcuts

Add HDMI and VOP clocks

WIP display driver for Rockchip RK3399

Add (commented out) Rockchip display support

Select the correct MPLL and PHY settings for the requested pixel clock
Force DCLK_VOP0/1 dividers to 1 and select closest match when setting PLL
rates.

Fix typo in phy config table

Fix a few swapped fields

Remove debug output

Enable Rockchip display support

Set sysclk rate at set_format time, so the link set_format callback can read the new sysclk

Add I2S audio input support.
Add software volume controls.
Add support for I2S clocks.
Add driver for Rockchip I2S/PCM controller.
Enable HDMI audio on ROCKPro64
Add rki2s
Add audio support
 1.1237.2.1  03-Sep-2019  martin Pull up following revision(s) (requested by riastradh in ticket #173):

sys/crypto/nist_hash_drbg/nist_hash_drbg.c: revision 1.1
sys/crypto/nist_hash_drbg/nist_hash_drbg.h: revision 1.1
sys/rump/kern/lib/libcrypto/Makefile: revision 1.5
sys/crypto/nist_hash_drbg/files.nist_hash_drbg: revision 1.1
sys/rump/librump/rumpkern/Makefile.rumpkern: revision 1.176
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes256.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_config.h: file removal
sys/conf/files: revision 1.1238
sys/dev/rndpseudo.c: revision 1.38
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.c: file removal
sys/sys/cprng.h: revision 1.15
sys/crypto/nist_ctr_drbg/nist_ctr_drbg.h: file removal
sys/crypto/nist_ctr_drbg/nist_ctr_aes_rijndael.h: file removal
sys/crypto/nist_ctr_drbg/files.nist_ctr_drbg: file removal
sys/kern/subr_cprng.c: revision 1.31
sys/crypto/nist_ctr_drbg/nist_ctr_drbg_aes128.h: file removal

Switch from NIST CTR_DRBG with AES to NIST Hash_DRBG with SHA-256.

Benefits:
- larger seeds -- a 128-bit key alone is not enough for `128-bit security'
- better resistance to timing side channels than AES
- a better-understood security story (<a rel="nofollow" href="https://eprint.iacr.org/2018/349">https://eprint.iacr.org/2018/349</a>)
- no loss in compliance with US government standards that nobody ever
got fired for choosing, at least in the US-dominated western world
- no dirty endianness tricks
- self-tests

Drawbacks:
- performance hit: throughput is reduced to about 1/3 in naive measurements
=> possible to mitigate by using hardware SHA-256 instructions
=> all you really need is 32 bytes to seed a userland PRNG anyway
=> if we just used ChaCha this would go away...

XXX pullup-7
XXX pullup-8
XXX pullup-9
 1.1248.2.3  29-Feb-2020  ad Sync with head.
 1.1248.2.2  25-Jan-2020  ad Sync with head.
 1.1248.2.1  17-Jan-2020  ad Sync with head.
 1.1264.2.2  25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.1264.2.1  20-Apr-2020  bouyer Sync with HEAD
 1.1277.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.1279.6.1  31-May-2021  cjep sync with head
 1.1279.4.2  01-Aug-2021  thorpej Sync with HEAD.
 1.1279.4.1  17-Jun-2021  thorpej Sync w/ HEAD.
 1.1304.2.2  11-Sep-2023  martin Pull up following revision(s) (requested by abs in ticket #366):

sys/dev/pci/ahcisata_pci.c: revision 1.70
sys/dev/ic/ahcisata_core.c: revision 1.108
sys/dev/ic/ahcisatavar.h: revision 1.28
sys/conf/files: revision 1.1309

Rework AHCISATA_EXTRA_DELAY for kern/56737
- Remove AHCI_QUIRK_EXTRA_DELAY as issue appears to be drive and
not controller related
- Replace AHCISATA_EXTRA_DELAY with AHCISATA_REMOVE_EXTRA_DELAY,
so defaulting to enabling the extra delay, as the downside of
slower probing on systems which do not need it is less than having
other systems intermittently fail to probe and attach drives
- Also allow disabling extra delay with AHCISATA_EXTRA_DELAY_MS = 0

We should return to this code to work out which of the extra delays
are needed, and how long they need to be. It may be that faster
systems are more likely to trigger the issue (I've only seen it on
a 13th gen i7-13700, though only tested on a limited set)
 1.1304.2.1  13-Jan-2023  martin Pull up following revision(s) (requested by jakllsch in ticket #45):

sys/secmodel/suser/secmodel_suser.c: revision 1.56
sys/sys/kauth.h: revision 1.88
sys/arch/sparc/conf/INSTALL: revision 1.106
share/examples/secmodel/secmodel_example.c: revision 1.29
sys/conf/files: revision 1.1306

remove lingering strip(4) remnants

more strip(4) removal, this time in kauth(9)
 1.1313.2.2  02-Aug-2025  perseant Sync with HEAD
 1.1313.2.1  29-Jun-2024  perseant Implementation of exFAT filesystem, with compilation conditional on MKEXFATFS
make variable.

RSS XML Feed