Home | History | Annotate | only in /src/sys/conf
History log of /src/sys/conf
RevisionDateAuthorComments
 1.304 25-Sep-2025  mrg remove the recently added -O0 for vax & gcc 14, the compiler bug is fixed.

thanks to Kalvis.
 1.303 24-Sep-2025  mrg vax-gcc14 needs -O0 for vsbus.c and ncr53c9x.c.
 1.302 13-Jan-2025  riastradh Switch from -std=gnu99 to -std=gnu11 by default.

This is needed for newer language syntax like u"foo" for UTF-16
string literals in UEFI.

As proposed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2025/01/05/msg029919.html

Some commentators requested -std=c11 instead of -std=gnu11, but that
requires additional work -- some of it is a matter of providing asm
and typeof as aliases for __asm__ and __typeof__, but there's other
issues that need to be resolved too like PR toolchain/58969: use of
alloca is warning, not error, with -std=c11. This is a smaller
incremental change.

PR toolchain/58962: clang build broken by C11 features with -std=gnu99
 1.301 06-May-2024  mrg branches: 1.301.2;
use objcopy's --compress-debug-sections when creating debug files.

this reduces the size of the installed files by over half in most cases,
though the debug set size doesn't really change much (which looks like
close to 1GB of space on amd64 with xdebug installed, similar on arm64,
and about 600MB without xdebug.)

tested by running GDB on a few things, seems just as functional, on amd64,
arm64, and slightly on riscv64.

(first attempt for this feature used "gcc -gz=zlib", but that ends up
making CTF unhappy, but fortunately this works in binutils to create
the .debug files separate to any ctf usage of the main file.)
 1.300 14-Jan-2024  gutteridge Makefile.kern.inc: fix grammar in a comment
 1.299 28-Jul-2023  rin Simplify fix for PR toolchain/57146

Introduce ARCH_STRIP_SYMBOLS variable to centralize logic for debug
symbols from MD Makefile's to Makefile.kern.inc.
 1.298 26-Jul-2023  rin Fix kernel size inflation for arm and aarch64 (PR toolchain/57146)

For some conditions, SYSTEM_LD_TAIL is set for arm and aarch64.
Then, ctfmerge(1) in default SYSTEM_LD_TAIL is unintentionally
skipped, which results in the catastrophic kernel size inflation,
as reported in the PR.

Also, introduce and use OBJCOPY_STRIPFLAGS variable instead of
STRIPFLAGS, as strip(1) is replaced by objcopy(1) during MI
kernel build procedure.

XXX
For Makefile.{arm,aarch64}, weird logic is used to determine how
to handle debug symbols; MKDEBUG{,KERNEL} are taken into account
later in sys/conf/Makefile.kern.inc.
 1.297 03-Jun-2023  lukem adapt to ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}

Simplify CWARNFLAGS to use ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
which works for both clang and gcc, and remove compiler-specific
equivalents.
 1.296 03-Jun-2023  lukem bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER

Provide a single variable
CC_WNO_ADDRESS_OF_PACKED_MEMBER
with options for both clang and gcc, to replace
CLANG_NO_ADDR_OF_PACKED_MEMBER
CC_NO_ADDR_OF_PACKED_MEMBER
GCC_NO_ADDR_OF_PACKED_MEMBER

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.295 27-Aug-2022  rillig branches: 1.295.4;
sys: document how to run lint on the kernel code (experimental)
 1.294 03-Aug-2022  riastradh sys: Build kernel with -Wno-type-limits.

The type-limits warning is actively harmful because it discourages
writing safe portable overflow detection logic which happens, on some
architectures, to be dead code.
 1.293 06-Jan-2022  christos Fix for systems that override SYSTEM_LD_TAIL
 1.292 04-Jan-2022  christos use a function "runit" to echo and execute avoiding set -x.
 1.291 30-Dec-2021  christos - With DEBUG=-g (which is also set when we build CTF) we build netbsd.gdb *and*
netbsd-${KERNEL_CONFIG}.debug because it is not worth having two sets of
rules (one that builds just netbsd.gdb and one that builds both netbsd.gdb
and netbsd-${KERNEL_CONFIG}.debug. This maintains compatibility building
netbsd.gdb when DEBUG=-g
- When either MKDEBUGKERNEL=yes or MKDEBUG=tes we set DEBUG=-g if DEBUG was
not set.
- We only make a debuginstall rule to install netbsd-${KERNEL_CONFIG}.debug
if MKDEBUG=yes
 1.290 30-Dec-2021  christos forgot one KERNEL_BUILD (Tobias Nygren)
 1.289 30-Dec-2021  christos Use the tail of KERNEL_BUILD since it can be a full path.
 1.288 30-Dec-2021  christos Add ${_MKTARGET_INSTALL}
 1.287 30-Dec-2021  christos use ${INSTALL_FILE} so that unpriv builds work.
 1.286 29-Dec-2021  christos Enable split-debug files for kernels. Enabled by default with MKDEBUG=yes.
 1.285 20-Dec-2021  christos Rename:
MKKDEBUG -> MKDEBUGKERNEL
MKTOOLSDEBUG -> MKDEBUGTOOLS
while keeping compatibility with the old names. Add missing documentation.
Now all debugging tunables are prefixed with MKDEBUG.
 1.284 27-Oct-2021  ryo revert previous: http://mail-index.netbsd.org/source-changes/2021/10/25/msg133295.html

going to add __always_inline to the functions called from _mcount()
discussed on http://mail-index.netbsd.org/source-changes-d/2021/10/25/msg013480.html
 1.283 25-Oct-2021  ryo In some arch, _mcount() would be called recursively when built with COPTS=-O0.

Normally, functions called from mcount.c are expected to be expanded inline,
so _mcount() will never be called recursively. But when build with COPTS=-O0,
`static inline' functions aren't inlined, and _mcount() will be called
recursively.

Even if _mcount() has `__attribute__((__no_ instrument_function__))',
it has no effect on the calling external (no-inlined) function.

To avoid this, PROF.<fn> is added can be set the profiling flag of any file.
"PROF.mcount.c" is set to blank by default, mcount.c itself is compiled
without -pg.
 1.282 11-Sep-2021  andvar Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.281 02-Jun-2021  nia drm2: build with -fwrapv, since the Linux kernel does and we don't
want to spend too much time fixing their code. silences a lot of
KUBSAN warnings.

we need to use COPTS to have per-option compiler flags. help from
Riastradh.
 1.280 06-Apr-2021  simonb branches: 1.280.2; 1.280.6;
Revert rev 1.278 which tried to call ctfmerge only once - this has
caused kernels with embedded symbol tables to explode in size.
 1.279 05-Apr-2021  christos Don't use /usr/bin/time (it is not portable)
 1.278 05-Apr-2021  simonb Move the ctfmerge call from SYSTEM_LD_TAIL (used by both STAGE1 and STAGE2)
to SYSTEM_LD_TAIL_STAGE2 only. ctfmerge is slow enough that just calling
it once is enough.
 1.277 31-Jan-2021  rillig branches: 1.277.2;
sys/conf: remove useless dollars from Makefile.kern.inc

When parsing a variable modifier such as :C or :S, all '$' but the very
last are silently swallowed.

See usr.bin/make/unit-tests/varmod-subst.mk for details.

Since August 2020, make has a strict lint mode that is activated by
passing it the option -dL. In that mode, these redundant '$' are not
accepted anymore.
 1.276 06-Sep-2020  mrg branches: 1.276.2;
add support for new GCC 9 warnings that may be too much to fix
right now. new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree. mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it. (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.) clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.
 1.275 22-Jul-2020  jdolecek enable -Walloca, warn if something uses alloca()
 1.274 25-Jun-2020  jdolecek enable gcc stack usage limit for kernel functions, set to 3.5 KiB for now
as that seems to be enough to accomodate the current biggest stack usages

there are about six functions which use over 3KiB local stack, and
about a dozen between 2-3 KiB, so pushing this further needs more work
if desired

compile tested on amd64, i386, sparc64, sparc, powerpc (evbppc - BookE),
m68k (mac68k)
 1.273 19-Jun-2020  simonb Use -fstack-usage only if we are using gcc.

Pointed out by maxv@
 1.272 18-Jun-2020  rin Discard -fstack-usage for vax, for which GCC does not support that option
at the moment.
 1.271 17-Jun-2020  simonb Add -fstack-usage to kernel builds. Produces .su files that can be
analysed to find large stack users.
 1.270 21-May-2020  christos Do the chmod last so that the kernels get consistent permissions for MKREPRO
Reported by wiz@.
 1.269 04-Apr-2020  christos Infrastructure for putting kernel+modules in /netbsd/kernel and
/netbsd/modules respectively instead of /netbsd and
/stand/<arch>/<version>/modules. This is only supported for x86,
and is turned off by default. To try it, add KERNEL_DIR=yes in your
/mk.conf and install a system from that build.
 1.268 05-Feb-2019  mrg pass -Wno-error=implicit-fallthrough for zlib.c.

XXX: consider using copts.mk for various warning/copt flags passed
in kernel builds currently set via 'makeoptions' in files.* files.
this is suboptimal, as those all get embedded into the kernel with
config_file.h.
 1.267 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.266 22-Sep-2018  rin - Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos
 1.265 27-Aug-2018  riastradh Add CFLAGS, CPPFLAGS, and CWARNFLAGS from options to .c files.
 1.264 17-Feb-2018  joerg branches: 1.264.2; 1.264.4;
Restrict -fno-delete-null-pointer-checks to GCC.
 1.263 13-Feb-2018  mrg use -fno-delete-null-pointer-checks for kernels.
 1.262 22-Jan-2018  christos - Coverity does not like -std=gnu99
- Another lose is that you need to manually edit the compiler XML to add
all the kernel options because cov-configure barfs because it tries to
test the compilation environment thinking that we are userland even
when options like -ffreestanding are present.
 1.261 04-Dec-2017  martin We use .BEGIN for our own cleanup and won't ever need DTS support - so
avoid inclusion of dts.mk by defining _SKIP_DTS
 1.260 15-Jul-2017  christos branches: 1.260.2;
Move the dts rule to a separate file and add dependencies handling.
 1.259 13-Jul-2017  jmcneill Add support for dts files outside of external/gpl2.
 1.258 17-Jun-2017  christos Assign DTB files to a variable so we can make -V DTB
 1.257 15-Jun-2017  jmcneill Add support for building DTB files during kernel build, from christos.
 1.256 11-Jan-2017  joerg branches: 1.256.8;
Disable a couple of warnings until further investigation.
 1.255 08-Jan-2017  christos Move to ssp.c suggested by uebayasi@
 1.254 08-Jan-2017  christos Add COPTS for xhci.c, since the do_command_locked causes a spurious stack
proector warning.
 1.253 04-Jan-2017  christos Collect a list of kernel swap files to be removed (Yorick Hardy)
 1.252 04-Jan-2017  christos match the M* and N* targets.
 1.251 04-Jan-2017  christos PR/51772: Yorick Hardy: Don't hard-code "netbsd", use ${.TARGET} consistently.
 1.250 09-Apr-2016  riastradh branches: 1.250.2;
Use && to fail early if subcommands of kernel link fail.

(Remind me why we string together shell commands instead of just
using make targets?)
 1.249 27-Nov-2015  christos use commands() instead of target() because assym.mk creates all the targets
unconditionally.
 1.248 27-Nov-2015  christos PR/50483: David A. Holland: fix building of assym.d:

1. use += to add to DEPS
2. move inclusion of rules mk. files before the rules are defined
so that variables are set.

Now we get on amd64:

mkdep: ignoring acpi_wakeup_low.d: No such file or directory
mkdep: ignoring amd64func.d: No such file or directory
mkdep: ignoring busfunc.d: No such file or directory
mkdep: ignoring copy.d: No such file or directory
mkdep: ignoring cpu_in_cksum.d: No such file or directory
mkdep: ignoring cpufunc.d: No such file or directory

because there are no rules to generate those, but it is harmless.
 1.247 15-Sep-2015  uebayasi Clean up splash image build. Print messages when creating files.
 1.246 11-Sep-2015  uebayasi Indent.
 1.245 10-Sep-2015  uebayasi Fix dependency of *.d -> assym.h in `-S' mode.
 1.244 07-Sep-2015  uebayasi Preserve the order of files in ${ALLFILES} -> ${OBJS} conversion.
 1.243 06-Sep-2015  uebayasi More build ordering.
 1.242 06-Sep-2015  uebayasi Don't pass ``-DCOPY_SYMTAB'' to ${CC}; it's replaced with opt_copy_symtab.h.
 1.241 06-Sep-2015  uebayasi Move ldscript related code out of Makefile.kern.inc.
 1.240 06-Sep-2015  uebayasi Clean up. Move assym.h/vers.c related code out of Makefile.kern.inc.
 1.239 06-Sep-2015  uebayasi Clean up. Move SSP-specific adjustment out of Makefile.kern.inc.
 1.238 06-Sep-2015  uebayasi Allow MD to link libraries. Build rules are written in MD makefiles until
config(1) will support library properly.
 1.237 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.236 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.235 03-Sep-2015  uebayasi Prepare for relative ${MD_OBJS}.
 1.234 03-Sep-2015  uebayasi Move `all' target definition to Makefile.kern.inc.
 1.233 03-Sep-2015  uebayasi Kernel depends on swap<kernel>.o too.
 1.232 03-Sep-2015  uebayasi Sort dependendy to keep alphabetical build order.
 1.231 03-Sep-2015  uebayasi Define kernel dependency in Makefile.kern.inc.
 1.230 03-Sep-2015  uebayasi Rename ${COMPILE.c} to ${KCOMPILE.c} to avoid potential conflicts with those
in sys.mk. Define .go/.po suffix rules.
 1.229 03-Sep-2015  uebayasi Refactor.
 1.228 03-Sep-2015  uebayasi Simplify. Wrap long lines.
 1.227 03-Sep-2015  uebayasi Stop ordering objects alphabetically now that I am sure I can fix fallouts.
 1.226 03-Sep-2015  uebayasi Build conf/param.c normally.
 1.225 02-Sep-2015  uebayasi Fix link of kernels whose name don't start with "netbsd*".
 1.224 02-Sep-2015  uebayasi Build param.c under conf/ using suffix rules in `-S' mode.
 1.223 02-Sep-2015  uebayasi Clean up `swap<kernel>.o' handling.
 1.222 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.221 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.220 02-Sep-2015  uebayasi Add swap<kernel>.o to common ${SYSTEM_LD} as it is always linked.
 1.219 02-Sep-2015  uebayasi Clean up some rules and make them less error prone.
 1.218 01-Sep-2015  uebayasi Define suffix rules at the end to override system definitions. Provide them
only if ___USE_SUFFIX_RULES___ is defined (config -S).
 1.217 01-Sep-2015  uebayasi Experimental suffix-rules build (disabled by default).
 1.216 30-Aug-2015  uebayasi Fix "Define compile rules in sys/conf/Makefile.kern.inc ...".

Use `.if !commands(xxx)' to check if `xxx' has a defined, overriden rule,
instead of `.if !targets(xxx)'. The latter evaluates as true even when `xxx'
has an empty rule to define a dependency.
 1.215 30-Aug-2015  uebayasi A makeoptions `DEFWARNINGS', forcibly disabling all ${CC} warnings, is only
used by hpcmips's NULLCONF, which doesn't even build for other causes.

If some source doen't build and needs a workaround, that should be deal with
by modifying per-file ${CC} options (e.g. COPTS.foo.c+=-fno-xxx). Let's not
use DEFWARNINGS any longer.
 1.214 30-Aug-2015  uebayasi Move splash logic, keep Makefile.kern.inc clean.
 1.213 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.212 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.211 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.210 29-Aug-2015  uebayasi Move less important part out of Makefile.kern.inc.
 1.209 29-Aug-2015  uebayasi Define two suffix rules, .c -> .o and .S -> .o, using ${NORMAL_C} and
${NORMAL_S} respectively. Use the .c rule to build devsw.c, ioconf.c, and
param.c. Other .c/.S files have explicit rules in the generated `Makefile',
and unaffected.
 1.208 29-Aug-2015  uebayasi Now that MAXUSERS is in opt_param.h, param.o doesn't depend on Makefile.
 1.207 29-Aug-2015  uebayasi According to nxr.netbsd.org, nothing uses MEMORY_DISK_IMAGE. Retire it.
Premature design and its build rule bloats Makefile.kern.inc. There are
other ways like MEMORY_DISK_DYNAMIC.

(When kernel will be built as relocatable, embedding binary data will be much
easier, and md(4), splash(4), and ksyms(4) will all benefit.)
 1.206 29-Aug-2015  uebayasi genassym.cf and machdep.c are _KERNEL_OPT'ed, don't depend on Makefile.
 1.205 29-Aug-2015  uebayasi conf.c doesn't exist.

autoconf.c exists, but it's just a C file, no need to depend on Makefile.
 1.204 29-Aug-2015  uebayasi I don't see how uipc_proto.c can change its content by Makefile, don't depend
on Makefile. vfs_conf.c doesn't even exist, remove it too.
 1.203 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.202 29-Aug-2015  uebayasi Revert MAXUSERS changes. Need fresh air.
 1.201 29-Aug-2015  uebayasi Define MAXUXERS in opt_param.h. Bump config(1) version.
 1.200 29-Aug-2015  uebayasi Comment.
 1.199 29-Aug-2015  uebayasi Define some suffix rules. Not used and harmless, because all rules are
explicit now.
 1.198 29-Aug-2015  uebayasi Specify explicit output (-o) to ${LINT} too.
 1.197 29-Aug-2015  uebayasi Specifiy explicit output (-o) to ${CC}.
 1.196 27-Aug-2015  uebayasi netbsd depends on $S/kern/kern_ksyms_buf.c; rarely updated but better safe.
 1.195 27-Aug-2015  uebayasi Tweak previous.
 1.194 27-Aug-2015  uebayasi Echo exact objects (swap*.o etc.) when linking kernel.
 1.193 26-Aug-2015  uebayasi Have MI genassym.cf.
 1.192 26-Aug-2015  uebayasi Don't allow MD to override the assym.h generation rule.

(Nothing defines it except i386/bioscall/Makefile, but it is not part of
kernel build.)
 1.191 25-Aug-2015  uebayasi Make <kernel>.ldscript ready to include assym.h.
 1.190 25-Aug-2015  uebayasi Redo Rev. 1.188:
o Explicitly add dependency of `<kernel>' on `<kernel>.ldscript', instead of
relying on ${SYSTEM_DEP}, which is evaluated much earlier than
`sys/conf/Makefile.kern.inc' is included, to avoid evaluation ordering
problems.
o Print a message when creating a `<kernel>.ldscript'.
o Trim empty lines in `<kernel>.ldscript'.
 1.189 24-Aug-2015  christos Fix the build: provide compatibility with ports that define KERNLDSCRIPT to
a file?
 1.188 24-Aug-2015  uebayasi If a kernel linker script is provided, preprocess it by cpp(1).

Thus some constants (PAGE_SIZE, COHERENCY_UNIT, ...) can be replaced in linker
scripts without setting unnecessary temporary symbols, or doing ugly sed(1)
hacks. No headers are included yet.
 1.187 24-Aug-2015  uebayasi Fix vers.o dependency:
o Depend on ${SYSTEM_OBJ} instead of ${SYSTEM_DEP}. The latter is obviously
meant for kernels.
o Depend on Makefile instead of ${SYSTEM_SWAP_DEP}, which has existed since
Rev. 1.1, but seems not used now. Makefile is a file that must be updated
after every config(1) run. This is simpler than dependency on swap<kernel>.c.
 1.186 24-Aug-2015  uebayasi Define ${LINKSCRIPT} in one place.
 1.185 19-Aug-2015  uebayasi If MD ldscript is generated, give it dependency on ${SYSTEM_OBJ}.
 1.184 01-May-2015  nat Include splash with genfb.
splash.o is only included with options SPLASHSCREEN.
splash_image.o target moved to Makefile.kern.inc.

This commit was approved by matt@
 1.183 15-Nov-2014  uebayasi branches: 1.183.2;
Stop ordering dependencies alphabetically.
 1.182 15-Nov-2014  uebayasi Don't sort objects for modular build.
 1.181 15-Nov-2014  uebayasi Separate linker script argument (${LINKSCRIPT}) from ${LINKFORMAT}

${LINKFORMAT} specifies ABI options, and used for ld -r. ${LINKSCRIPT} (-T
ldscript) is used only for final link.
 1.180 13-Nov-2014  uebayasi `ld -r' needs ${LINKFORMAT}. This fixes the experimental config(1) modular
build for MIPS64 ports.
 1.179 07-Nov-2014  nakayama Trim " " at the beginning of version string to follow the change
in rev.1.60 of newvers.sh.

-const char sccs[] = "@(#)${fullversion}";
+const char sccs[] = "@(#)" ${fullversion_source};
 1.178 06-Nov-2014  uebayasi Leave .map when linking .ko in modular build.
 1.177 06-Nov-2014  uebayasi More clean files.
 1.176 10-Oct-2014  uebayasi Fix link echo indent.
 1.175 09-Oct-2014  uebayasi Define a command to generate relocatable objects using ld -r.
 1.174 20-Sep-2014  matt Also copy the symtab to the .gdb image. If we are producing a .gdb, grab
the symtab from that since it will be a bit larger than the one from the
stripped kernel and thus can't be inserted into the .gdb kernel.
 1.173 05-Sep-2014  matt Add a commented out CWARNFLAGS to enable -Wc++-compat but don't treat them
as errors.
 1.172 21-Aug-2014  skrll More tidyup after joerg's copy&paste disaster. I have ddb symbols again.
 1.171 20-Aug-2014  joerg Drop stray }
 1.170 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.169 08-Aug-2014  joerg branches: 1.169.2;
The bpendtsleep label has been gone for a long time, so cleanup the
associated hack here.
 1.168 05-May-2014  martin As discussed on tech-toolchain, offer a new make variable MKKDEBUG - if
set to "yes", kernel builds will gain debug info and a netbsd.gdb will
be created (same as adding "makeoptions DEBUG=-g" to the config file).
 1.167 10-Mar-2014  ozaki-r branches: 1.167.2;
Do COMPILE_CTFCONVERT on vers.o as same as other targets

Otherwise, we will get the error when building a kernel with -V MKDTRACE:
ERROR: nbctfmerge: Input file vers.o was partially built from C sources,
but no CTF data was present
 1.166 10-Mar-2014  ozaki-r Use CTFMFLAGS, not CTFFLAGS, for CTFMERGE
 1.165 04-Mar-2014  joerg Introduce GENASSYM_CPPFLAGS for options during genassym processing.
Consistently drop assembler flags.
 1.164 18-Oct-2013  mbalmer revert previous
 1.163 18-Oct-2013  mbalmer add a device-major for lua(4)
 1.162 21-Sep-2013  joerg Update LLVM/Clang snapshot to r191105. This brings in a better detection
of unused static variables and functions. Disable this for some external
code and for ioconf.c in the kernel.
 1.161 09-Aug-2013  skrll Fix debug kernel builds when the automatic symbol table resizing kicks in.
Previously, the TAIL/HEAD link steps were being executed twice and the
(relinked/stripped) kernel would overwrite the debug version.

XXX this is all ugly.
 1.160 17-Jul-2013  matt Use += for SYSTEM_DEP not ?=
 1.159 04-Nov-2012  apb branches: 1.159.2;
Add references to ${_NETBSD_VERSION_DEPENDS} for files that
need to be re-created when the NetBSD version changes. They
will also be re-created when any build settings are changed.
 1.158 10-Aug-2012  joerg branches: 1.158.2;
Deal with optional HAVE_GCC.
 1.157 27-Jul-2012  matt Enable -fno-common for GCC compiled kernels
 1.156 25-Mar-2012  martin Redo rev 1.154 by using an explicit MKSHNOECHO that does not output anything.
 1.155 25-Mar-2012  joerg Don't pass assembler flags to genassym, it doesn't compile.
 1.154 25-Mar-2012  uebayasi Don't print blank lines when !CTFCONVERT.
 1.153 19-Mar-2012  bsh adjust the size of db_symtab space automatically.
proposed on tech-toolchain@, and got no objections.
 1.152 12-Feb-2012  matt branches: 1.152.4;
Change old-style function defintions to C89 prototypes.

Approved by releng.
 1.151 03-Feb-2012  christos -Wold-style-definitions for i386 and amd64
 1.150 19-Dec-2011  joerg Move Clang-warning flags for ah_regdomain.c into sys/conf, they are
platform independent. Use the selective -Wno-* flags instead of
-Wno-error.
 1.149 25-Sep-2011  joerg branches: 1.149.2; 1.149.6;
Allow analyze to work by including bsd.clang-analyze.mk for kernels
 1.148 31-Aug-2011  plunky for multi-cpu machines, cpu_hatch() straddles the init of
__stack_chk_guard, so ensure stack protection is disabled
on x86 architectures (I don't know about other archs)
 1.147 28-Aug-2011  jmcneill let kernel makefile override *.d targets
 1.146 18-Aug-2011  christos Remove gcc-4.5 hacks
 1.145 11-Aug-2011  jmcneill let md makefile add newvers.sh flags by setting NVFLAGS
 1.144 09-Aug-2011  joerg Restrict -Wno-array-bounds to tulip.c with gcc.
 1.143 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.142 07-Jul-2011  mrg adb_kbd.c and adb_ms.c need -Wno-cast-qual due to sysctl const issue.
 1.141 04-Jul-2011  mrg apply some -Wno-foo to 3 files that are non-trivial to solve, for GCC 4.5.
 1.140 20-Jun-2011  mrg remove all the code that supported HAVE_GCC=3. mostly from chuq.
 1.139 17-Jun-2011  matt If dbsym fails, not fail the command, remove the target too so that the
next invokation will try to remake it.
 1.138 30-May-2011  joerg branches: 1.138.2;
Don't duplicate -Werror here, bsd.sys.mk already provides it
 1.137 26-May-2011  joerg Default to -Wno-sign-compare -Wno-pointer-sign for clang.
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
 1.136 23-May-2011  joerg Reorder flag order to not depend on -Wextra being applied before
-Wno-sign-compare
 1.135 22-May-2011  joerg Inherit SSP settings from bsd.sys.mk
 1.134 19-May-2011  joerg Spell --fatal-warnings with two hyphens
 1.133 17-May-2011  joerg Add support for source specific AFLAGS and COPTS.
 1.132 11-May-2011  jakllsch Make ${DBSYM} failure fatal.
 1.131 30-Apr-2011  plunky correct comment
 1.130 17-Feb-2011  matt If generating a gdb kernel and using dbsym, insert the symbols into it.
(This is useful when using the .gdb with an emulator so that ddb in the
emulator will have symbols).
 1.129 04-Jan-2011  matt branches: 1.129.2; 1.129.4;
If using a kernel ldscript, make sure it's added to the list of kernel
dependencies.
 1.128 02-Jan-2011  matt Kernels modules are c99 (gnu99) just like the kernel.
Add(move) -std=gnu99 to CPPFLAGS (from COPTS).
 1.127 05-Mar-2010  njoly branches: 1.127.2;
Use 'a && b && ...' contructs for running multiple commands on a single line
in Makefiles, to properly detect/report failures.
 1.126 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.125 10-Nov-2009  tron branches: 1.125.2;
"cgd.c" doesn't use variable size stack allocations anymore.
 1.124 13-May-2009  cube Nothing has used config_time.h since 1/8/2008.
 1.123 30-Mar-2009  perry Add a MKREPRO variable (defaults to "no") that invokes newvers.sh with
the -r flag if it is set to "yes", resulting in a reproducible kernel build.
 1.122 20-Mar-2009  pooka fix cscope target

Philip Paeps, PR kern/41012
 1.121 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.120 18-Jan-2009  hans branches: 1.120.2;
Not every grep knows -q. Ok by apb.
 1.119 13-Nov-2008  matt Sort the kernel objects.
 1.118 25-Oct-2008  apb branches: 1.118.2; 1.118.4;
Use ${TOOL_SED} instead if plain sed in Makefiles.
 1.117 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.116 05-Sep-2008  tron Compile NetBSD/amd64 kernels with "-Wextra". Patches contributed by
Juan RP in PR port-amd64/39266.
 1.115 05-Sep-2008  tron Don't add "${CPUFLAGS}" and "${CWARNFLAGS}" to "AFLAGS" and "CFLAGS" twice.
Patch submitted by Juan Romero Pardines in PR kern/39265.
 1.114 29-Aug-2008  gmcgarry Wrap compiler-specific flags with HAVE_GCC and HAVE_PCC as necessary. Add a few flags for PCC.
 1.113 21-Jun-2008  gmcgarry branches: 1.113.2;
pcc needs -Wno-unreachable-code.
 1.112 14-May-2008  dholland branches: 1.112.2;
Print kernel version string along with the size output, to avoid having
to dig it out manually if installing by version number... and also to
make it somewhat easier to notice up front if one accidentally boots
the wrong test kernel. not like I've ever done that. ;-)

PR kern/38563.
 1.111 24-Mar-2008  jmmv branches: 1.111.2; 1.111.4; 1.111.6;
Fix flags for kern_synch.c: it is COPTS.<cfile>, not CFLAGS.<cfile>.
 1.110 25-Feb-2008  matt Since we say the kernel is C99, add -std=gnu99 to COPTS
 1.109 23-Feb-2008  matt Add assym.d to DEPS so it gets properly cleaned.
 1.108 03-Feb-2008  matt branches: 1.108.2; 1.108.6;
Add a syntax-only target which attempts to compile the entire kernel as one
entity. Think of it as super-lint. Due to bugs in the GCC C frontend it
doesn't quite work right but it does provide useful feedback.
 1.107 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.106 17-Jan-2008  lukem Remove unnecessary references to config_time.h.
 1.105 17-Jan-2008  lukem Use BUILDSYMLINKS from <bsd.files.mk> instead of custom copy rules
for config_time.h and athhal_options.h.

Note: we still copy param.c because I'm told that we should still support
people editing that on a per-compile basis.
 1.104 29-Nov-2007  jnemeth branches: 1.104.6;
add dev/ofw/ofw_subr.c to VARSTACK
 1.103 08-Oct-2007  tls branches: 1.103.4;
Fix accidental USE_SSP -> USE_FORT: now USE_SSP works as intended for
kernel builds. Thanks to xtraeme for pointing this out.
 1.102 25-Sep-2007  pooka ufs is ssp clean
 1.101 28-May-2007  tls branches: 1.101.6; 1.101.8; 1.101.10;
Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry. RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros. Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default. Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
 1.100 12-Mar-2007  jmmv branches: 1.100.2;
Add the ability for platform-specific Makefiles to indicate which kernel
images to install into / (which might be more than just "netbsd").

Addresses PR port-shark/17569.
 1.99 27-Jan-2007  christos branches: 1.99.2; 1.99.6;
We don't need to include kern_exit43.c to the list of files that we cannot
use SSP on now that zero sized arrays are treated properly in gcc.
 1.98 18-Dec-2006  tls Add --param ssp-buffer-size=1 if USE_SSP as for userspace.
Add kern_exit_43.c to VARSTACK -- it isn't, really, but it causes an error
because it has a 0-element array on the stack and SSP always emits the
error that it is not protecting such a small array (ssp-buffer-size=0 is
not supported, so, really, it should not emit this error!).
 1.97 12-Dec-2006  christos use -fstack-protector instead of -fstack-protector-all since this breaks
on amd64 (it works on sparc64).
 1.96 10-Dec-2006  christos there is no stack-protector for gcc3
 1.95 03-Dec-2006  tls Add arch/xen/i386/gdt.c to list of kernel files that do variable-size
allocations on the stack. This allocation could potentially be quite
large -- I am not sure how to best fix that.

Fixes USE_SSP i386 build.sh failure.
 1.94 15-Nov-2006  christos branches: 1.94.2;
add aic97xx.c to the varstack list. from shannonjr.
 1.93 11-Nov-2006  jnemeth add another file to the VARSTACK list
 1.92 11-Nov-2006  christos Add SSP support.
XXX: This is broken for me right now, because my kernel resets after fxp0
is probed, but it could be some bug in the driver/compiler.
 1.91 30-Oct-2006  garbled Add -Wextra -Wno-unused for prep.
 1.90 26-Oct-2006  thorpej Insert a .WAIT between "depend" and "all" in the "dependall" target, so
that "make -j4 dependall" has the intended effect.
 1.89 17-Oct-2006  martin Sparc64 is -Wextra ready - but we are not sure where to go with __unused,
so add -Wno-unused-parameter for now.
Ok'd by christos.
 1.88 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.87 04-Oct-2006  christos Add -Wextra -Wno-unused for i386. Portmasters, please check your ports
and make sure they compile with these flags.
 1.86 11-Sep-2006  matt branches: 1.86.2;
Add AFLAGS+= ${AOPTS.${.IMPSRC:T}}
 1.85 07-Sep-2006  mrg make the bpendtsleep: label only active if KERN_SYNCH_BPENDTSLEEP_LABEL
is defined. if this option is present in the Makefile CFLAGS and we are
using GCC4, build kern_synch.c with -fno-reorder-blocks, so that this
actually works.

XXX be nice if KERN_SYNCH_BPENDTSLEEP_LABEL was a normal 'defflag' option
XXX but for now take the easy way out and make it checkable in CFLAGS.
 1.84 27-Aug-2006  simonb branches: 1.84.2;
Add -Wa,-fatal-warnings to AFLAGS. We want assembler warnings to be
fatal as well as compiler warnings.
Vague nods of agreement from Christos and Gimpy.
 1.83 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.82 02-Jun-2006  mrg remove support for building (with) GCC 2.95. also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
 1.81 21-May-2006  christos it is attributes no attribute
 1.80 21-May-2006  christos Put back -Wno-attribute for now since not all archs have been fixed.
 1.79 20-May-2006  christos Don't use -Wno-attributes for gcc4. All the code has been fixed and it will
just hide bugs.
 1.78 11-May-2006  mrg branches: 1.78.2;
if GCC>3:
- add -Wno-attributes -Wno-pointer-sign to CWARNFLAGS.
- add -fno-strict-aliasing to CFLAGS [*]

our kernel again needs a bunch of work for this to be enabled.
 1.77 28-Apr-2006  thorpej Also search for headers in common/include
 1.76 19-Apr-2006  lukem Order & uniq DEPS, a la <bsd.dep.mk>.
 1.75 19-Apr-2006  lukem Sort SYSTEM_OBJ before adding to SYSTEM_DEP.
Kernel builds are now more consistent with userland
(and IMHO building in order is more asthetically pleasing.)
 1.74 29-Mar-2006  uwe Don't add CPUFLAGS to CFLAGS twice.
 1.73 12-Dec-2005  dsl branches: 1.73.4; 1.73.6; 1.73.8; 1.73.10; 1.73.12;
If we are going to run mkdep separately for each file, we might as well
get this makefile to execute the mkdep commands - no need for a submake
and xargs at that point.
However we do need to do something to stop the 'mkdep -d' and CLEANDEPEND
command lines being to long.
Note that 'echo ${xxx} | cmd' is ok because echo is a shell builtin, and
isn't (usually) subject to the kernel's command line limits.
 1.72 01-Dec-2005  lukem Remove the .d files during __CLEANDEPEND
 1.71 24-Nov-2005  yamt use .d mechanism for kernel as well.
 1.70 24-Nov-2005  dbj . Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
. Make this error a fatal build time error
. Move the support for dbsym into the MI Makefile.kern.inc,
conditional upon the SYMTAB_SPACE option being defined in
the kernel config file.
 1.69 02-Nov-2005  yamt branches: 1.69.2;
don't pass -t option to xargs unless MAKEVERBOSE is 2.
 1.68 18-Jun-2005  martin branches: 1.68.2;
Do not use -Wreturn-type with gcc 2.95.x
 1.67 07-Jun-2005  sjg Sometimes .BEGIN target is not wanted - eg in sub-make's.
 1.66 02-Jun-2005  sjg Don't assume infinite command line length.
 1.65 01-Jun-2005  uwe Add CWARNFLAGS.<fn>
 1.64 31-May-2005  yamt - move COPTS.${.IMPSRC:T} and friends after other options so that
they can override global options.
- put CPPFLAGS.${.IMPSRC:T} into CPPFLAGS, rather than CFLAGS.
 1.63 31-May-2005  christos Add overrides for tools we use (genassym and hexdump). Now kernel compiles
work again (hi jason!)
 1.62 31-May-2005  christos Most of the kernel source now works with "-Wcast-qual -Wshadow
-Wreturn-type -Wwrite-strings -Wswitch" so I am turning them on. There
is going to be a little lossage on some platforms but you can always
compile with "make DEFWARNINGS=no". Tested on sparc64 and i386.
 1.61 30-May-2005  thorpej Use TOOL_GENASSYM. Part of PR toolchain/30350
 1.60 23-May-2005  dbj tweak reference of DEBUG variable to ignore options that don't start with -g
 1.59 26-Feb-2005  perry nuke trailing whitespace
 1.58 16-Dec-2004  heas branches: 1.58.2; 1.58.4;
Adjust the cscope target so that each source file on a separate line to avoid
overrunning cscope's read buffer and prefix files within lib/{kern,compat}
with the appropriate path.
 1.57 13-Sep-2004  chs work around a binutils bug where converting ELF kernels to a.out with objcopy
produces corrupted binaries when the link_set_* sections extend into another
page after the end of the .text section by using a generated an ldscript that
puts all the link_set_* data into the .text section in the first place.
 1.56 31-Jul-2004  lukem Rename LIBCOMPAT* -> SYSLIBCOMPAT*, now that <bsd.own.mk> provides LIBCOMPAT.
Fixes kernel link problem noted by Sebastien Erard.
 1.55 15-Jul-2004  atatat Make uudecode into a tool that can be used to build a kernel and redo
the athhal-elf.o handling to take advantage of it. This means that
bsd.files.mk is no longer included by Makefile.i386 so CFLAGS won't be
duplicated.
 1.54 13-Jul-2004  uebayasi Narrow a sed(1) RE handling a file/directory name so that build under a
directory named like 'xxx.cxxx/' succeeds.
 1.53 25-Apr-2004  matt -fno-zero-initialized-in-bss only to gcc3, not gcc2.95
 1.52 24-Apr-2004  pk Force zero-initialised variables into the .data segment.
 1.51 04-Dec-2003  lukem branches: 1.51.2;
fix the MAKEVERBOSE messages to be consistent with the standard ones
 1.50 01-Dec-2003  lukem prefix ${.TARGET} with "${.CURDIR:T}/" in various _MKSHMSG macros;
per similar change to <bsd.own.mk>
 1.49 25-Nov-2003  pk Change default verbosity level to `traditional'.
 1.48 25-Nov-2003  pk NORMAL_C,NOPROF_C,NORMAL_S: put `@' in front of these to get saner output.
Also we can't use _MKTARGET_COMPILE here. For now, just hard-code the message.
 1.47 25-Nov-2003  pk SYSTEM_LD: don't display every object file on the planet thrice.
 1.46 20-Nov-2003  lukem Provide appropriate no-op defaults for _MK* macros, in case <bsd.own.mk>
is too old.
 1.45 17-Nov-2003  lukem Add support for MAKEVERBOSE (a first pass, at least).
Use COPTS.<sourcefile> instead of <sourcefile>_G.
Use HOST_SH (which defaults to `sh' if not set).
 1.44 14-Nov-2003  dsl Remove the .if !target(dependall) so that 'make dependall' works (again)
for the kernel.
 1.43 11-Nov-2003  enami Prevent mkdep from parsing compiler flags like -pipe.
 1.42 06-Nov-2003  jdolecek force -Wno-uninitialized if the compiler is gcc 2.95
 1.41 29-Oct-2003  mycroft Back out -Wno-uninitialized for m68k -- the compiler bug is fixed.
 1.40 28-Oct-2003  skrll Add COPTS.<fn>, CPUFLAGS.<fn>, CPPFLAGS.<fn> to CFLAGS to mirror the
file specific flags support of bsd.{lib,prog}.mk.

From Christos.
 1.39 28-Oct-2003  he sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.
 1.38 26-Oct-2003  christos Delete -Wno-uninitialized. Tested on sparc64 and i386. Rationale:
Gcc-3.3 produces valid warnings in most cases and uncovers bugs. In the
cases where a variable is known to be initialized, we initialize it and
add: /* XXX: gcc */. If a $MACHINE_ARCH's compiler is busted, it can add
-Wno-uninitialized in the MD Makefile.
 1.37 01-Oct-2003  matt Make the kernel makefiles pay attention to NOGCCERROR
 1.36 18-Aug-2003  mrg allow DEBUG to be set to "-gstabs" or "-gstabs+", to enable building
netbsd.gdb. (you need "-gstabs" for gcc3.3 and old gdb.)
 1.35 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.34 30-May-2003  thorpej branches: 1.34.2;
Add a CPUFLAGS variable which can be set by the user's mk.conf or in
the environment:

CPUFLAGS Additional flags to the compiler/assembler to select
CPU instruction set options, CPU tuning options, etc.

Since CPUFLAGS is not implicitly set by any part of the make infrastructure,
it is safe to set in mk.conf, unlike COPTS or DBG.
 1.33 07-Mar-2003  thorpej Allow a memory disk image to be statically included in the kernel
to be specified in the kernel configuration file, like so:

makeoptions MEMORY_DISK_IMAGE="/path/to/image.fs"
 1.32 05-Feb-2003  matt Add ${EXTRA_OBJ} so that pre-compiled .o's can be linked into the kernel.
 1.31 10-Dec-2002  atatat Remove an antiquated comment and make .depend depend on config_time.h
so that the depend target can properly complete now that perry has the
time to use the time.
 1.30 25-Nov-2002  thorpej Add -Wno-sign-compare; that flag was made implicit with -Wall in
GCC 3.3, and our sources aren't really up to the task, yet.
 1.29 19-Nov-2002  atatat Alter config so that it emits a config_time.src file (the source file
for config_time.h) that contains, for example:

/* Sun Nov 17 05:37:51 2002 GMT */
#define CONFIG_TIME 1037511471
#define CONFIG_YEAR 2002
#define CONFIG_MONTH 11
#define CONFIG_DATE 17
#define CONFIG_HOUR 5
#define CONFIG_MINS 37
#define CONFIG_SECS 51

These values represent the current time as of when config was last
run, so that functions (eg, inittodr()) can use these values instead
of being updated once every year or so with the "current" time.

The associated modification to Makefile.kern.inc makes config_time.h
depend on this depend on this and the kernel Makefile, so that
granularity of kernel builds is not reduced.
 1.28 03-Nov-2002  chris Remove an extra }
 1.27 02-Nov-2002  perry lint infrastructure overhaul to finally lint the kernel libs right.

XXX the dependencies for the kernel .ln files are just plain wrong. We
need some sort of extended make depend hack to do it right. We will
suffer with it for now.
 1.26 24-Oct-2002  christos use -X to ignore static function unused warnings, and echo the command.
 1.25 06-Oct-2002  fvdl Back out revision 1.23, it breaks all kernel configs that do

makeoptions COPTS="foo"

There are quite a few of those in the tree, as well.
 1.24 05-Oct-2002  chs all ports are now fully prototyped and pointer-arith clean.
turn on these warnings all the time.
 1.23 29-Sep-2002  sjg Replace COPTS?= with COPTS+= so that a setting of COPTS in mk.conf
(common on sparc systems) does not cause the -O2 in DEFCOPTS to
be lost - which results in an unloadable kernel on sparc.

Reviewed by: christos
 1.22 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.21 01-Sep-2002  thorpej Build a .gdbinit in the kernel build directory. The new .gdbinit
will source all of the system-provided gdb scrips in sys/gdbscripts,
as well as any files specified by the user in the GDBINIT make var.
 1.20 11-Aug-2002  lukem vers.o should also depend upon $S/conf/newvers.sh and $S/conf/osrelease.sh
 1.19 12-Jul-2002  wrstuden cscope.out target needs depend too, zap old comments
 1.18 02-Jul-2002  wrstuden Fix cscope and mkid targets so that they work even when the kernel
compile directory is not under /usr/src/sys (i.e. when 'S' is not
'../../../..'). Pointed out by Robert Elz in PR 17384.

Thanks again to Andrew Brown for figuring out how to rip .depend apart.
 1.17 18-Jun-2002  wrstuden Updated version of cscope/mkid support. Check libkern and compat lib
for source files. Also include header files in mkid run.
 1.16 17-Jun-2002  wrstuden Add cscope and mkid (and cscope.out and ID) targets to kernel compile
Makefiles. The main feature added by these targets is that they cover
ONLY the source files used for a given kernel and no other. Thus when
examining MD routines provided by all machines, you will see only
those applicable for your kernel.
 1.15 29-May-2002  tv Make sure DBSYM is defined if not overridden by USETOOLS=yes.
 1.14 26-May-2002  fvdl Add -Wno-format-zero-length, for forward compatibility with gcc 3.2.
Our in-tree gcc 2.95.3 accepts the flag as well.
 1.13 07-May-2002  uwe branches: 1.13.2; 1.13.4;
lint target depends on ${LINTSTUBS}, not on (nonexistent) ${KERNLINTSTUBS}.
 1.12 18-Mar-2002  tv Make sure USETOOLS value is propagated (for USETOOLS?=no case in each
kernel Makefile). Perhaps we should .include this file earlier....
 1.11 11-Feb-2002  mrg make .s and .S files depend on assym.h
 1.10 23-Dec-2001  thorpej branches: 1.10.2;
Add -ffreestanding to kernel builds. It's not always safe to
use GCC's built-ins.
 1.9 10-Dec-2001  chs don't strip any symbols from profiling kernels,
that makes it harder to figure out what's going on.
 1.8 09-Dec-2001  atatat Make the kernel depend on `vers.o' instead of `newvers'. This
eliminates the need to unconditionally rebuild vers.o and subsequently
to relink the kernel every time you type make, even if you just
finished one.
 1.7 08-Dec-2001  atatat Add the rest of the infrastructure needed to support the rest of the
ports. This includes cleaning out DBG, cleaning up the `clean'
target, and tweaking the warnings flags (cesfic, amigappc, and the arm
ports are a little less warning resistant).

Oh, and let's `install' the kernel into ${DESTDIR} if someone says
`make install'. We have to think about cross-compilers here.
 1.6 28-Nov-2001  atatat Misplaced colon.
 1.5 27-Nov-2001  atatat Alter the way that LINKTEXT and LINKDATA (and LINKENTRY) are set so
that empty values for TEXTADDR and DATAADDR (and ENTRYPOINT) will not
screw things up. Add support for SYSTEM_LD_TAIL_EXTRA which some
ports (not yet converted) are using. Add support for GENASSYM_EXTRAS
which has just been added to (some of) the arm ports.
 1.4 23-Nov-2001  atatat Instead of checking for previous usage, just append to some make
variables. Tweak some variables to provide for more uniform defaults.
Minor adaption to makefiles for already converted ports.
 1.3 16-Nov-2001  atatat branches: 1.3.2;
The four tools mkdep, strip, objcopy, and objdump are not part of the
defined toolchain if we're not using the new toolchain. We need them,
so we add our own definitions here.
 1.2 16-Nov-2001  atatat Add a MKDEP?=mkdep line so that depend targets will work again.
 1.1 16-Nov-2001  atatat Abstract out a large chunk of the kernel build machinery so that new
build features (such as ross's DEBUGLIST) can easily be applied to all
ports. This should reduce the complexity of each port's kernel
Makefile considerably. Line counts:

227 arch/i386/conf/Makefile.i386.orig
98 arch/i386/conf/Makefile.i386
227 arch/alpha/conf/Makefile.alpha.orig
99 arch/alpha/conf/Makefile.alpha
219 arch/sparc/conf/Makefile.sparc.orig
102 arch/sparc/conf/Makefile.sparc
215 arch/vax/conf/Makefile.vax.orig
102 arch/vax/conf/Makefile.vax
253 conf/Makefile.kern.inc

Roll i386, alpha, sparc, and vax over to the new build machinery.
 1.3.2.11 11-Dec-2002  thorpej Sync with HEAD.
 1.3.2.10 11-Nov-2002  nathanw Catch up to -current
 1.3.2.9 18-Oct-2002  nathanw Catch up to -current.
 1.3.2.8 17-Sep-2002  nathanw Catch up to -current.
 1.3.2.7 13-Aug-2002  nathanw Catch up to -current.
 1.3.2.6 01-Aug-2002  nathanw Catch up to -current.
 1.3.2.5 20-Jun-2002  nathanw Catch up to -current.
 1.3.2.4 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.3.2.3 28-Feb-2002  nathanw Catch up to -current.
 1.3.2.2 08-Jan-2002  nathanw Catch up to -current.
 1.3.2.1 16-Nov-2001  nathanw file Makefile.kern.inc was added on branch nathanw_sa on 2002-01-08 00:29:12 +0000
 1.10.2.6 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.10.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.10.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.10.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.10.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.10.2.1 23-Dec-2001  thorpej file Makefile.kern.inc was added on branch kqueue on 2002-01-10 19:52:30 +0000
 1.13.4.9 26-Jan-2003  jmc Pullup revisions 1.24-1.25 (requested by ttaka in ticket #1082)
Back out revision 1.23, it breaks all kernel configs that do
makeoptions COPTS="foo"
 1.13.4.8 01-Dec-2002  he Pull up revision 1.23 (requested by sjg in ticket #877):
Replace COPTS?= with COPTS+=, so that setting COPTS in
/etc/mk.conf (common on sparc systems) does not cause the
-O2 in DEFCOPTS to be lost, resulting an an unloadable
kernel on sparc.
 1.13.4.7 30-Nov-2002  he Pull up revision 1.21 (requested by thorpej in ticket #756):
Build a .gdbinit in the kernel build directory. The new
.gdbinit will source all of the system-provided gdb scripts
in sys/gdbscripts, as well as any files specified by the
user in the GDBINIT make variable.
 1.13.4.6 17-Aug-2002  lukem Pull up revision 1.20 (requested by lukem):
vers.o should also depend upon $S/conf/newvers.sh and $S/conf/osrelease.sh
 1.13.4.5 15-Jul-2002  thorpej pullup-1-6 ticket #496 (wrstuden).

Original log message:
Fix cscope and mkid targets so that they work even when the kernel
compile directory is not under /usr/src/sys (i.e. when 'S' is not
'../../../..'). Pointed out by Robert Elz in PR 17384.
 1.13.4.4 19-Jun-2002  lukem Pull up revision 1.17 (requested by wrstuden in ticket #318):
Updated version of cscope/mkid support. Check libkern and compat lib
for source files. Also include header files in mkid run.
 1.13.4.3 18-Jun-2002  lukem Pull up revision 1.16 (requested by wrstuden in ticket #301):
Add cscope and mkid (and cscope.out and ID) targets to kernel compile
Makefiles. The main feature added by these targets is that they cover
ONLY the source files used for a given kernel and no other. Thus when
examining MD routines provided by all machines, you will see only
those applicable for your kernel.
 1.13.4.2 29-May-2002  tv Pull up revision 1.15 (requested by tv in ticket #65):
Make sure DBSYM is defined if not overridden by USETOOLS=yes.
 1.13.4.1 28-May-2002  lukem Pull up revision 1.14 (requested by fvdl):
Add -Wno-format-zero-length, for forward compatibility with gcc 3.2.
Our in-tree gcc 2.95.3 accepts the flag as well.
 1.13.2.4 29-Aug-2002  gehenna catch up with -current.
 1.13.2.3 15-Jul-2002  gehenna catch up with -current.
 1.13.2.2 30-May-2002  gehenna Catch up with -current.
 1.13.2.1 16-May-2002  gehenna Make this compile devsw.c (the initial devsw tables and conversion table)
 1.34.2.7 11-Dec-2005  christos Sync with head.
 1.34.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.34.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.34.2.4 18-Dec-2004  skrll Sync with HEAD.
 1.34.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.34.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.34.2.1 03-Aug-2004  skrll Sync with HEAD
 1.51.2.3 13-Sep-2004  tron Pull up revision 1.57 (requested by chs in ticket #843):
work around a binutils bug where converting ELF kernels to a.out with objcopy
produces corrupted binaries when the link_set_* sections extend into another
page after the end of the .text section by using a generated an ldscript that
puts all the link_set_* data into the .text section in the first place.
 1.51.2.2 15-Jul-2004  he Pull up revision 1.55 (requested by atatat in ticket #661):
Make uudecode into a tool which can be used to build a
kernel and redo the athhal-elf.o handling to take advantage
of it. This means that bsd.files.mk is no longer included
by Makefile.i386 so CFLAGS will not be duplicated.
 1.51.2.1 29-Apr-2004  jmc Pullup rev 1.52-1.53 (requested by pk in ticket #212)

Add `-fno-zero-initialized-in-bss' for kernel builds using gcc 3.x
so zero-initialised variables remain patchable.
 1.58.4.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.58.2.1 29-Apr-2005  kent sync with -current
 1.68.2.9 27-Feb-2008  yamt sync with head.
 1.68.2.8 04-Feb-2008  yamt sync with head.
 1.68.2.7 21-Jan-2008  yamt sync with head
 1.68.2.6 07-Dec-2007  yamt sync with head
 1.68.2.5 27-Oct-2007  yamt sync with head.
 1.68.2.4 03-Sep-2007  yamt sync with head.
 1.68.2.3 26-Feb-2007  yamt sync with head.
 1.68.2.2 30-Dec-2006  yamt sync with head.
 1.68.2.1 21-Jun-2006  yamt sync with head.
 1.69.2.1 29-Nov-2005  yamt sync with head.
 1.73.12.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.73.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.73.10.2 11-May-2006  elad sync with head
 1.73.10.1 19-Apr-2006  elad sync with head.
 1.73.8.5 14-Sep-2006  yamt sync with head.
 1.73.8.4 03-Sep-2006  yamt sync with head.
 1.73.8.3 26-Jun-2006  yamt sync with head.
 1.73.8.2 24-May-2006  yamt sync with head.
 1.73.8.1 01-Apr-2006  yamt sync with head.
 1.73.6.3 03-Jun-2006  kardel Sync with head.
 1.73.6.2 01-Jun-2006  kardel Sync with head.
 1.73.6.1 22-Apr-2006  simonb Sync with head.
 1.73.4.1 09-Sep-2006  rpaulo sync with head
 1.78.2.1 19-Jun-2006  chap Sync with head.
 1.84.2.3 01-Feb-2007  ad Sync with head.
 1.84.2.2 12-Jan-2007  ad Sync with head.
 1.84.2.1 18-Nov-2006  ad Sync with head.
 1.86.2.4 21-Dec-2006  yamt sync with head.
 1.86.2.3 18-Dec-2006  yamt sync with head.
 1.86.2.2 10-Dec-2006  yamt sync with head.
 1.86.2.1 22-Oct-2006  yamt sync with head
 1.94.2.4 10-Feb-2007  tron Pull up following revision(s) (requested by elad in ticket #408):
sys/conf/Makefile.kern.inc: revision 1.99
We don't need to include kern_exit43.c to the list of files that we cannot
use SSP on now that zero sized arrays are treated properly in gcc.
 1.94.2.3 20-Dec-2006  bouyer Pull up following revision(s) (requested by tls in ticket #291):
sys/conf/Makefile.kern.inc: revision 1.98
Add --param ssp-buffer-size=1 if USE_SSP as for userspace.
Add kern_exit_43.c to VARSTACK -- it isn't, really, but it causes an error
because it has a 0-element array on the stack and SSP always emits the
error that it is not protecting such a small array (ssp-buffer-size=0 is
not supported, so, really, it should not emit this error!).
 1.94.2.2 20-Dec-2006  bouyer Pull up following revision(s) (requested by tls in ticket #290):
sys/conf/Makefile.kern.inc: revision 1.97
use -fstack-protector instead of -fstack-protector-all since this breaks
on amd64 (it works on sparc64).
 1.94.2.1 03-Dec-2006  tron Pull up following revision(s) (requested by tls in ticket #244):
sys/conf/Makefile.kern.inc: revision 1.95
Add arch/xen/i386/gdt.c to list of kernel files that do variable-size
allocations on the stack. This allocation could potentially be quite
large -- I am not sure how to best fix that.
Fixes USE_SSP i386 build.sh failure.
 1.99.6.4 12-Oct-2007  ad Sync with head.
 1.99.6.3 09-Oct-2007  ad Sync with head.
 1.99.6.2 09-Jun-2007  ad Sync with head.
 1.99.6.1 13-Mar-2007  ad Sync with head.
 1.99.2.1 24-Mar-2007  yamt sync with head.
 1.100.2.1 11-Jul-2007  mjf Sync with head.
 1.101.10.2 14-Oct-2007  yamt sync with head.
 1.101.10.1 06-Oct-2007  yamt sync with head.
 1.101.8.3 23-Mar-2008  matt sync with HEAD
 1.101.8.2 09-Jan-2008  matt sync with HEAD
 1.101.8.1 06-Nov-2007  matt sync with HEAD
 1.101.6.3 03-Dec-2007  joerg Sync with HEAD.
 1.101.6.2 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.101.6.1 02-Oct-2007  joerg Sync with HEAD.
 1.103.4.2 18-Feb-2008  mjf Sync with HEAD.
 1.103.4.1 08-Dec-2007  mjf Sync with HEAD.
 1.104.6.1 19-Jan-2008  bouyer Sync with HEAD
 1.108.6.5 17-Jan-2009  mjf Sync with HEAD.
 1.108.6.4 28-Sep-2008  mjf Sync with HEAD.
 1.108.6.3 29-Jun-2008  mjf Sync with HEAD.
 1.108.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.108.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.108.2.1 24-Mar-2008  keiichi sync with head.
 1.111.6.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.111.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.111.4.4 11-Mar-2010  yamt sync with head
 1.111.4.3 16-May-2009  yamt sync with head
 1.111.4.2 04-May-2009  yamt sync with head.
 1.111.4.1 16-May-2008  yamt sync with head.
 1.111.2.1 18-May-2008  yamt sync with head.
 1.112.2.1 27-Jun-2008  simonb Sync with head.
 1.113.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.113.2.1 19-Oct-2008  haad Sync with HEAD.
 1.118.4.2 27-Mar-2009  msaitoh branches: 1.118.4.2.4;
Pull up following revision(s) (requested by sketch in ticket #536):
etc/Makefile: revision 1.364
Makefile: revision 1.267
usr.sbin/postinstall/postinstall: revision 1.90
usr.bin/hexdump/parse.c: revision 1.25
sys/arch/x86/acpi/genwakecode.sh: revision 1.3
usr.sbin/postinstall/postinstall: revision 1.87
usr.sbin/postinstall/postinstall: revision 1.88
usr.sbin/postinstall/postinstall: revision 1.89
sys/arch/x86/acpi/Makefile.wakecode.inc: revision 1.4
sys/conf/Makefile.kern.inc: revision 1.120
Use ll instead of non-standard q as length modifier in format strings. Makes
this work on Solaris. OK by apb.
Not every grep knows -q. Ok by apb.
Use sed, awk and hexdump from tools to make this work on Solaris. Ok by apb.
Use awk and grep host tools where required. 'build.sh release' now
works on Solaris (but only with HOST_CC=/usr/sfw/bin/gcc for now).
"grep -q" is not portable; use "grep >/dev/null" instead. Also add a
comment saying that postinstal is invoked during a cross build.
In file_exists_exact(), fix an incorrect test of "1" instead of "$1",
and improve the comment explaining what this function does.
As long as we don't yet have a working TOOL_GREP, fgrep is more portablethan grep -F.
 1.118.4.1 15-Mar-2009  snj 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.118.4.2.4.4 14-Feb-2014  matt SYSTEM_DEP?= -> SYSTEM_DEP+=
Add KERNLDSCRIPT to SYSTEM_DEP
 1.118.4.2.4.3 27-Jan-2010  matt If we're making a gdb kernel, insert the symtab in that as well.
 1.118.4.2.4.2 12-Sep-2009  matt Allow DBSYM to error out now that binutils can strip $L locals.
 1.118.4.2.4.1 05-Sep-2009  matt Don't abort if DBSYM fails.
 1.118.2.3 28-Apr-2009  skrll Sync with HEAD.
 1.118.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.118.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.120.2.2 23-Jul-2009  jym Sync with HEAD.
 1.120.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.125.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.127.2.2 31-May-2011  rmind sync with head
 1.127.2.1 05-Mar-2011  rmind sync with head
 1.129.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.129.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.138.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.149.6.2 05-Apr-2012  mrg sync to latest -current.
 1.149.6.1 18-Feb-2012  mrg merge to -current.
 1.149.2.4 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.149.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.149.2.2 30-Oct-2012  yamt sync with head
 1.149.2.1 17-Apr-2012  yamt sync with head
 1.152.4.1 04-Dec-2012  matt Add SYSTEM_LD_TAIL_DBSYM for arm.
 1.158.2.3 03-Dec-2017  jdolecek update from HEAD
 1.158.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.158.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.159.2.2 18-May-2014  rmind sync with head
 1.159.2.1 28-Aug-2013  rmind sync with head
 1.167.2.1 10-Aug-2014  tls Rebase.
 1.169.2.1 13-Dec-2014  martin Pull up following revision(s) (requested by nakayama in ticket #317):
sys/conf/Makefile.kern.inc: revision 1.179
Trim " " at the beginning of version string to follow the change
in rev.1.60 of newvers.sh.
-const char sccs[] = "@(#)${fullversion}";
+const char sccs[] = "@(#)" ${fullversion_source};
 1.183.2.6 28-Aug-2017  skrll Sync with HEAD
 1.183.2.5 05-Feb-2017  skrll Sync with HEAD
 1.183.2.4 22-Apr-2016  skrll Sync with HEAD
 1.183.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.183.2.2 22-Sep-2015  skrll Sync with HEAD
 1.183.2.1 06-Jun-2015  skrll Sync with HEAD
 1.250.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.250.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.256.8.3 25-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #141):
sys/conf/dts.mk: 1.1-1.2
sys/conf/Makefile.kern.inc: revision 1.260
Move the dts rule to a separate file and add dependencies handling.
--
do dts depend processing in two passes, one for /include/ and one for #include
 1.256.8.2 24-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #128):
sys/conf/Makefile.kern.inc: revision 1.259
sys/arch/arm/dts/sun8i-h3-orangepi-plus2e.dts: revision 1.1
sys/arch/arm/dts/sun8i-h3.dtsi: revision 1.1
sys/arch/arm/dts/sun8i-h3-nanopi-neo.dts: revision 1.1
Add support for dts files outside of external/gpl2.
--
Add local patches to sun8i-h3-orangepi-plus2e and sun8i-h3-nanopi-neo to
enable ethernet support.
 1.256.8.1 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.260.2.2 15-Jul-2017  christos 2814968
 1.260.2.1 15-Jul-2017  christos file Makefile.kern.inc was added on branch perseant-stdc-iso10646 on 2017-07-15 15:20:53 +0000
 1.264.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.264.4.1 10-Jun-2019  christos Sync with HEAD
 1.264.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.264.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.264.2.1 06-Mar-2018  pgoyette No longer build the libcompat.o which ends up including most of the
compat_netbsd code without creating the module entry that other
modules are depending on, which in turn causes the modules to fail
to load because of redefined symbols.
 1.276.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.277.2.1 17-Apr-2021  thorpej Sync with HEAD.
 1.280.6.1 06-Jun-2021  cjep sync with head
 1.280.2.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.295.4.1 11-Sep-2023  martin Pull up following revision(s) (requested by rin in ticket #363):

sys/arch/aarch64/conf/Makefile.aarch64: revision 1.24
sys/arch/aarch64/conf/Makefile.aarch64: revision 1.25
sys/arch/shark/conf/Makefile.shark.inc: revision 1.28
sys/arch/alpha/conf/Makefile.alpha: revision 1.88
sys/arch/mips/conf/Makefile.mips: revision 1.73
sys/conf/Makefile.kern.inc: revision 1.298
sys/conf/Makefile.kern.inc: revision 1.299
sys/arch/cats/conf/Makefile.cats.inc: revision 1.37
sys/arch/arm/conf/Makefile.arm: revision 1.56
sys/arch/arm/conf/Makefile.arm: revision 1.57
sys/arch/riscv/conf/Makefile.riscv: revision 1.10

Always use arm-elf2aout; no a.out support both for binutils{,.old}

Fix kernel size inflation for arm and aarch64 (PR toolchain/57146)

For some conditions, SYSTEM_LD_TAIL is set for arm and aarch64.
Then, ctfmerge(1) in default SYSTEM_LD_TAIL is unintentionally
skipped, which results in the catastrophic kernel size inflation,
as reported in the PR.

Also, introduce and use OBJCOPY_STRIPFLAGS variable instead of
STRIPFLAGS, as strip(1) is replaced by objcopy(1) during MI
kernel build procedure.

For Makefile.{arm,aarch64}, weird logic is used to determine how
to handle debug symbols; MKDEBUG{,KERNEL} are taken into account
later in sys/conf/Makefile.kern.inc.

Use OBJCOPY_STRIPFLAGS instead of STRIPFLAGS.
Simplify fix for PR toolchain/57146

Introduce ARCH_STRIP_SYMBOLS variable to centralize logic for debug
symbols from MD Makefile's to Makefile.kern.inc.
 1.301.2.2 02-Aug-2025  perseant Sync with HEAD
 1.301.2.1 29-Jun-2024  perseant Implementation of exFAT filesystem, with compilation conditional on MKEXFATFS
make variable.
 1.8 19-Nov-2022  yamt assym.mk: Fix assym.d generation

It seems that the genassym/mkdep output has been changed.
This commit adapts the assym.d generation rule to the new output.
 1.7 09-Jul-2020  christos factor out common code.
 1.6 08-Jul-2020  uwe Drop -fstack-usage* from CFLAGS passed genassym.
We don't want it to create a "-.su" file.
 1.5 10-Sep-2015  uebayasi branches: 1.5.2; 1.5.18;
Fix dependency of *.d -> assym.h in `-S' mode.
 1.4 10-Sep-2015  uebayasi Simplify the dependency line further.
 1.3 09-Sep-2015  uebayasi Improve previous.
 1.2 09-Sep-2015  uebayasi Restore *.[sS] -> assym.h dependency in `-S' mode.
 1.1 06-Sep-2015  uebayasi Clean up. Move assym.h/vers.c related code out of Makefile.kern.inc.
 1.5.18.2 03-Dec-2017  jdolecek update from HEAD
 1.5.18.1 10-Sep-2015  jdolecek file assym.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 10-Sep-2015  skrll file assym.mk was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd09.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd10.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1 19-Dec-2022  pgoyette Create compat_100 module infrastructure now that we have branched
for NetBSD-10
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd11.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1 19-May-2024  christos version dup3
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd12.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd13.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd14.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd15.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd16.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd20.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd30.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd40.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd50.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd60.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 15-Jan-2018  mrg note that COMPAT_X implies all COMPAT_X+N.
 1.1 14-Sep-2017  mrg branches: 1.1.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.2.1 14-Sep-2017  jdolecek file compat_netbsd70.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.3 18-Jan-2020  ryoon Fix version numbers in comments
 1.2 27-Jan-2019  pgoyette branches: 1.2.4; 1.2.8;
Merge the [pgoyette-compat] branch
 1.1 09-Sep-2018  pgoyette branches: 1.1.2;
file compat_netbsd80.config was initially added on branch pgoyette-compat.
 1.1.2.1 09-Sep-2018  pgoyette Add compat_netbsd80.config
 1.2.8.1 25-Jan-2020  ad Sync with head.
 1.2.4.3 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.4.2 10-Jun-2019  christos Sync with HEAD
 1.2.4.1 27-Jan-2019  christos file compat_netbsd80.config was added on branch phil-wifi on 2019-06-10 22:07:04 +0000
 1.2 18-Jan-2020  ryoon branches: 1.2.6;
Fix version numbers in comments
 1.1 22-Sep-2019  christos branches: 1.1.2;
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.1.2.1 25-Jan-2020  ad Sync with head.
 1.2.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.1 18-Jan-2020  martin file compat_netbsd90.config was added on branch phil-wifi on 2020-04-13 08:04:17 +0000
 1.12 04-Jul-2024  rin sys/conf/copts.mk: Drop fallthrough hack for zlib.c
 1.11 08-Aug-2023  mrg branches: 1.11.6;
introduce new GCC 12 warning disables and use them in a few places

this introduces 4 new warning disable flags:

CC_WNO_MISSING_TEMPLATE_KEYWORD
CC_WNO_REGISTER
CC_WNO_STRINGOP_OVERREAD
CC_WNO_ARRAY_BOUNDS

and documents them in README.warnings. of these, the string op
and array bounds are both problematic (real bugs) and also spurious
(not real bugs), and the other 2 are mostly temporary for older
3rd party code.

add some new uses of CC_WNO_STRINGOP_OVERFLOW.

fix m68k build for gallium and GCC 12.
 1.10 03-Jun-2023  lukem adapt to ${CC_WNO_IMPLICIT_FALLTHROUGH}

Use ${CC_WNO_IMPLICIT_FALLTHROUGH} instead of
the older style more complex expressions.
 1.9 03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.8 03-Jun-2023  lukem bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER

Provide a single variable
CC_WNO_ADDRESS_OF_PACKED_MEMBER
with options for both clang and gcc, to replace
CLANG_NO_ADDR_OF_PACKED_MEMBER
CC_NO_ADDR_OF_PACKED_MEMBER
GCC_NO_ADDR_OF_PACKED_MEMBER

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.7 27-Aug-2022  rillig branches: 1.7.4;
sys/conf: fix typo in comment
 1.6 12-Apr-2021  mrg new GCC_NO_* uses for warning issues. most of the users of the new
GCC_NO_RETURN_LOCAL_ADDR are bugs in GCC itself, not the code.
 1.5 07-Mar-2020  mrg branches: 1.5.6;
XXX:

turn off -Wunused-but-set-variable for mips' linux_machdep.c and GCC 8.
 1.4 30-Sep-2019  mrg convert HAVE_GCC == 7 to HAVE_GCC >= 7.
 1.3 10-Feb-2019  mrg branches: 1.3.4;
mark pf.c, radeon_cs.c and via_dmablit.c for no fall thru error.

this was already done in the various modules, but not in the main
kernel.
 1.2 05-Feb-2019  mrg be sure to only apply zlib.c's -Wno-error=implicit-fallthrough to GCC 7.
push the setting into the rump and module version too.
 1.1 05-Feb-2019  mrg pass -Wno-error=implicit-fallthrough for zlib.c.

XXX: consider using copts.mk for various warning/copt flags passed
in kernel builds currently set via 'makeoptions' in files.* files.
this is suboptimal, as those all get embedded into the kernel with
config_file.h.
 1.3.4.4 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.4.3 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3.4.2 10-Jun-2019  christos Sync with HEAD
 1.3.4.1 10-Feb-2019  christos file copts.mk was added on branch phil-wifi on 2019-06-10 22:07:04 +0000
 1.5.6.1 17-Apr-2021  thorpej Sync with HEAD.
 1.7.4.1 20-Jul-2024  martin Pull up following revision(s) (requested by rin in ticket #739):

sys/net/zlib.c: revision 1.39
sys/conf/copts.mk: revision 1.12 (patch)

net/zlib.c: Add apparent /* FALLTHROUGH */'s to appease compilers
Ideas from t-kusaba at iij, thanks!

sys/conf/copts.mk: Drop fallthrough hack for zlib.c
 1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.23 01-Jan-2025  jnemeth Welcome to 2025!
 1.22 01-Jan-2024  wiz branches: 1.22.2;
Update copyright notice for 2024.
 1.21 01-Jan-2023  simonb Welcome to 2023. Wrap lines so the years fit in to 80 columns with
a leading kernel log timestamp.
 1.20 01-Jan-2022  jnemeth branches: 1.20.4;
Welcome to 2022!
 1.19 01-Jan-2021  mrg welcome 2021. YES.
 1.18 01-Jan-2020  mlelstv branches: 1.18.8;
Welcome to 2020.
 1.17 01-Jan-2019  jnemeth branches: 1.17.4;
Welcome to 2019!
 1.16 01-Jan-2018  jakllsch branches: 1.16.2; 1.16.4;
Update for 2018 new year
 1.15 01-Jan-2017  snj branches: 1.15.8;
goodbye 2016, hello 2017!
 1.14 31-Dec-2015  mrg branches: 1.14.2;
WELCOME 2016!
 1.13 01-Jan-2015  wiz Welcome to 2015!
 1.12 01-Jan-2014  jnemeth branches: 1.12.4; 1.12.6;
Welcome to 2014!
 1.11 01-Jan-2013  spz branches: 1.11.2;
Happy 2013 everybody
 1.10 01-Jan-2012  riz branches: 1.10.6;
Welcome to 2012, Happy New Year!

Don't forget to adjust copyright date in new code.
 1.9 01-Jan-2011  uwe branches: 1.9.8; 1.9.12;
Revert previous. Add 2011 to the list in old format.
Let board@ decide if it's ok to switch to the range format.
 1.8 01-Jan-2011  rmind Welcome to 2011! Happy New Year!

Do not forget to update copyright notices when you add new code.
 1.7 31-Dec-2009  jnemeth branches: 1.7.4;
Welcome to 2010.

Don't forget to update copyright notices when you add new code.
 1.6 01-Jan-2009  salo MUHAHAHA, FIRST POST!!!!111!1!!ONE!!1


(also, "welcome to 2009 and don't forget to update copyright notices
when you add new code" and all that stuff)
 1.5 01-Jan-2008  ad branches: 1.5.6; 1.5.10; 1.5.18; 1.5.20; 1.5.24;
Welcome to 2008.

Don't forget to update copyright notices when you add new code.
 1.4 01-Jan-2007  wiz branches: 1.4.20; 1.4.26; 1.4.32;
Welcome to 2007.

Don't forget to update copyright notices when you add new code.
 1.3 01-Jan-2006  perry branches: 1.3.18; 1.3.22; 1.3.24;
Welcome to 2006.

Don't forget to update copyright notices when you add new code.

(On behalf of an absent friend. Maybe he can do this himself next year.)
 1.2 01-Jan-2005  mycroft branches: 1.2.10; 1.2.20;
Welcome to 2005.

Don't forget to update copyright notices when you add new code.
 1.1 05-Jan-2004  lukem branches: 1.1.2; 1.1.4; 1.1.8;
Store the copyright text in conf/copyright, and use conf/newvers.sh
to generate the appropriate const char copyright[] = "...";
statement instead of hard coding it into kern/init_main.c.
Idea from Simon Burge.
 1.1.8.1 13-Sep-2005  tron Pull up following revision(s) (requested by rpaulo in ticket #5848):
sys/conf/copyright: revision 1.2
Welcome to 2005.
Don't forget to update copyright notices when you add new code.
 1.1.4.3 17-Jan-2005  skrll Sync with HEAD.
 1.1.4.2 03-Aug-2004  skrll Sync with HEAD
 1.1.4.1 05-Jan-2004  skrll file copyright was added on branch ktrace-lwp on 2004-08-03 10:44:43 +0000
 1.1.2.1 13-Sep-2005  tron Pull up following revision(s) (requested by rpaulo in ticket #5848):
sys/conf/copyright: revision 1.2
Welcome to 2005.
Don't forget to update copyright notices when you add new code.
 1.2.20.1 15-Jan-2006  yamt sync with head.
 1.2.10.3 21-Jan-2008  yamt sync with head
 1.2.10.2 26-Feb-2007  yamt sync with head.
 1.2.10.1 21-Jun-2006  yamt sync with head.
 1.3.24.1 29-Oct-2007  wrstuden Catch up with 4.0 RC3
 1.3.22.1 12-Oct-2007  riz Pull up following revision(s) (requested by martin in ticket #927):
sys/conf/copyright: revision 1.4
Welcome to 2007.
Don't forget to update copyright notices when you add new code.
 1.3.18.1 12-Jan-2007  ad Sync with head.
 1.4.32.1 02-Jan-2008  bouyer Sync with HEAD
 1.4.26.1 18-Feb-2008  mjf Sync with HEAD.
 1.4.20.1 09-Jan-2008  matt sync with HEAD
 1.5.24.2 20-May-2010  snj Pull up following revision(s) (requested by tsutsui in ticket #1388):
sys/conf/copyright: revision 1.7
Welcome to 2010.
Don't forget to update copyright notices when you add new code.
 1.5.24.1 29-Jul-2009  snj branches: 1.5.24.1.2;
Pull up following revision(s) (requested by rmind in ticket #882):
sys/conf/copyright: revision 1.6
Update copyright notice for 2009.
 1.5.24.1.2.2 20-May-2011  matt Add 2011
 1.5.24.1.2.1 20-May-2011  matt bring matt-nb5-mips64 up to date with netbsd-5-1-RELEASE (except compat).
 1.5.20.2 20-May-2010  snj branches: 1.5.20.2.2;
Pull up following revision(s) (requested by tsutsui in ticket #1388):
sys/conf/copyright: revision 1.7
Welcome to 2010.
Don't forget to update copyright notices when you add new code.
 1.5.20.1 29-Jul-2009  snj Pull up following revision(s) (requested by rmind in ticket #882):
sys/conf/copyright: revision 1.6
Update copyright notice for 2009.
 1.5.20.2.2.1 03-Jan-2012  snj Welcome to 5.1.1!
 1.5.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.5.10.2 11-Mar-2010  yamt sync with head
 1.5.10.1 04-May-2009  yamt sync with head.
 1.5.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.7.4.1 05-Mar-2011  rmind sync with head
 1.9.12.1 18-Feb-2012  mrg merge to -current.
 1.9.8.3 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.9.8.2 23-Jan-2013  yamt sync with head
 1.9.8.1 17-Apr-2012  yamt sync with head
 1.10.6.3 03-Dec-2017  jdolecek update from HEAD
 1.10.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.6.1 25-Feb-2013  tls resync with head
 1.11.2.1 18-May-2014  rmind sync with head
 1.12.6.3 05-Feb-2017  skrll Sync with HEAD
 1.12.6.2 19-Mar-2016  skrll Sync with HEAD
 1.12.6.1 06-Apr-2015  skrll Sync with HEAD
 1.12.4.5 02-Jan-2020  martin Pull up following revision(s) (requested by mlelstv in ticket #1719):

sys/conf/copyright: revision 1.18

Welcome to 2020.
 1.12.4.4 02-Jan-2019  martin Pull up following revision(s) (requested by jnemeth in ticket #1669):

sys/conf/copyright: revision 1.17

Welcome to 2019!
 1.12.4.3 09-Mar-2018  snj Pull up following revision(s) (requested by maya in ticket #1581):
sys/conf/copyright: 1.16
Update for 2018 new year
 1.12.4.2 11-Mar-2017  snj branches: 1.12.4.2.2;
Pull up following revision(s) (requested by tsutsui in ticket #1384):
sys/conf/copyright: 1.14, 1.15
WELCOME 2016!
--
goodbye 2016, hello 2017!
 1.12.4.1 29-Jun-2015  snj branches: 1.12.4.1.2; 1.12.4.1.4;
Pull up following revision(s) (requested by mrg in ticket #849):
sys/conf/copyright: revision 1.13
Welcome to 2015!
 1.12.4.2.2.3 02-Jan-2020  martin Pull up following revision(s) (requested by mlelstv in ticket #1719):

sys/conf/copyright: revision 1.18

Welcome to 2020.
 1.12.4.2.2.2 02-Jan-2019  martin Pull up following revision(s) (requested by jnemeth in ticket #1669):

sys/conf/copyright: revision 1.17

Welcome to 2019!
 1.12.4.2.2.1 09-Mar-2018  snj Pull up following revision(s) (requested by maya in ticket #1581):
sys/conf/copyright: 1.16
Update for 2018 new year
 1.12.4.1.4.1 13-Mar-2017  skrll Sync with netbsd-7-1-RELEASE
 1.12.4.1.2.4 02-Jan-2020  martin Pull up following revision(s) (requested by mlelstv in ticket #1719):

sys/conf/copyright: revision 1.18

Welcome to 2020.
 1.12.4.1.2.3 02-Jan-2019  martin Pull up following revision(s) (requested by jnemeth in ticket #1669):

sys/conf/copyright: revision 1.17

Welcome to 2019!
 1.12.4.1.2.2 09-Mar-2018  snj Pull up following revision(s) (requested by maya in ticket #1581):
sys/conf/copyright: 1.16
Update for 2018 new year
 1.12.4.1.2.1 11-Mar-2017  snj Pull up following revision(s) (requested by tsutsui in ticket #1384):
sys/conf/copyright: revision 1.14, 1.15
WELCOME 2016!
--
goodbye 2016, hello 2017!
 1.14.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.15.8.6 01-Jan-2024  martin Pull up following revision(s) (requested by hgutch in ticket #1929):

sys/conf/copyright: revision 1.22

Update copyright notice for 2024.
 1.15.8.5 03-Jan-2023  martin Pull up following revision(s) (requested by gutteridge in ticket #1781):

sys/conf/copyright: revision 1.21

Welcome to 2023.
 1.15.8.4 08-Jan-2022  martin Pull up following revision(s) (requested by jnemeth in ticket #1723):

sys/conf/copyright: revision 1.20

Welcome to 2022!
 1.15.8.3 02-Jan-2020  martin Pull up following revision(s) (requested by mlelstv in ticket #1481):

sys/conf/copyright: revision 1.18

Welcome to 2020.
 1.15.8.2 02-Jan-2019  martin Pull up following revision(s) (requested by jnemeth in ticket #1152):

sys/conf/copyright: revision 1.17

Welcome to 2019!
 1.15.8.1 06-May-2018  martin Pull up the following, requested by nakayama in ticket #803:

sys/conf/copyright 1.16

Update for 2018 new year
 1.16.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.16.4.1 10-Jun-2019  christos Sync with HEAD
 1.16.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.17.4.5 02-Jan-2025  martin Pull up following revision(s) (requested by jnemeth in ticket #1933):

sys/conf/copyright: revision 1.23

Welcome to 2025!
 1.17.4.4 01-Jan-2024  martin Pull up following revision(s) (requested by hgutch in ticket #1785):

sys/conf/copyright: revision 1.22

Update copyright notice for 2024.
 1.17.4.3 03-Jan-2023  martin Pull up following revision(s) (requested by gutteridge in ticket #1562):

sys/conf/copyright: revision 1.21

Welcome to 2023. Wrap lines so the years fit in to 80 columns with
a leading kernel log timestamp.
 1.17.4.2 08-Jan-2022  martin Pull up following revision(s) (requested by jnemeth in ticket #1401):

sys/conf/copyright: revision 1.20

Welcome to 2022!
 1.17.4.1 02-Jan-2020  martin Pull up following revision(s) (requested by mlelstv in ticket #598):

sys/conf/copyright: revision 1.18

Welcome to 2020.
 1.18.8.1 03-Jan-2021  thorpej Sync w/ HEAD.
 1.20.4.3 02-Jan-2025  martin Pull up following revision(s) (requested by jnemeth in ticket #1036):

sys/conf/copyright: revision 1.23

Welcome to 2025!
 1.20.4.2 01-Jan-2024  martin Pull up following revision(s) (requested by hgutch in ticket #532):

sys/conf/copyright: revision 1.22

Update copyright notice for 2024.
 1.20.4.1 03-Jan-2023  martin Pull up following revision(s) (requested by gutteridge in ticket #34):

sys/conf/copyright: revision 1.21

Welcome to 2023. Wrap lines so the years fit in to 80 columns with
a leading kernel log timestamp.
 1.22.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 29-Aug-2015  uebayasi branches: 1.1.2; 1.1.18;
Move less important part out of Makefile.kern.inc.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 29-Aug-2015  jdolecek file cscope.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 29-Aug-2015  skrll file cscope.mk was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.4 06-Oct-2015  christos Expose struct kauth_cred for the benefit of the debugger. I can't convince gcc
to produce debug info for the structure if it does not appear in more than
one source file.
 1.3 23-Nov-2009  rmind branches: 1.3.22; 1.3.40;
Remove some unecessary includes sys/user.h header.
 1.2 06-Jun-2008  ad Put a dummy function in here that uses a couple of the types.
Otherwise, gcc won't emit any debug info.
 1.1 17-Jan-2008  joerg branches: 1.1.2; 1.1.4; 1.1.6; 1.1.12; 1.1.14; 1.1.16; 1.1.18; 1.1.20;
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.1.20.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.1.18.2 11-Mar-2010  yamt sync with head
 1.1.18.1 04-May-2009  yamt sync with head.
 1.1.16.1 17-Jun-2008  yamt sync with head.
 1.1.14.2 23-Mar-2008  matt sync with HEAD
 1.1.14.1 17-Jan-2008  matt file debugsyms.c was added on branch matt-armv6 on 2008-03-23 02:04:34 +0000
 1.1.12.1 29-Jun-2008  mjf Sync with HEAD.
 1.1.6.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.6.1 17-Jan-2008  mjf file debugsyms.c was added on branch mjf-devfs on 2008-02-18 21:05:31 +0000
 1.1.4.2 21-Jan-2008  yamt sync with head
 1.1.4.1 17-Jan-2008  yamt file debugsyms.c was added on branch yamt-lazymbuf on 2008-01-21 09:42:18 +0000
 1.1.2.2 19-Jan-2008  bouyer Sync with HEAD
 1.1.2.1 17-Jan-2008  bouyer file debugsyms.c was added on branch bouyer-xeni386 on 2008-01-19 12:15:01 +0000
 1.3.40.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.3.22.1 03-Dec-2017  jdolecek update from HEAD
 1.3 16-Dec-2001  soren Obsoleted by @@@'s kernel makefile work.
 1.2 01-Feb-1996  mycroft branches: 1.2.42; 1.2.44;
Remove some junk, and add _KERNEL and _LOCORE.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.2.44.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.42.1 28-Feb-2002  nathanw Catch up to -current.
 1.12 24-Apr-2019  christos change -h to -n because it is more "portable"
 1.11 23-Apr-2019  christos Add -h to the link command so that we replace the target file each time; this
should fix:

*** Failed target: .BEGIN
*** Failed command: ln -sf /usr/src/sys/external/gpl2/dts/dist/arch/arm/boot/dts dts/arm
*** Error code 1 (ignored)
ln: dts/arm/dts: Permission denied
 1.10 17-Dec-2018  thorpej Add support for building overlay DT blobs specified in the kernel
config file like so:

makeoptions DTS_OVERLAYDIR="${THISARM}/conf"
makeoptions DTS_OVERLAYS="
my-cool-overlay.dts
"

The result is my-cool-overlay.dtbo in the kernel compile directory.
 1.9 25-May-2018  jakllsch branches: 1.9.2;
Compile dtbs with -@ so that fdtoverlay(1) et.al. can symbolically
reference phandles.
 1.8 10-Dec-2017  christos branches: 1.8.2;
- Allow multiple .BEGIN targets
- Make their protection consistent
 1.7 06-Dec-2017  christos use -@ like bsd.klinks.mk
 1.6 05-Dec-2017  christos Use similar restrictions to bsd.klinks.mk for .BEGIN rules.
 1.5 03-Dec-2017  christos handle absolute $S paths; we want to add ../ if they are relative only.
 1.4 03-Dec-2017  christos Add more complexity because of the path mess in the dts files. Requested
by jmcneill@
 1.3 07-Sep-2017  jmcneill branches: 1.3.2;
Add support for building dts files from multiple paths, idea from christos
 1.2 15-Jul-2017  christos branches: 1.2.2; 1.2.4; 1.2.6;
do dts depend processing in two passes, one for /include/ and one for #include
 1.1 15-Jul-2017  christos Move the dts rule to a separate file and add dependencies handling.
 1.2.6.2 28-Aug-2017  skrll Sync with HEAD
 1.2.6.1 15-Jul-2017  skrll file dts.mk was added on branch nick-nhusb on 2017-08-28 17:52:00 +0000
 1.2.4.2 25-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #141):
sys/conf/dts.mk: 1.1-1.2
sys/conf/Makefile.kern.inc: revision 1.260
Move the dts rule to a separate file and add dependencies handling.
--
do dts depend processing in two passes, one for /include/ and one for #include
 1.2.4.1 15-Jul-2017  snj file dts.mk was added on branch netbsd-8 on 2017-07-25 01:58:09 +0000
 1.2.2.2 15-Jul-2017  christos 2814962
 1.2.2.1 15-Jul-2017  christos file dts.mk was added on branch perseant-stdc-iso10646 on 2017-07-15 15:53:49 +0000
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 07-Sep-2017  jdolecek file dts.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.8.2.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.8.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 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.
 1.38 28-Apr-1995  cgd rename files files for new config/config.old naming
 1.37 08-Mar-1995  cgd ecoff exec code needed for COMPAT_OSF1
 1.36 23-Feb-1995  glass preliminary arcnet support. uses lame but RFC address resolution
 1.35 21-Feb-1995  brezak New audio subsystem
 1.34 25-Jan-1995  cgd vn -> vnd renaming, for consistency
 1.33 15-Aug-1994  cgd changes for the new sys_process.c, and some cleanup
 1.32 29-Jun-1994  cgd branches: 1.32.2;
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.31 27-Jun-1994  cgd new standard, minimally intrusive ID format
 1.30 21-Jun-1994  chopps remove inet from if_ether.c this needed to be "ether and inet" INET now
checked in if_ether.c at compile time.
 1.29 10-Jun-1994  pk 4.4 fs code.
 1.28 27-May-1994  glass missing rcs id
 1.27 27-May-1994  glass oops
 1.26 19-May-1994  cgd subr_mcount goes away
 1.25 13-May-1994  mycroft Add some new stuff.
 1.24 12-May-1994  chopps oops we want to alphabetize starting on path, not basename..
 1.23 12-May-1994  chopps add adosfs to files for old config and alphabetize for both.
 1.22 11-May-1994  chopps add adosfs
 1.21 07-May-1994  cgd out with the ick, in with the sick
 1.20 05-May-1994  deraadt pull in subr_prof.c for new config too
 1.19 18-Apr-1994  glass revised nfs diskless support. uses bootp+rpc to gather parameters
 1.18 26-Mar-1994  glass getting rid of tp_astring.c
 1.17 23-Mar-1994  deraadt kern/subr_disk.c is standard
 1.16 10-Mar-1994  ws Oops. Bug fix for nfs server. Reported by Theo.
 1.15 09-Mar-1994  ws Make FFS optional
 1.14 25-Feb-1994  glass make consistent w/ files
 1.13 15-Feb-1994  cgd make kern/syscalls.c included if syscall_debug defined
 1.12 10-Feb-1994  mycroft Deprecate af.c.
 1.11 03-Feb-1994  briggs MULTICAST is no longer optional.
 1.10 01-Feb-1994  mycroft Fix vn.
 1.9 21-Jan-1994  briggs Added new kern/exec* files.
 1.8 11-Jan-1994  briggs Reflect reality a bit more closely...
 1.7 21-Dec-1993  brezak Add dev/vn.c driver
 1.6 29-Nov-1993  briggs Bring files.newconf back into touch with reality:
Add exec_aout.c.
Add sysvshm/sem.
Fixup miscfs changes.
Change pcfs to msdosfs.
Misc.
 1.5 02-Nov-1993  glass tablet line discipline compiles and probably works now.
 1.4 30-Aug-1993  deraadt branches: 1.4.2;
add ppp
tty_ring.c -> tty_subr.c
vfs__bio.c -> vfs_bio.c
 1.3 15-Aug-1993  glass runs up to and including configure().
todo: exceptions, interrupt support, make isrs affect vector table
kernel/user stacks
 1.2 13-Aug-1993  glass snapshot of intergration of torek's config
 1.1 13-Aug-1993  glass branches: 1.1.1;
snapshot of existing config 'files', + torek's distributed one
 1.1.1.2 01-Mar-1998  fvdl Import 4.4BSD-Lite2
 1.1.1.1 01-Mar-1998  fvdl Import 4.4BSD-Lite for reference
 1.4.2.15 14-Nov-1993  mycroft Make ns_ip.c dependent on options NSIP.
 1.4.2.14 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.4.2.13 12-Nov-1993  cgd new locations
 1.4.2.12 08-Nov-1993  mycroft Garbage collect af.c.
 1.4.2.11 03-Nov-1993  mycroft Merge changes from trunk.
 1.4.2.10 03-Nov-1993  mycroft Add pseudo-device listing for tb.
 1.4.2.9 26-Oct-1993  mycroft Merge changes from trunk.
 1.4.2.8 16-Oct-1993  mycroft Don't compile if_ether.c if no ether devices.
 1.4.2.7 09-Oct-1993  mycroft pcfs --> msdosfs
 1.4.2.6 09-Oct-1993  mycroft Add isofs_rrip.c.
 1.4.2.5 06-Oct-1993  mycroft Alphabetize.
 1.4.2.4 03-Oct-1993  deraadt kern/exec_aout.c is standard.
 1.4.2.3 29-Sep-1993  mycroft Alphabetize.
 1.4.2.2 27-Sep-1993  deraadt always pull in subr_prof.c
 1.4.2.1 14-Sep-1993  mycroft files.newconf: Comment out pseudo-device cd for now. Make ufs_* optional
based on `options FFS' (and MFS where appropriate).
param.c: Nuke clist stuff. Remove nbuf and nswbuf, as these are expected
to be in machdep.c. (The wisdom of this is unclear to me, though.)
Incorporate changes from main branch.
 1.32.2.1 15-Aug-1994  mycroft update from trunk
 1.81 30-Jan-1997  thorpej This file is now obsolete.
 1.80 21-Jan-1997  thorpej The "md" driver is MI (har har :-). Declare it here.
 1.79 07-Jan-1997  mrg branches: 1.79.2;
use pseudo-device ipfilter, not ipl.
 1.78 06-Jan-1997  thorpej Give the "ipl" pseudo-device the "device-driver" attribute, so that
ipl.h is generated.
 1.77 05-Jan-1997  mrg initial import of darren reed's ip-filter, version 3.1.2.
 1.76 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.75 14-Nov-1996  thorpej Only build kern/kern_ntptime.c if NTP is being compiled into the kernel.
 1.74 16-Oct-1996  ws Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB
 1.73 02-Oct-1996  thorpej Make sure a kgdb.h file gets generated.
(*grumble*)
 1.72 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.71 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.70 01-Sep-1996  mycroft Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.
 1.69 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.68 24-May-1996  cgd add line for 'strip' pseudo-device, and include slcompress.c if it's included.
 1.67 19-Mar-1996  scottr branches: 1.67.4;
XXX !! Hack to make config.old-based ports generate an audio.h file.
Works around the problem reported in PR 2228.
 1.66 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.65 15-Mar-1996  paulus Now need bpfilter for ppp, since it does packet filtering.
Add files for PPP-Deflate packet compression support.
 1.64 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.63 29-Feb-1996  thorpej Add kern_ntptime.c, per Thorsten Frueauf <frueauf@ira.uka.de>, PR #2146.
 1.62 03-Feb-1996  mycroft Remove tty_compat.c.
 1.61 20-Nov-1995  thorpej We don't have, and have never had, a kern/exec_hpux.c
 1.60 04-Jul-1995  paulus Include extra files for the new PPP stuff.
 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.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.1 05-Aug-1993  cgd light cleanup for 0.9
 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.67.4.1 29-May-1996  cgd pull revision 1.68 (add line for 'strip' pseudo-device, and
include slcompress.c if it's included) up to the release branch.
 1.79.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.16 06-Apr-2022  reinoud branches: 1.16.10;
Keep UDF commented out by default
 1.15 06-Apr-2022  reinoud UDF has been around for more than a decade in the kernel. Now with a
fsck_udf(8) it is not making sense to keep it calling `experimental'.
 1.14 04-Apr-2020  jdolecek remove SMBFS and nsmb(4) - kernel part

it's unmaintained and supports only obsolete SMB1
 1.13 17-Jun-2019  christos comment out CHFS to fix build issues
 1.12 17-Jun-2019  christos Add more missing fs's
 1.11 21-May-2019  sevan Add APPLE_UFS (disabled)
 1.10 06-May-2019  sevan Oops, disable FILECORE as intended.
heads up <leot> <wiz>
 1.9 06-May-2019  sevan Add ADOSFS & FILECORE (both disabled)
 1.8 06-May-2019  sevan Add V7FS (disabled)
 1.7 06-May-2019  sevan Add autofs pseudo device (disabled)
Add a description for existing pseudo devices
 1.6 06-May-2019  sevan Include EFS support.
Tested on amd64 & macppc
 1.5 27-Apr-2019  sevan Sort more
 1.4 27-Apr-2019  sevan Sort
 1.3 10-Jan-2018  jmcneill branches: 1.3.4;
Comment out AUTOFS until it compiles
 1.2 09-Jan-2018  christos Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.1 19-Sep-2014  matt branches: 1.1.18;
include for configs which includes all file-systems and any dependent
pseudo-devices
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 19-Sep-2014  jdolecek file filesystems.config was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.3.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.4.1 10-Jun-2019  christos Sync with HEAD
 1.16.10.1 29-Jun-2024  perseant Implementation of exFAT filesystem, with compilation conditional on MKEXFATFS
make variable.
 1.1 29-Aug-2015  uebayasi branches: 1.1.2; 1.1.18;
Move less important part out of Makefile.kern.inc.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 29-Aug-2015  jdolecek file gdbinit.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 29-Aug-2015  skrll file gdbinit.mk was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.1 26-Aug-2015  uebayasi branches: 1.1.2; 1.1.18;
Have MI genassym.cf.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 26-Aug-2015  jdolecek file genassym.cf was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 26-Aug-2015  skrll file genassym.cf was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.2 29-Aug-2015  uebayasi Revert a mistakenly added file.
 1.1 29-Aug-2015  uebayasi Define two suffix rules, .c -> .o and .S -> .o, using ${NORMAL_C} and
${NORMAL_S} respectively. Use the .c rule to build devsw.c, ioconf.c, and
param.c. Other .c/.S files have explicit rules in the generated `Makefile',
and unaffected.
 1.2 06-Sep-2015  uebayasi branches: 1.2.2; 1.2.18;
More build ordering.
 1.1 06-Sep-2015  uebayasi Move ldscript related code out of Makefile.kern.inc.
 1.2.18.2 03-Dec-2017  jdolecek update from HEAD
 1.2.18.1 06-Sep-2015  jdolecek file ldscript.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.2.2.1 06-Sep-2015  skrll file ldscript.mk was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.1 13-Nov-2014  uebayasi branches: 1.1.18;
List of all link-set names.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 13-Nov-2014  jdolecek file linkset was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.cardbus was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.compat was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.fs was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.isa was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.mca was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.misc was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.5 27-Aug-2022  rillig sys/conf/link.mk: clean up

The modifier ':C' did not need the modifier 'g', as there couldn't ever
be more than one match per word. Using the modifier ':from=to' is easier
to read.

Align the variable assignments. There was no point in having 3 different
alignment styles in the same file.

Remove underscore from .for iteration variable, as it is not needed.

No functional change.
 1.4 02-May-2021  rillig sys/conf/lint.mk: fix order of command line options

The option -o must come before the first filename.

Now it is possible to lint kern_exec.c at least. The next failure is in
netbsd32_machdep.c:

netbsd32_machdep.c(395): error: illegal bit-field size: 255 [36]

That line in netbsd32_process_read_fpregs reads:

__CTASSERT(sizeof(*regs) == sizeof(struct save87));

This is probably a bug in lint. The struct save87 contains 3 uint16_t,
followed by a union containing a uint64_t, followed by a packed struct
with size 10. The combination of packed and padding is suspicious.
 1.3 02-May-2021  rillig sys/conf/lint.mk: allow GCC extensions in the kernel

The syntax errors due to the __asm statements are now gone. The file
kern_exec.c only produces a few warnings now. But after running that
file through lint1, the main lint complains about wrong usage. This is
due to this call:

${LINT} ... -i $< -o $@

The main lint has never supported -o after the first filename, so it
complains. It would have been helpful if lint had given any hint as to
which option was invalid. Anyway, the next step is to reorder the
arguments. As it is now, the code can never have worked.
 1.2 02-May-2021  rillig sys/conf/lint.mk: a small step for linting the kernel

Due to the missing path, the following commands had failed:

$ cd src/sys/arch/amd64/compile/GENERIC
$ nbmake-amd64-lint kern_exec.ln
nbmake: don't know how to make kern/kern_exec.c. Stop

After fixing the path, "make kern_exec.ln" fails with:

sys/kern/kern_exec.c(65): error: syntax error '"' [249]

The affected line contains:

__KERNEL_RCSID(0, "...");

The macro __KERNEL_RCSID expands to __asm("some strings"). Since
KERNLINTFLAGS is missing the -g, lint does not recognize __asm as
keyword and tries to parse it as an identifier instead, expecting a
variable or function declaration.
 1.1 29-Aug-2015  uebayasi branches: 1.1.2; 1.1.18; 1.1.38;
Move less important part out of Makefile.kern.inc.
 1.1.38.1 13-May-2021  thorpej Sync with HEAD.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 29-Aug-2015  jdolecek file lint.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 29-Aug-2015  skrll file lint.mk was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.net was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.pci was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.pcmcia was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.usb was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.2 12-May-2006  rpaulo By popular demand, this should be done by config(1).
 1.1 26-Apr-2006  rpaulo branches: 1.1.2;
Add work in progress lint files that will be used by port specific
LINT kernel config files (will be added later).
The list is far from complete and there are some missing files, busses and
devices.
 1.1.2.2 11-May-2006  elad sync with head
 1.1.2.1 26-Apr-2006  elad file lint.wscons was added on branch elad-kernelauth on 2006-05-11 23:28:04 +0000
 1.105 11-Mar-2025  brad A driver and userland utility for a couple of families of the
Microchip Technology / SMSC fan controller chips.

The driver and utility supports the:

o EMC2101 and EMC2101-R
o EMC2103-1, EMC2102-2 and EMC2103-4
o EMC2104
o EMC2106
o EMC2301
o EMC2302
o EMC2303
o EMC2305

The EMC210X family supports 1 or 2 fans with tachometer. Depending on
the chip, it may support 2 additional fans without tach and might
support a high side attachment (i.e. a fan, usually 5v, driven
directly from the chip and not PWM or DAC). All versions of EMC210X
support internal temperature measurements, and depending on the chip,
may support up to 5 additional temperature zones. The tachometers and
temperature measurements are provided to the system via the envsys(4)
framework. Some chip types support GPIO pins and support is provided
via the gpio(4) framework.

The EMC230X family supports 1, 2, 3 or 5 fans with the same number of
tachometers. No temperature zone or GPIO support. The tachometers
are provided to the system via the envsys(4) framework. The fan
support can be provided by PWM signaling or DAC.

The two chip families mostly do PWM signaling for the fan speed, but a
number of them support DAC output, a 0 to 3v or so voltage. When the
chip supports external temperature zones, this is done usually by a
bipolar NPN or PNP transister configured as a diode, but some of the
chip varients support thermistors.

The emcfan(4) kernel driver provides a simple read / write / seek
device in /dev/ to the register set in the chip. The heavy lifting is
done in the userland utility emcfanctl(8) which provides the ability
to read and write to any valid register and provides some basic higher
level commands to control fan behavior. The output is simple text
lines, or JSON.

The kernel driver does not reset or other mess with the chip, aside
from reading registers. It is entirely possible that something else
in any particular system is the major manager of the fan controller
and it would not do for the kernel driver to mess too much with the
attached device. All interactions are intentional via the userland
utility.

It is known that a EMC2301 is present on the Raspberry PI 4 Compute IO
module (not to be confused with the Raspberry PI 4 Compute module
itself) and there is a breakout board from Adafruit with a EMC2101 on
it. The chips themselves are pretty inexpensive from Mouser or
Digi-key and can be soldered using the simpler SMD soldering
techniques. A number of the variants are QFN packages, but the pads
are exposed to the side of the chip. No other external components are
required to use these fan controllers.
 1.104 16-Dec-2024  brad A driver for the MCP-2221 / 2221A multi-io chip. This is a USB to
UART / GPIO / I2C multi-io chip probably based upon a programmed PIC.
The end result is that simple gpio and i2c can exist on any system
that provides a USB port. This is everything from a RPI to a
Virtualbox VM.


o The UART presents itself as a umodem(4) device and pretty much works
as one would expect.

o There are 4 simple GPIO pins with multiple functions that attach to
gpio(4). Support for basic GPIO input and output exists with gpioctl,
the ADC, DAC and clock pulse functions exist as ALT functions. For
the ADC and DAC /dev/ devices are provided such that simple reads and
writes interact with the ADC and DAC. The IRQ function on pin GP1 and
bit banging the GPIO with gpiopps(4) and gpioow(4) are not really
supported. The short answer is that a spin lock is held while trying
to do USB transfers and that isn't allowed.

o There is a simple I2C engine that attaches to iic(4). This mostly
works as expected, except that a READ without STOP is not supported by
the engine which causes problems for some drivers. Most drivers do
not seem to use READ without STOP and seem to work as expected.
Support for changing the I2C speed is not supported, but nothing much
really does that.

o A userland utility called umcpmioctl(8) is provided that allows the
query of the status of the chip and allows for the query of the flash
memory and the setting of some of the flash memory parameters mostly
related to gpio. This utility interacts with a control device in
/dev/. The flash memory contents is copied to the sram on boot up of
the chip and can be used to adjust how the chip sets up the gpio pins,
among other things. Support for setting or entering the chip password
is not provided.

o A number of sysctls are provided to mess with various settings.
These are detailed in the man page.


While not perfect, the chip is reasonable, cheap, and has at least one
vendor making a breakout board. It is also one of the only ones in
this space that has enough documentation to write a driver.

Support for a related chip, the MCP-2210, which provides SPI and GPIO
may exist some day as the programming interface is very simular.
 1.103 06-Nov-2023  brad branches: 1.103.6;


gpioirq(4) version 2

This update makes this driver more than just an example and allows for:

o More than one pin to be attached to a gpioirq instance. That is,
the mask parameter can be greater than 0x01 now.

o A /dev/gpioirqN device that allows GPIO pin interrupts to be
transported into userland. This is a device that can be opened for
reading with a simple fixed output indicating the device unit, pin
number and current pin state.


This update was used as part of a physical intrusion detection system
where multiple switches (i.e. window magnetic reed switches and etc.)
are tied to a bunch of GPIO inputs with userland software that reacts
to the pins changing state.
 1.102 12-Aug-2022  riastradh branches: 1.102.4;
viocon(4): New virtio tty driver imported from OpenBSD.

viocon* at virtio?

/dev/ttyVI??

Tested under qemu with:

qemu-system-aarch64 ... \
-device virtio-serial \
-chardev socket,path=/tmp/ttyVI00,server=on,wait=off,id=ttyVI00 \
-device virtconsole,chardev=ttyVI00,name=org.NetBSD.dev.ttyVI00 \
...

I updated MAKEDEV.conf to create /dev/ttyVI?? on all ports where it
looks likely to work based on:
(a) having pci or a non-pci virtio attachment,
(b) `qemu-system-$ARCH -M ?' mentioned something resembling the port,
and
(c) `qemu-system-$ARCH -device virtio-serial' launched without
complaining about the virtio-serial device.

(Criterion (c) excluded sparc and sparc64.)
 1.101 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.100 06-Nov-2021  brad Driver for the Sensirion SHT30/SHT31/SHT35 temperature and humidity
sensor such as:

https://www.adafruit.com/product/2857

This is a higher priced sensor with a lot of features, including the
ability to do sub-second periodic updates. The driver supports
everything about the sensor except for the alert pin.
 1.99 10-Oct-2021  jmcneill efi: Add /dev/efi character device

Introduce a /dev/efi character device that provides a means for accessing
UEFI RT variable services from userland. Compatible with the FreeBSD ioctl
interface for ease of porting their libefivar and associated tools.

The ioctl interface is defined in sys/efiio.h.

To enable support for this on an arch, the kernel needs `pseudo-device efi`
and the MD EFI implementation needs to register its backend by calling
efi_ops_register(). This commit includes an implementation for Arm.
 1.98 24-Jul-2021  jmcneill smbios: Add character device for accessing SMBIOS tables

The /dev/smbios character device gives an aperture into physical memory
that allows read-only access to the SMBIOS header and tables.
 1.97 06-Dec-2020  jmcneill branches: 1.97.4;
acpi: add character device for accessing ACPI tables

The /dev/acpi character device gives an aperture into physical memory
that allows only read access to known ACPI tables: RSDP, XSDT/RSDT, and
the root tables. Adapt acpidump(8) to use this interface by default,
falling back to the old /dev/mem method if it is not available or if
ACPIDUMP_USE_DEVMEM=1 is set in the environment. The user visible benefit
of this change is that "options INSECURE" is no longer required to
dump ACPI tables.
 1.96 28-Aug-2020  riastradh branches: 1.96.2;
Nix trailing whitespace.
 1.95 26-Jul-2020  jdolecek Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly
 1.94 07-Jun-2020  maxv Add fault(4).
 1.93 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.92 23-Dec-2019  maxv branches: 1.92.2;
Revert the removal of filemon.
 1.91 18-Dec-2019  maxv Retire filemon, discussed on tech-kern@.
 1.90 28-Oct-2019  ozaki-r Implement a front-end driver of virtio-9p called vio9p

In conjunction with mount_9p, it enables a NetBSD system running as a VM guest
to mount an exported filesystem by the host via virtio-9p. It exports a 9p
end-point of virtio-9p via a character device file for mount_9p.

Reviewed by yamaguchi@
 1.89 15-Sep-2019  maxv Wrong major.
 1.88 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.87 18-May-2019  mlelstv Add experimental userland interface to IPMI driver. Currently, transactions
(like sensor readout) are locked, so that a userland program may interfere with
envsys operation.

To use this you need a program like ipmitool built with OpenIPMI support.
 1.86 05-May-2019  mlelstv Now the real number for ipmi
 1.85 05-May-2019  mlelstv reservation for IPMI driver
 1.84 09-Mar-2019  kamil Reserve DTrace sdt and fdt major numbers

Register cmajor 252 for fbt and 253 for sdt.

Previously the major number was picked randomly and it causes conflicts
with preallocated values for different devices.
 1.83 23-Feb-2019  kamil Reserve majors for HAXM and example loadable kernel modules

348-350 are reserved for HAXM
351 is reserved for sys/modules/examples

Discussed on tech-kern@
 1.82 23-Feb-2019  mlelstv Reserve major number for spi driver
 1.81 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.80 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.79 20-May-2018  thorpej branches: 1.79.2;
Add a 1PPS-over-GPIO driver, originally by Brad Spencer, with changes by
me to adapt to the new GPIO interrupt interface and support a wider variety
of GPIO pin configuations.

PR kern/51676
 1.78 09-Jan-2018  christos branches: 1.78.2;
Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.77 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.76 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.75 08-Sep-2016  nonaka Fix to cannnot be opened a nvme(4) namespace device file.
 1.74 04-Jun-2016  nonaka branches: 1.74.2;
Add NVMe command passthrough support.
 1.73 13-May-2016  skrll Clarify the intention here after discussing it with soda@
 1.72 13-May-2016  soda - change major number limit for MI devices from 255 to 511,
because twe is already using 332
- clarify that new MI devices should go to this file
instead of majors.{ws,usb,std,tty,storage}
- fix major number conflict about hdmicec vs tty

OKed by matt@
the expression "previously not MI" is suggested by matt@ too.
 1.71 11-May-2016  skrll Update with info about tty/storage reservations
 1.70 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.69 19-Sep-2014  matt branches: 1.69.2;
Add comment about new MI device numbers in other files.
 1.68 18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.67 18-Oct-2013  mbalmer add a device-major for lua(4)
 1.66 22-Apr-2013  rkujawa branches: 1.66.4; 1.66.6;
Add forgotten block device number for spiflash in an attempt to unbreak evbarm build.
 1.65 20-Apr-2013  rkujawa Add character device for spiflash.

Obtained from Marvell, Semihalf.
 1.64 28-Feb-2013  christos add a major for dtrace
 1.63 08-Feb-2013  jdc Add an MI major number for seeprom (char 206).
 1.62 19-Sep-2012  bouyer Add a pass-through ioctl for mfi(4), allowing userland to send raw commands
to the controller. This is compatible with the linux and FreeBSD
implementations.
Add the needed conversion for mfi ioctls in COMPAT_LINUX
Allocate a character major number, and create /dev/mfi0 by default
on amd64 and i386.
This allows (along with a hand-created /emul/linux/proc/devices file)
to run the MegaCLI linux binary provided by LSI.
 1.61 22-Jan-2012  christos branches: 1.61.2; 1.61.6;
add a tpm driver from bsssd.sourceforge.net
 1.60 19-Nov-2011  agc branches: 1.60.4;
grab major 203 for the iSCSI communications device (between kernel
driver and /sbin/iscsid)
 1.59 15-Oct-2011  tron branches: 1.59.2;
Fix build of kernels without filemon(4).
 1.58 15-Oct-2011  sjg Add the plumbing so one could compile filemon(4) into a kernel.
 1.57 02-Oct-2011  jmcneill Install dev/i2c/i2c_io.h and implement the API in the iic(4) driver.
Obsolete the I2C_SCAN option as this can now be done from userland.
 1.56 09-Jul-2011  jmcneill reserve char 200 for dtv
 1.55 20-Jan-2011  jmcneill unreserve kmixer
 1.54 05-Jan-2011  jmcneill branches: 1.54.2; 1.54.4;
reserve a major number for kmixer
 1.53 27-Oct-2010  uebayasi Reserve an MI major for coming flash(4).

hpcmips defines one in MD majors, but it's not listed in
etc/etc.hpcmips/MAKEDEV.conf, so I assume actual files are never
created in users' filesystems.

Prompted By: pooka
 1.52 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.51 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.50 30-Apr-2010  pooka compress whitespace. no functional change.
 1.49 14-Apr-2010  pooka Steal a static major number for rumpblk.
 1.48 06-Mar-2010  plunky branches: 1.48.2;
use a MI major number for uhso(4) driver
(requested by mrg)
 1.47 06-Sep-2009  sborrill branches: 1.47.2;
hdaudio(4) is a standards-compliant driver for Intel High Definition Audio.
It will replace azalia(4) after testing.

To use, comment out azalia in your kernel configuration and uncomment the
hdaudio and hdafg lines so it reads:

# Intel High Definition Audio
hdaudio* at pci? dev ? function ?
hdafg* at hdaudiobus?

You should also:
cd /dev
sh MAKEDEV audio
 1.46 21-May-2009  wiz <space> -> <tab> consistency.
 1.45 12-Mar-2009  jmcneill Add 'alternative memory' disk device driver.
 1.44 19-Dec-2008  haad branches: 1.44.2;
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.43 05-Dec-2008  ad zfs needs block devices too, for zvol.
 1.42 27-Aug-2008  drochner branches: 1.42.2; 1.42.4; 1.42.8;
allocate a char major # for video (gsoc project)
 1.41 02-Apr-2008  dyoung branches: 1.41.4; 1.41.6; 1.41.10;
Certain misguided people have complained, NetBSD only runs rare or
"retro" computers, but NetBSD also runs a growing number of rare
and retro add-on cards. With this patch, NetBSD supports the IDEC
Supervision/16, a black&white image capture board for the 16-bit
ISA bus. Approximate date of manufacture: 1991. Total instances
known to be in use throughout the world: one.

Coming soon; isvctl(8), the utility program for capturing 8-bit,
512x480 images at speeds of up to 6 frames per second.
 1.40 01-Jan-2008  yamt branches: 1.40.6;
a simple performance monitor based profiler, inspired from linux oprofile.
 1.39 24-Dec-2007  ad Reserve a major for ZFS.
 1.38 13-Nov-2007  pooka branches: 1.38.2; 1.38.6;
puffs -> putter
 1.37 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.36 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.35 04-Aug-2007  ad branches: 1.35.2; 1.35.6; 1.35.8; 1.35.10;
Add cpuctl(8). For now this is not much more than a toy for debugging and
benchmarking that allows taking CPUs online/offline.
 1.34 01-May-2007  bouyer branches: 1.34.2; 1.34.6;
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.33 20-Mar-2007  drochner allocate chracter dev major #180 for drm
 1.32 11-Jan-2007  mouse branches: 1.32.2; 1.32.6; 1.32.8; 1.32.10;
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.31 22-Oct-2006  pooka branches: 1.31.2;
grab device number for puffs
 1.30 24-Sep-2006  manu Restore twa as major 187, this time with the flag so that it does not get
used in kernels that do not include the driver.
 1.29 24-Sep-2006  manu Back out the twa device:
- if allocated in the MI range, it breaks the builds for ports that do
not use it
- if allocated in the MD range, 3ware's tw_cli tool will break because it
hardcodes the major
 1.28 23-Sep-2006  manu Add a major for twa. The 3ware management tool has the major 187 hardcoded
for twa. Fortunately 187 is available.

The same tool hardcodes twe major at 146, which falls into the range
reserved to vendors...
 1.27 10-Sep-2006  plunky branches: 1.27.2;
update to bluetooth device attachment:

remove pseudo-device btdev(4) and inherent limitations

add bthub(4) which autoconfigures at bluetooth controllers as they
are enabled. bluetooth devices now attach here.

btdevctl(8) and its cache is updated to handle new semantics

etc/rc.d/btdevctl is updated to configure devices from a list
in /etc/bluetooth/btdevctl.conf
 1.26 07-Sep-2006  ad branches: 1.26.2;
Add /dev/lockstat.
 1.25 26-Jul-2006  tron branches: 1.25.2;
Bluetooth fixes by Iain Hibbert:
Change the way in which bluetooth devices attach to system. The
new way is for devices to attach directly to a btdevN device via
its own control file /dev/btdevN.
- bthub(4) is replaced by btdev(4).
- /dev/bthubctl is replaced by /dev/btdevN.
- configuration now uses proplib(3) property lists.
- btcontrol(8) updated to use new API, and now uses private
- XML config file /var/db/btdev.xml.
 1.24 23-Jul-2006  bouyer Add a /dev/amr* control file for amr(4) devices, which allows sending raw
commands to the controller.
Add a amrctl(8) control tool, which for now only allows to get status
from the adapter (status of adapter, logical volumes and and individual
drives).
From FreeBSD, with some adjustements by Andrew Doran and me.
 1.23 09-Jul-2006  mlelstv move and renumber bthub major to avoid conflicts with other archs
 1.22 14-May-2006  elad branches: 1.22.4;
integrate kauth.
 1.21 03-Apr-2006  scw Add a kernel driver and userland program for the Topfield TF5000PVR range
of digital video recorders popular in Europe and Australia.

These devices have a USB client port which can be used to upload and
download recordings (and other files, such as MIPS binaries for execution
on the DVR's CPU) to/from their internal hard disk, in addition to some
other operations on files and directories.
 1.20 25-Feb-2006  christos branches: 1.20.2; 1.20.4; 1.20.6;
leave the old number for vinum in (for reference). Prompted by veego.
 1.19 25-Feb-2006  christos remove vinum
 1.18 11-Dec-2005  christos branches: 1.18.2; 1.18.4; 1.18.6;
merge ktrace-lwp.
 1.17 27-Sep-2005  jmcneill Add gpio files and majors.
 1.16 30-Jul-2005  skrll Add a driver for Cypress microcontroller based USB serial adapters.

XXX hw flow control is not supported.
 1.15 11-Jul-2005  kiyohara ieee1394 import from FreeBSD.
 1.14 03-Jun-2005  blymn branches: 1.14.2;
Added veriexec as a MI major.
 1.13 08-Jan-2005  cube branches: 1.13.8;
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.12 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.11 18-Aug-2004  drochner add a "drvctl" pseudo-device as userland interface to the autoconf
rescan() and detach() functions
 1.10 01-Aug-2004  bouyer branches: 1.10.2;
Implement an atabus control device, and define some ATA bus control
IOCTLS. Implement ATABUSIORESET, which will reset the given ATA bus.
 1.9 18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.8 27-May-2004  christos Unix 98 pty multiplexor device; original code from OpenBSD.
 1.7 28-Jan-2004  drochner add pps device
 1.6 31-Dec-2003  jonathan Split opencrypto configuration into an attribute, usable by inkernel
clients, and a pseudo-device for userspace access.

The attribute is named `opencrypto'. The pseudo-device is renamed to
"crypto", which has a dependency on "opencrypto". The sys/conf/majors
entry and pseudo-device attach entrypoint are updated to match the
new pseudo-device name.

Fast IPsec (sys/netipsec/files.ipsec) now lists a dependency on the
"opencrypto" attribute. Drivers for crypto accelerators (ubsec,
hifn775x) also pull in opencrypto, as providers of opencrypto transforms.
 1.5 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.4 10-Oct-2003  jdolecek Add major for Vinum
 1.3 10-Oct-2003  jdolecek reassing majors for crypto and pf to use the newly defined MI major
range
 1.2 10-Oct-2003  jdolecek update comments for the final major space arrangement:
0-143 machine-dependant/traditional majors
144-159 local/vendor use
160-255 new-style MI range
 1.1 10-Oct-2003  jdolecek move MI majors config file from sys/dev/majors to sys/conf/majors
 1.10.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.2.9 17-Jan-2005  skrll Sync with HEAD.
 1.10.2.8 19-Oct-2004  skrll Sync with HEAD
 1.10.2.7 21-Sep-2004  skrll Fix the sync with head I botched.
 1.10.2.6 18-Sep-2004  skrll Sync with HEAD.
 1.10.2.5 25-Aug-2004  skrll Sync with HEAD.
 1.10.2.4 12-Aug-2004  skrll Sync with HEAD.
 1.10.2.3 06-Aug-2004  skrll Fix merge mistakes.
 1.10.2.2 03-Aug-2004  skrll Sync with HEAD
 1.10.2.1 01-Aug-2004  skrll file majors was added on branch ktrace-lwp on 2004-08-03 10:44:45 +0000
 1.13.8.4 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.13.8.3 11-Nov-2006  bouyer Pull up following revision(s) (requested by manu in ticket #1528):
etc/MAKEDEV.tmpl: revision 1.66 via patch
sys/conf/majors: revision 1.30 via patch
sys/dev/pci/twareg.h: revision 1.6 via patch
sys/dev/pci/twa.c: revision 1.13 via patch
sys/dev/pci/twaio.h: revision 1.4 via patch
sys/compat/freebsd/freebsd_sysctl.c: revision 1.5 via patch
Tweak the twa(4) driver so that 3ware command line utility works with
it.
This includes:
- fixing various structure definitions so that the ioctl parameter match
- adding a hw.twa*.driver_version sysctl
- do not refuse multiple device openings, as the management tool will do
it.
I'm not sure we are safe. FreeBSD allows multiple openings, and use
the
open flag only when an attempt to detach the device is done.
Fix a bug in FreeBSD sysctl emulation: use copyin for
moving data to the kernel
 1.13.8.2 30-Jul-2006  tron Apply patch (requested by bouyer in ticket #1431):
- Add a /dev/amr* control file for amr(4) devices, which allows sending
raw commands to the controller.
- Add a amrctl(8) control tool, which for now only allows to get status
from the adapter (status of adapter, logical volumes and and
individual drives).
 1.13.8.1 10-Jun-2005  tron Pull up revision 1.14 (requested by elad in ticket #389):
Added veriexec as a MI major.
 1.14.2.6 21-Jan-2008  yamt sync with head
 1.14.2.5 15-Nov-2007  yamt sync with head.
 1.14.2.4 03-Sep-2007  yamt sync with head.
 1.14.2.3 26-Feb-2007  yamt sync with head.
 1.14.2.2 30-Dec-2006  yamt sync with head.
 1.14.2.1 21-Jun-2006  yamt sync with head.
 1.18.6.1 22-Apr-2006  simonb Sync with head.
 1.18.4.1 09-Sep-2006  rpaulo sync with head
 1.18.2.1 01-Mar-2006  yamt sync with head.
 1.20.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.20.4.1 19-Apr-2006  elad sync with head.
 1.20.2.3 14-Sep-2006  yamt sync with head.
 1.20.2.2 11-Aug-2006  yamt sync with head
 1.20.2.1 11-Apr-2006  yamt sync with head
 1.22.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.25.2.1 14-Sep-2006  riz Pull up following revision(s) (requested by plunky in ticket #161):
sys/dev/bluetooth/btdev.h: revision 1.4
distrib/sets/lists/comp/mi: revision 1.922
usr.sbin/postinstall/postinstall: revision 1.25
sys/netbt/hci_unit.c: revision 1.3
sys/netbt/hci_ioctl.c: revision 1.4
usr.sbin/sdpd/profile.c: revision 1.2
usr.sbin/btdevctl/btdevctl.c: revision 1.2
share/man/man4/Makefile: revision 1.405
distrib/sets/lists/man/mi: revision 1.930
distrib/sets/lists/etc/mi: revision 1.176
usr.sbin/sdpd/profile.c: revision 1.3
usr.sbin/btdevctl/btdevctl.c: revision 1.3
etc/MAKEDEV.tmpl: revision 1.62
distrib/sets/lists/base/mi: revision 1.650
usr.sbin/btdevctl/btdevctl.h: revision 1.2
usr.bin/sdpquery/sdpquery.1: revision 1.4
sys/netbt/rfcomm_session.c: revision 1.2
usr.sbin/btdevctl/btdevctl.8: revision 1.3
usr.bin/sdpquery/search.c: revision 1.2
usr.sbin/sdpd/Makefile: revision 1.2
sys/dev/bluetooth/Makefile: revision 1.3
usr.sbin/btdevctl/cfg.c: file removal
sys/netbt/files.netbt: revision 1.4
usr.sbin/btdevctl/sdp.c: revision 1.1
sys/dev/bluetooth/bthidev.c: revision 1.3
etc/bluetooth/Makefile: revision 1.3
sys/dev/pcmcia/files.pcmcia: revision 1.51
sys/dev/bluetooth/bthidev.c: revision 1.4
sys/dev/bluetooth/bthidev.h: revision 1.3
usr.sbin/btdevctl/dev.c: file removal
sys/dev/bluetooth/files.bluetooth: revision 1.10
sys/arch/i386/conf/GENERIC: revision 1.777
share/man/man4/ubt.4: revision 1.6
share/man/man4/bthub.4: revision 1.3
sys/netbt/hci.h: revision 1.5
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202
lib/libsdp/sdp.h: revision 1.2
usr.sbin/btdevctl/print.c: revision 1.1
share/man/man4/bthidev.4: revision 1.5
share/man/man4/btdev.4: file removal
usr.sbin/btdevctl/print.c: revision 1.2
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205
usr.sbin/btdevctl/Makefile: revision 1.2
sys/dev/usb/files.usb: revision 1.70
sys/netbt/l2cap_signal.c: revision 1.2
sys/netbt/hci_link.c: revision 1.4
sys/dev/bluetooth/bthub.c: revision 1.3
share/man/man4/btsco.4: revision 1.5
sys/netbt/hci_link.c: revision 1.5
share/man/man4/btdev.4: revision 1.4
sys/dev/bluetooth/btkbd.c: revision 1.3
sys/dev/bluetooth/btdev.c: file removal
sys/netbt/hci_event.c: revision 1.2
sys/dev/bluetooth/btsco.h: revision 1.2
etc/mtree/special: revision 1.101
sys/dev/bluetooth/btsco.c: revision 1.3
sys/conf/majors: revision 1.27
usr.sbin/sdpd/hf.c: revision 1.1
sys/dev/bluetooth/btsco.c: revision 1.4
share/man/man5/rc.conf.5: revision 1.107
sys/dev/bluetooth/btdev.c: revision 1.2
etc/rc.d/btdevctl: revision 1.2
usr.sbin/btdevctl/db.c: revision 1.1
etc/rc.d/btdevctl: revision 1.3
etc/bluetooth/btdevctl.conf: revision 1.1
usr.sbin/btdevctl/hid.c: file removal
sys/arch/i386/conf/GENERIC: revision 1.781
sys/dev/bluetooth/btdev.h: revision 1.3
Make btdev default count explicit
Fix typo in variable name
update to bluetooth device attachment:
remove pseudo-device btdev(4) and inherent limitations
add bthub(4) which autoconfigures at bluetooth controllers as they
are enabled. bluetooth devices now attach here.
btdevctl(8) and its cache is updated to handle new semantics
etc/rc.d/btdevctl is updated to configure devices from a list
in /etc/bluetooth/btdevctl.conf
also include service name in dictionary being sent to kernel.
(this is not used just yet, but it might be in the future and it will
be easier if we dont have to provide code to handle its absence)
clarify the CAVEAT section somewhat
Add service discovery support for the Handsfree profile
Replace static 'FreeBSD' string with operating system name gleaned
from uname(3)
Halt the callout on detach
btsco.c:
- sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t,
not an int. So change sc_mtu's type to uint16_t.
- Try a little harder to ensure btsco_round_blocksize() does not
return zero. Prevents a subsequent panic in audio_init_ringbuffer().
from scw@
Endian issues:
hci_event.c:
- Convert memo->response.clock_offset to host-endian.
hci_ioctl.c:
- printf format tweak (size_t)
hci_link.c:
- Convert memo->response.clock_offset from host-endian.
- Tweak a DIAGNOSTIC message.
l2cap_signal.c:
- In l2cap_recv_config_req(), rp->scid is little-endian so make sure
we convert from host-endian.
from scw@
hci_link.c:
- In hci_link_free(), do not unlink items from a LIST queue within
a LIST_FOREACH() iterator.
rfcomm_session.c:
- In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST
queue within a LIST_FOREACH() iterator.
from scw@
guard against a possible situation where the list of l2cap channels is changed
when the bluetooth code is not expecting it to be. During a disconnect, we can
detach the channel that is being disconnected, but its not really safe to detach
any others.
Print explicit 64-bit types using the format macros from int_fmtio.h.
Unbreaks the build for our LP64 ports, where "long long" typically is
not 64 bits.
 1.26.2.2 12-Jan-2007  ad Sync with head.
 1.26.2.1 18-Nov-2006  ad Sync with head.
 1.27.2.2 10-Dec-2006  yamt sync with head.
 1.27.2.1 22-Oct-2006  yamt sync with head
 1.31.2.1 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.32.10.1 29-Mar-2007  reinoud Pullup to -current
 1.32.8.1 11-Jul-2007  mjf Sync with head.
 1.32.6.3 20-Aug-2007  ad Sync with HEAD.
 1.32.6.2 08-Jun-2007  ad Sync with head.
 1.32.6.1 10-Apr-2007  ad Sync with head.
 1.32.2.2 07-May-2007  yamt sync with head.
 1.32.2.1 24-Mar-2007  yamt sync with head.
 1.34.6.3 14-Nov-2007  joerg Sync with HEAD.
 1.34.6.2 11-Nov-2007  joerg Sync with HEAD.
 1.34.6.1 04-Aug-2007  jmcneill Sync with HEAD.
 1.34.2.1 15-Aug-2007  skrll Sync with HEAD.
 1.35.10.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.35.10.1 04-Aug-2007  ad file majors was added on branch matt-mips64 on 2007-08-04 11:03:01 +0000
 1.35.8.4 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.35.8.3 18-Feb-2008  mjf Sync with HEAD.
 1.35.8.2 27-Dec-2007  mjf Sync with HEAD.
 1.35.8.1 19-Nov-2007  mjf Sync with HEAD.
 1.35.6.1 13-Nov-2007  bouyer Sync with HEAD
 1.35.2.1 09-Jan-2008  matt sync with HEAD
 1.38.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.38.2.1 26-Dec-2007  ad Sync with head.
 1.40.6.5 17-Jan-2009  mjf Sync with HEAD.
 1.40.6.4 28-Sep-2008  mjf Sync with HEAD.
 1.40.6.3 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.40.6.2 03-Apr-2008  mjf Sync with HEAD.
 1.40.6.1 21-Feb-2008  mjf Start where the mjf-devfs branch left off.
 1.41.10.3 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.41.10.2 19-Oct-2008  haad Sync with HEAD.
 1.41.10.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.41.6.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.41.4.6 09-Oct-2010  yamt sync with head
 1.41.4.5 11-Aug-2010  yamt sync with head.
 1.41.4.4 11-Mar-2010  yamt sync with head
 1.41.4.3 16-Sep-2009  yamt sync with head
 1.41.4.2 20-Jun-2009  yamt sync with head
 1.41.4.1 04-May-2009  yamt sync with head.
 1.42.8.2 27-Dec-2011  matt Merge flash/nand/nor infrastruct from matt-nb5-pq3.
 1.42.8.1 21-Apr-2010  matt sync to netbsd-5
 1.42.4.1 26-Sep-2009  snj branches: 1.42.4.1.4;
Pull up following revision(s) (requested by jmcneill in ticket #946):
distrib/sets/lists/man/mi: revision 1.1155
doc/CHANGES: revision 1.1285
etc/MAKEDEV.tmpl: revision 1.128
share/man/man4/Makefile: revision 1.498 via patch
share/man/man4/hdaudio.4: revision 1.1-1.3
share/man/man8/MAKEDEV.8: revision 1.36
sys/arch/amd64/conf/GENERIC: revision 1.250-1.251
sys/arch/amd64/conf/XEN3_DOM0: revision 1.44-1.45
sys/arch/i386/conf/ALL: revision 1.206-1.207
sys/arch/i386/conf/GENERIC: revision 1.942-1.943
sys/arch/i386/conf/XEN3_DOM0: patch
sys/conf/majors: revision 1.47 via patch
sys/dev/pci/hdaudio/files.hdaudio: revision 1.1-1.2
sys/dev/pci/hdaudio/hdaudio.c: revision 1.1-1.4
sys/dev/pci/hdaudio/hdaudio_afg.c: revisions 1.1-1.14
sys/dev/pci/hdaudio/hdaudio_mixer.h: revisions 1.1-1.3
sys/dev/pci/hdaudio/hdaudio_pci.c: revisions 1.1-1.2
sys/dev/pci/hdaudio/hdaudioio.h: revisions 1.1-1.2
sys/dev/pci/hdaudio/hdaudioreg.h: revisions 1.1-1.3
sys/dev/pci/hdaudio/hdaudiovar.h: revisions 1.1-1.4
sys/dev/pci/files.pci: revisions 1.319 and 1.322 via patch
hdaudio(4) is a standards-compliant driver for High Definition Audio.
It will replace azalia(4) after testing.
To use, comment out azalia in your kernel configuration and uncomment the
hdaudio and hdafg lines so it reads:
hdaudio* at pci? dev ? function ?
hdafg* at hdaudiobus?
You should also:
cd /dev
sh MAKEDEV audio
 1.42.4.1.4.2 14-Oct-2011  matt Add altmem
 1.42.4.1.4.1 26-Jul-2011  matt Backport flash/nand/nor subsystem from -HEAD.
 1.42.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.42.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.44.2.2 23-Jul-2009  jym Sync with HEAD.
 1.44.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.47.2.4 27-Oct-2010  uebayasi Move flash(4)/xmd(4) majors to MI, as suggested by Chuck Silvers.
 1.47.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.47.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.47.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.48.2.2 05-Mar-2011  rmind sync with head
 1.48.2.1 30-May-2010  rmind sync with head
 1.54.4.1 08-Feb-2011  bouyer Sync with HEAD
 1.54.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.59.2.3 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.59.2.2 30-Oct-2012  yamt sync with head
 1.59.2.1 17-Apr-2012  yamt sync with head
 1.60.4.1 18-Feb-2012  mrg merge to -current.
 1.61.6.5 03-Dec-2017  jdolecek update from HEAD
 1.61.6.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.61.6.3 23-Jun-2013  tls resync from head
 1.61.6.2 25-Feb-2013  tls resync with head
 1.61.6.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.61.2.1 24-Oct-2012  riz Pull up following revision(s) (requested by bouyer in ticket #629):
sys/compat/linux/common/linux_ioctl.c: revision 1.57
sys/dev/ic/mfi.c: revision 1.47
sys/conf/majors: revision 1.62
etc/etc.i386/MAKEDEV.conf: revision 1.24
sys/dev/ic/mfivar.h: revision 1.20
etc/MAKEDEV.tmpl: revision 1.159
sys/dev/ic/mfiio.h: revision 1.1
etc/etc.amd64/MAKEDEV.conf: revision 1.19
sys/dev/ic/mfireg.h: revision 1.8
Add a pass-through ioctl for mfi(4), allowing userland to send raw commands
to the controller. This is compatible with the linux and FreeBSD
implementations.
Add the needed conversion for mfi ioctls in COMPAT_LINUX
Allocate a character major number, and create /dev/mfi0 by default
on amd64 and i386.
This allows (along with a hand-created /emul/linux/proc/devices file)
to run the MegaCLI linux binary provided by LSI.
 1.66.6.2 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.66.6.1 29-Jan-2014  riastradh Give drmkms its own device major so it doesn't compete with old drm.
 1.66.4.1 18-May-2014  rmind sync with head
 1.69.2.5 05-Feb-2017  skrll Sync with HEAD
 1.69.2.4 05-Oct-2016  skrll Sync with HEAD
 1.69.2.3 09-Jul-2016  skrll Sync with HEAD
 1.69.2.2 29-May-2016  skrll Sync with HEAD
 1.69.2.1 22-Sep-2015  skrll Sync with HEAD
 1.74.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.78.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.78.2.1 21-May-2018  pgoyette Sync with HEAD
 1.79.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.79.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.79.2.1 10-Jun-2019  christos Sync with HEAD
 1.92.2.1 25-Jan-2020  ad Sync with head.
 1.96.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.97.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.102.4.1 26-Nov-2023  bouyer Pull up following revision(s) (requested by brad in ticket #461):
sys/dev/gpio/gpiovar.h: revision 1.19
share/man/man4/gpioirq.4: revision 1.4 via patch
sys/dev/gpio/gpio.c: revision 1.73
etc/MAKEDEV.tmpl: revision 1.234
sys/conf/majors: revision 1.103
sys/dev/gpio/gpioirq.c: revision 1.2
gpioirq(4) version 2
This update makes this driver more than just an example and allows for:
o More than one pin to be attached to a gpioirq instance. That is,
the mask parameter can be greater than 0x01 now.
o A /dev/gpioirqN device that allows GPIO pin interrupts to be
transported into userland. This is a device that can be opened for
reading with a simple fixed output indicating the device unit, pin
number and current pin state.
This update was used as part of a physical intrusion detection system
where multiple switches (i.e. window magnetic reed switches and etc.)
are tied to a bunch of GPIO inputs with userland software that reacts
to the pins changing state.
 1.103.6.1 02-Aug-2025  perseant Sync with HEAD
 1.3 23-Apr-2015  pgoyette branches: 1.3.16;
Update device dependency information - the sysmon major device now depends on the sysmon module itself, not on the individual components.
 1.2 19-Apr-2015  pgoyette Note that sysmon device is also required for sysmon_power.

XXX This will be changing again soon (once I get the various portions of
XXX sysmon modularized).
 1.1 19-Sep-2014  matt branches: 1.1.2;
Add some file to define MI major for various classes of stuff.
These are for new ports to use.
 1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.3.16.2 03-Dec-2017  jdolecek update from HEAD
 1.3.16.1 23-Apr-2015  jdolecek file majors.std was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1 19-Sep-2014  matt branches: 1.1.18;
Add some file to define MI major for various classes of stuff.
These are for new ports to use.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 19-Sep-2014  jdolecek file majors.storage was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1 19-Sep-2014  matt branches: 1.1.18;
Add some file to define MI major for various classes of stuff.
These are for new ports to use.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 19-Sep-2014  jdolecek file majors.tty was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.3 29-Jun-2021  nia mark urio/uscanner device majors obsolete
 1.2 03-Feb-2020  kre branches: 1.2.10;

urio has gone. Comment it out (remaining visible to hold the number)
 1.1 19-Sep-2014  matt branches: 1.1.18; 1.1.22; 1.1.28;
Add some file to define MI major for various classes of stuff.
These are for new ports to use.
 1.1.28.1 29-Feb-2020  ad Sync with head.
 1.1.22.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 19-Sep-2014  jdolecek file majors.usb was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2.10.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1 19-Sep-2014  matt branches: 1.1.18;
Add some file to define MI major for various classes of stuff.
These are for new ports to use.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 19-Sep-2014  jdolecek file majors.ws was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1 30-Aug-2015  uebayasi branches: 1.1.2; 1.1.18;
Put back MEMORY_DISK_IMAGE logic, but use generated opt_memory_root_image.h
and don't polute Makefile.kern.inc.
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 30-Aug-2015  jdolecek file mdroot.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 30-Aug-2015  skrll file mdroot.mk was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.3 12-Nov-2014  christos restore previous functionality, and add what we need with -t <template>
 1.2 12-Nov-2014  christos I don't know what was using this before (but it did not work since it
did not produce valid LDSCRIPT code) and now it does.
 1.1 04-Mar-2007  tsutsui branches: 1.1.4; 1.1.20; 1.1.90;
Move mkldscript.sh, which is used to create ldscript dynamically to
merge link_set_* sections into the text section for a.out kernels,
from sys/arch/arm/conf/ to sys/conf/ since there is no ARM specific
stuff in it and other ports would share it.
 1.1.90.1 03-Dec-2017  jdolecek update from HEAD
 1.1.20.2 03-Sep-2007  yamt sync with head.
 1.1.20.1 04-Mar-2007  yamt file mkldscript.sh was added on branch yamt-lazymbuf on 2007-09-03 14:33:05 +0000
 1.1.4.2 12-Mar-2007  rmind Sync with HEAD (missed new files in previous).
 1.1.4.1 04-Mar-2007  rmind file mkldscript.sh was added on branch yamt-idlelwp on 2007-03-12 06:14:50 +0000
 1.4 01-May-2024  christos PR/58220: Kouichi Hashikawa: use ${TOOL_AWK}
 1.3 05-Apr-2024  christos Use ${TOOL_DATE} (Jan-Benedict Glaw)
 1.2 08-Apr-2017  christos branches: 1.2.12; 1.2.20; 1.2.46;
- modernize: use getopts/usage/true/false variables
- if ${MKREPRO_TIMESTAMP} is used, synthesize all the information, instead
of eliding it.
 1.1 06-Sep-2015  uebayasi branches: 1.1.2; 1.1.4; 1.1.6;
Clean up. Move assym.h/vers.c related code out of Makefile.kern.inc.
 1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.4.1 26-Apr-2017  pgoyette Sync with HEAD
 1.1.2.3 28-Aug-2017  skrll Sync with HEAD
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 06-Sep-2015  skrll file newvers.mk was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.2.46.1 12-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #953):

sys/conf/newvers_stand.sh: revision 1.10
sys/conf/newvers.mk: revision 1.3
sys/conf/newvers.mk: revision 1.4
sys/conf/newvers.sh: revision 1.63
sys/conf/newvers.sh: revision 1.64
sys/conf/newvers_stand.mk: revision 1.5

Use ${TOOL_DATE} (Jan-Benedict Glaw)
PR/58220: Kouichi Hashikawa: use ${TOOL_AWK}
 1.2.20.1 12-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1899):

sys/conf/newvers.mk: revision 1.4 (patch)
sys/conf/newvers.sh: revision 1.64 (patch)

PR/58220: Kouichi Hashikawa: use ${TOOL_AWK}
 1.2.12.2 03-Dec-2017  jdolecek update from HEAD
 1.2.12.1 08-Apr-2017  jdolecek file newvers.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.64 01-May-2024  christos PR/58220: Kouichi Hashikawa: use ${TOOL_AWK}
 1.63 05-Apr-2024  christos Use ${TOOL_DATE} (Jan-Benedict Glaw)
 1.62 08-Apr-2017  christos branches: 1.62.18; 1.62.44;
- modernize: use getopts/usage/true/false variables
- if ${MKREPRO_TIMESTAMP} is used, synthesize all the information, instead
of eliding it.
 1.61 03-Aug-2014  justin branches: 1.61.4; 1.61.8; 1.61.12;
Work around escaping issues with quotes in substitutions, to fix cross builds
 1.60 03-Aug-2014  apb BUILDINFO part 1: newvers.sh

If the BUILDINFO environment variable is set, then interpret it as
a string with embedded C-style escapes and store it in a new
buildinfo variable in the emitted vers.c file.

Also centralise the awk code for converting a multi-line string
to C source code.
 1.59 14-Jun-2014  apb Document command line options and other inputs and outputs.
 1.58 14-Jun-2014  apb Append ".${BUILDID}" to the default value of <id>,
provided the "-i <id>" command line option was not used.
 1.57 10-Jan-2010  snj branches: 1.57.22; 1.57.36;
Remove ad clause on a UCB license.
 1.56 16-Dec-2009  pooka * support passing ident on the command line
* rename -i to -n since it's less confusing when coupled with the above
 1.55 16-Dec-2009  pooka Make it possible to leave out .note.netbsd.ident with command line flag -i.
 1.54 30-Mar-2009  perry Add a -r option that produces a version string without the time or kernel
build number in it. This will be used for reproducible builds.
 1.53 20-Feb-2009  yamt don't embed localized timestamps into kernels/bootblocks.
 1.52 17-Nov-2007  skrll branches: 1.52.18; 1.52.26; 1.52.32;
Deal with arm gas weirdness.
 1.51 16-Nov-2007  skrll Fix previous. Very sorry.
 1.50 16-Nov-2007  skrll Add a note section everywhere. There will be fallout from this, but it'll
be fixed pretty sharpish.

Discussed with and approved by martin. (martin told me to say this)
 1.49 21-Sep-2007  christos branches: 1.49.4; 1.49.6;
alpha can do notes.
 1.48 12-May-2007  christos branches: 1.48.6; 1.48.8;
amd64 kern.ldscript can handle notes now
 1.47 11-Dec-2006  martin branches: 1.47.2; 1.47.6; 1.47.8;
Note section for m68k
 1.46 05-Dec-2006  macallan Enable the .note.netbsd section for macppc
 1.45 05-Dec-2006  skrll Enable the .note.netbsd section for hppa.
 1.44 05-Dec-2006  martin Properly mark the .note.netbsd.ident section as ELF NOTE section.
While there, enable the mark for sparc64.
 1.43 02-Dec-2006  christos Enable NetBSD note on i386. Portmasters, please fix your ldscripts :-)
 1.42 11-Dec-2005  christos branches: 1.42.20; 1.42.22; 1.42.24; 1.42.26;
merge ktrace-lwp.
 1.41 23-Jun-2005  thorpej branches: 1.41.2;
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.40 13-Feb-2005  christos branches: 1.40.4;
Simplify the awk to print the copyright, by using printf instead of print.
 1.39 23-May-2004  christos branches: 1.39.4; 1.39.6;
put back the notyet around the note section; the bfd fix is non-trivial.
 1.38 22-May-2004  christos Enable notes section now that we added header space on the i386. Other
platforms might want to do the same.
 1.37 05-Jan-2004  lukem Store the copyright text in conf/copyright, and use conf/newvers.sh
to generate the appropriate const char copyright[] = "...";
statement instead of hard coding it into kern/init_main.c.
Idea from Simon Burge.
 1.36 15-Oct-2003  lukem Use a shell variable instead of a cpp #define to provide the full
version string; it's more consistent.
 1.35 14-Oct-2003  christos Check for file existance, not readability. Remove extra touch.
 1.34 14-Oct-2003  lukem assign the variables on separate lines; makes it easier to read and
easier to change one locally with minimal cvs merge issues
 1.33 14-Oct-2003  lukem clean up the method to initialize sccs[] and version[] to remove
unnecessary duplication in the source
 1.32 02-Mar-2003  christos branches: 1.32.2;
simplify the script, and add a disabled netbsd note for now.
 1.31 14-Jul-2000  thorpej Const'ify string constants.
 1.30 23-Jan-2000  hubertf branches: 1.30.4;
If config(8) left a "ident" file (from the "ident" command), set the
kernel id from the contents of that file.
 1.29 17-Feb-1999  itohy branches: 1.29.8;
Escape SCCS marker so as not to confuse what(1).
 1.28 02-Feb-1999  cjs Remove the sccs[] hack (which has broken twice now) and just make sccs[]
and version[] separate strings. (Other alternative hacks proposed may also
break in the future.) We don't make version a pointer into the sccs string,
because that would require changing programs that kvm_read() it, and break
backward compatability.
 1.27 10-May-1997  lukem Implement method to store release information in one location; it's
generated by `osrelease.sh`. If an argument of "-s" is given, print
the "short" form (e.g, "12E"), otherwise print the long (e.g, "1.2E").
Take advantage of this in newvers.sh.
 1.26 08-May-1997  mycroft Update to 1.2E.
 1.25 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.24 31-Jan-1997  thorpej Fairly major kernel change went in today; bump the version to 1.2C.
 1.23 25-Oct-1996  thorpej Bump NetBSD version to 1.2B (kernel interface changed)
 1.22 25-May-1996  jtc updated for 1.2A (post 1.2)
 1.21 17-Mar-1996  thorpej branches: 1.21.4;
Bump version to NetBSD 1.1B.
 1.20 05-Jan-1996  pk Pad `sccs[]' to make it 8 bytes long, to make it work on more architectures.
(PR#1690).
 1.19 12-Dec-1995  thorpej Change "OS release" to 1.1A.
 1.18 30-Nov-1995  jtc merge in changes from 1.1 release branch
 1.17 10-Jul-1994  cgd branches: 1.17.2;
the trunk now carries the revision 1.0A (i.e. the first revision after
1.0), because the release branch is 1.0, and when the trunk again becomes
-current, it's 1.0A.
 1.16 29-Jun-1994  cgd branches: 1.16.2;
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.15 27-Jun-1994  cgd new standard, minimally intrusive ID format
 1.14 08-Jun-1994  mycroft B --> C
 1.13 23-May-1994  cgd make release number contain only the release number, and appropriate fixups.
The previous behaviour was actually the result of some too-literal copying,
when bringing in the new newvers.sh from 4.4-Lite.
 1.12 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.11 18-Dec-1993  mycroft From magnum branch:
Intuit kernel ident from directory name, as config.new does not support `ident'
commands.
 1.10 26-Aug-1993  cgd branches: 1.10.2;
yup, that's right folks, we're now working on 0.9a...
 1.9 19-Jul-1993  cgd branches: 1.9.2;
kernvers="NetBSD 0.9"
 1.8 20-May-1993  cgd fixed rcsids and cleaned up headers
 1.7 28-Apr-1993  cgd version 0.8a -- gonna export some new kernels...
 1.6 27-Apr-1993  deraadt 386bsd 0.1 --> netbsd 0.8
 1.5 03-Apr-1993  cgd converted date in kernel version to standard date output format.
 1.4 03-Apr-1993  cgd added various things, to make kernel version info more useful
 1.3 23-Mar-1993  cgd fixed stupid extra space in kernel name
 1.2 23-Mar-1993  cgd added kernel ident to version string
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 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.9.2.2 19-Jul-1993  cgd kernvers="NetBSD 0.9"
 1.9.2.1 19-Jul-1993  cgd file newvers.sh was added on branch netbsd-0-9 on 1993-07-19 16:02:10 +0000
 1.10.2.2 11-Oct-1993  mycroft Change version to 0.9b.
 1.10.2.1 09-Oct-1993  mycroft Derive kernel ident from directory name.
 1.16.2.3 18-Oct-1994  cgd change a name.
 1.16.2.2 24-Jul-1994  cgd take two...
 1.16.2.1 10-Jul-1994  cgd note that we're 1.0, though alpha
 1.17.2.2 20-Nov-1995  jtc 1.1 ALPHA -> 1.1
 1.17.2.1 12-Oct-1995  jtc Update for NetBSD 1.1 Alpha
 1.21.4.4 04-Mar-1997  mycroft 1.2 -> 1.2.1
 1.21.4.3 10-Sep-1996  jtc Remove _BETA suffix
 1.21.4.2 25-Jun-1996  jtc updated for 1.2BETA
 1.21.4.1 25-May-1996  jtc updated for 1.2ALPHA
 1.29.8.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.30.4.1 14-Jul-2000  thorpej Pull up rev. 1.31:
Const'ify string constants.
 1.32.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.32.2.4 15-Feb-2005  skrll Sync with HEAD.
 1.32.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.32.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.32.2.1 03-Aug-2004  skrll Sync with HEAD
 1.39.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.39.4.1 29-Apr-2005  kent sync with -current
 1.40.4.2 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.40.4.1 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.41.2.4 07-Dec-2007  yamt sync with head
 1.41.2.3 27-Oct-2007  yamt sync with head.
 1.41.2.2 03-Sep-2007  yamt sync with head.
 1.41.2.1 30-Dec-2006  yamt sync with head.
 1.42.26.2 17-Nov-2007  skrll Add .note section to vers.o everywhere.
 1.42.26.1 14-Sep-2007  skrll Commmit some work in progress

- enable gdb6 on all architectures
- add support for amd64 crash dumps
- add support for /proc pid to executable filename for all archs
- enable thread support for all architectures (mips doesn't build)
- add a note section to kernels for the subset of platforms that have
this enabled in -current.
 1.42.24.1 16-Sep-2008  bouyer Sync with the following revisions (requested by skrll in ticket #1196):
gnu/dist/gdb removed
gnu/usr.bin/gdb53 removed
distrib/cats/instkernel/Makefile 1.14.6.1
gnu/dist/gdb6/bfd/config.bfd 1.3.6.1
gnu/dist/gdb6/bfd/elfxx-sparc.c 1.1.1.2.6.1
gnu/dist/gdb6/bfd/elfxx-sparc.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/Makefile.in 1.2.2.1.2.2
gnu/dist/gdb6/gdb/alpha-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alpha-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphabsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/alphabsd-nat.h 1.1.2.1
gnu/dist/gdb6/gdb/alphabsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphabsd-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphanbsd-nat.c 1.1.2.1
gnu/dist/gdb6/gdb/alphanbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64bsd-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64nbsd-nat.c 1.1.1.2.6.3
gnu/dist/gdb6/gdb/amd64nbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/arm-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/armbsd-tdep.c 1.1.2.1
gnu/dist/gdb6/gdb/armnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/armnbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/configure 1.1.1.2.6.1
gnu/dist/gdb6/gdb/configure.ac 1.1.1.2.6.1
gnu/dist/gdb6/gdb/i386bsd-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/i386nbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/m68kbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/mipsnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/nbsd-thread.c 1.1.2.3
gnu/dist/gdb6/gdb/ppcnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/ppcnbsd-tdep.c 1.3.6.1
gnu/dist/gdb6/gdb/sh-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/shnbsd-nat.c 1.1.1.2.6.3
gnu/dist/gdb6/gdb/shnbsd-tdep.c 1.1.1.2.6.4
gnu/dist/gdb6/gdb/shnbsd-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/sparc-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/sparc64nbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/sparcnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/tramp-frame.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/vaxbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/config/alpha/nbsd.mh 1.1.1.2.6.1
gnu/dist/gdb6/gdb/config/arm/nbsd.mt 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/arm/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/i386/nbsd64.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/m68k/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/mips/nbsd.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/powerpc/nbsd.mh 1.1.1.2.6.1
gnu/dist/gdb6/gdb/config/sh/nbsd.mh 1.1.1.1.6.2
gnu/dist/gdb6/gdb/config/sh/tm-nbsd.h 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/sparc/nbsd64.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/sparc/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/vax/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/opcodes/configure 1.1.1.2.6.1
gnu/dist/gdb6/opcodes/configure.in 1.1.1.2.6.1
gnu/usr.bin/Makefile 1.126.4.1
gnu/usr.bin/gdb6/arch/alpha/config.h 1.3.4.1
gnu/usr.bin/gdb6/arch/alpha/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/alpha/init.c 1.2.6.1
gnu/usr.bin/gdb6/arch/alpha/nm.h 1.2.6.1
gnu/usr.bin/gdb6/arch/arm/defs.mk 1.2.6.2
gnu/usr.bin/gdb6/arch/arm/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/defs.mk 1.1.6.3
gnu/usr.bin/gdb6/arch/armeb/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/i386/defs.mk 1.4.4.1
gnu/usr.bin/gdb6/arch/i386/init.c 1.3.6.1
gnu/usr.bin/gdb6/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/m68k/defs.mk 1.1.4.1
gnu/usr.bin/gdb6/arch/m68k/init.c 1.1.4.1
gnu/usr.bin/gdb6/arch/mipseb/config.h 1.3.4.1
gnu/usr.bin/gdb6/arch/mipseb/defs.mk 1.2.6.2
gnu/usr.bin/gdb6/arch/mipseb/init.c 1.2.6.2
gnu/usr.bin/gdb6/arch/mipsel/config.h 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/defs.mk 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/init.c 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/tm.h 1.2.6.2
gnu/usr.bin/gdb6/arch/mipsel/version.c 1.2.6.2
gnu/usr.bin/gdb6/arch/powerpc/defs.mk 1.3.6.1
gnu/usr.bin/gdb6/arch/powerpc/init.c 1.3.6.1
gnu/usr.bin/gdb6/arch/sh3eb/config.h 1.2.2.2
gnu/usr.bin/gdb6/arch/sh3eb/defs.mk 1.2.8.3
gnu/usr.bin/gdb6/arch/sh3eb/init.c 1.1.8.3
gnu/usr.bin/gdb6/arch/sh3eb/nm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3eb/tm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3eb/version.c 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/config.h 1.2.2.2
gnu/usr.bin/gdb6/arch/sh3el/defs.mk 1.2.8.3
gnu/usr.bin/gdb6/arch/sh3el/init.c 1.1.8.3
gnu/usr.bin/gdb6/arch/sh3el/nm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/tm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/version.c 1.1.8.2
gnu/usr.bin/gdb6/arch/sparc/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/sparc/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/sparc64/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/sparc64/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/x86_64/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/x86_64/init.c 1.1.6.1
gnu/usr.bin/gdb6/bfd/arch/armeb/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfd.h 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfdver.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3el/bfd.h 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3el/bfdver.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3el/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/vax/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/gdb/Makefile 1.5.2.1.2.2
gnu/usr.bin/gdb6/gdbtui/Makefile 1.2.6.1
gnu/usr.bin/gdb6/libiberty/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3eb/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3el/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/opcodes/arch/sh3eb/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/opcodes/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/opcodes/arch/sh3el/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/opcodes/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3eb/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3el/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/sim/arch/mipseb/cconfig.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipseb/config.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipseb/defs.mk 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/cconfig.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/config.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/defs.mk 1.1.2.1
lib/libkvm/kvm_sparc64.c 1.10.18.2
lib/libpthread/pthread.c 1.48.6.4
lib/libpthread/pthread_barrier.c 1.6.18.1
lib/libpthread/pthread_cond.c 1.18.12.2
lib/libpthread/pthread_debug.h 1.8.18.1
lib/libpthread/pthread_int.h 1.34.4.5
lib/libpthread/pthread_lock.c 1.14.6.1
lib/libpthread/pthread_mutex.c 1.22.4.2
lib/libpthread/pthread_run.c 1.18.12.4
lib/libpthread/pthread_rwlock.c 1.13.6.2
lib/libpthread/pthread_sa.c 1.37.6.5
lib/libpthread/pthread_sig.c 1.47.4.8
lib/libpthread/pthread_sleep.c 1.7.6.2
lib/libpthread/sem.c 1.9.6.2
lib/libpthread/arch/sh3/pthread_md.h 1.3.6.1
regress/lib/libpthread/resolv/Makefile 1.1.12.1
regress/lib/libpthread/sigrunning/Makefile 1.1.2.1
regress/lib/libpthread/sigrunning/sigrunning.c 1.1.2.1
share/mk/bsd.own.mk 1.489.4.3
sys/arch/amd64/amd64/locore.S 1.18.14.1
sys/arch/amd64/amd64/machdep.c 1.44.2.3.2.1
sys/arch/amd64/conf/kern.ldscript 1.1.70.1
sys/arch/cats/conf/Makefile.cats.inc 1.17.30.1
sys/arch/shark/conf/Makefile.shark.inc 1.6.30.1
sys/arch/sparc64/conf/kern.ldscript 1.7.26.2
sys/arch/sparc64/conf/kern32.ldscript 1.6.26.2
sys/arch/sparc64/include/kcore.h 1.4.92.2
sys/arch/sparc64/sparc64/locore.s 1.232.4.4
sys/arch/sparc64/sparc64/machdep.c 1.193.4.3
sys/arch/sparc64/sparc64/pmap.c 1.184.2.1.2.4
sys/conf/newvers.sh 1.42.26.2
sys/kern/kern_sa.c 1.87.4.11
sys/kern/kern_synch.c 1.173.4.2
sys/sys/savar.h 1.20.10.2
tools/gdb/Makefile 1.9.4.1
tools/gdb/mknative-gdb 1.1.6.1

pullup the wrstuden-fixsa CVS branch to netbsd-4:
toolchain/35540 - GDB 6 support for pthreads.
port-sparc64/37534 - ktrace firefox gives
kernel trap 30: data access expection
GDB changes:
- delete gdb53
- enable gdb6 on all architectures
- add support for amd64 crash dumps
- add support for sparc64 crash dumps
- add support for /proc pid to executable filename for all archs
- enable thread support for all architectures
- add a note section to kernels to all platforms
- support detection/unwinding of signals for most architectures.
- Fix PTHREAD_UCONTEXT_TO_REG / PTHREAD_REG_TO_UCONTEXT on sh3.
- Apply fix from binutils-current so that sparc gdb can be cross built
on a 64bit host.
SA/pthread changes:
Pre-allocate memory needed for event delivery. Eliminates dropped
interrupts under load.
Deliver intra-process signals to running threads
Eliminate some deadlock scenarios
Fix intra-process signal delivery when delivering to a thread waiting
for signals. Makes afs work again!
 1.42.22.2 18-Dec-2006  yamt sync with head.
 1.42.22.1 10-Dec-2006  yamt sync with head.
 1.42.20.1 12-Jan-2007  ad Sync with head.
 1.47.8.1 11-Jul-2007  mjf Sync with head.
 1.47.6.2 09-Oct-2007  ad Sync with head.
 1.47.6.1 08-Jun-2007  ad Sync with head.
 1.47.2.1 17-May-2007  yamt sync with head.
 1.48.8.2 09-Jan-2008  matt sync with HEAD
 1.48.8.1 06-Nov-2007  matt sync with HEAD
 1.48.6.2 21-Nov-2007  joerg Sync with HEAD.
 1.48.6.1 02-Oct-2007  joerg Sync with HEAD.
 1.49.6.1 19-Nov-2007  mjf Sync with HEAD.
 1.49.4.1 18-Nov-2007  bouyer Sync with HEAD
 1.52.32.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.52.26.2 28-Apr-2009  skrll Sync with HEAD.
 1.52.26.1 03-Mar-2009  skrll Sync with HEAD.
 1.52.18.2 11-Mar-2010  yamt sync with head
 1.52.18.1 04-May-2009  yamt sync with head.
 1.57.36.1 10-Aug-2014  tls Rebase.
 1.57.22.2 03-Dec-2017  jdolecek update from HEAD
 1.57.22.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.61.12.1 21-Apr-2017  bouyer Sync with HEAD
 1.61.8.1 26-Apr-2017  pgoyette Sync with HEAD
 1.61.4.1 28-Aug-2017  skrll Sync with HEAD
 1.62.44.1 12-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #953):

sys/conf/newvers_stand.sh: revision 1.10
sys/conf/newvers.mk: revision 1.3
sys/conf/newvers.mk: revision 1.4
sys/conf/newvers.sh: revision 1.63
sys/conf/newvers.sh: revision 1.64
sys/conf/newvers_stand.mk: revision 1.5

Use ${TOOL_DATE} (Jan-Benedict Glaw)
PR/58220: Kouichi Hashikawa: use ${TOOL_AWK}
 1.62.18.1 12-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1899):

sys/conf/newvers.mk: revision 1.4 (patch)
sys/conf/newvers.sh: revision 1.64 (patch)

PR/58220: Kouichi Hashikawa: use ${TOOL_AWK}
 1.6 17-Oct-2024  christos Add TOOL_AWK
 1.5 05-Apr-2024  christos branches: 1.5.2;
Use ${TOOL_DATE} (Jan-Benedict Glaw)
 1.4 21-May-2021  nakayama branches: 1.4.12;
Fix previous to use the proper version file path.
 1.3 17-May-2021  nakayama Make vers.c depend on ${_NETBSD_VERSION_DEPENDS}.
 1.2 09-Apr-2017  christos branches: 1.2.4; 1.2.6; 1.2.14; 1.2.18; 1.2.38; 1.2.40;
Fix typo
 1.1 08-Apr-2017  christos Add makefile snippet for vers.c building.
 1.2.40.1 31-May-2021  cjep sync with head
 1.2.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.2.18.2 03-Dec-2017  jdolecek update from HEAD
 1.2.18.1 09-Apr-2017  jdolecek file newvers_stand.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.2.14.2 28-Aug-2017  skrll Sync with HEAD
 1.2.14.1 09-Apr-2017  skrll file newvers_stand.mk was added on branch nick-nhusb on 2017-08-28 17:52:00 +0000
 1.2.6.2 26-Apr-2017  pgoyette Sync with HEAD
 1.2.6.1 09-Apr-2017  pgoyette file newvers_stand.mk was added on branch pgoyette-localcount on 2017-04-26 02:53:10 +0000
 1.2.4.2 21-Apr-2017  bouyer Sync with HEAD
 1.2.4.1 09-Apr-2017  bouyer file newvers_stand.mk was added on branch bouyer-socketcan on 2017-04-21 16:53:44 +0000
 1.4.12.2 18-Nov-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1009):

sys/conf/newvers_stand.mk: revision 1.6

Add TOOL_AWK
 1.4.12.1 12-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #953):

sys/conf/newvers_stand.sh: revision 1.10
sys/conf/newvers.mk: revision 1.3
sys/conf/newvers.mk: revision 1.4
sys/conf/newvers.sh: revision 1.63
sys/conf/newvers.sh: revision 1.64
sys/conf/newvers_stand.mk: revision 1.5

Use ${TOOL_DATE} (Jan-Benedict Glaw)
PR/58220: Kouichi Hashikawa: use ${TOOL_AWK}
 1.5.2.1 02-Aug-2025  perseant Sync with HEAD
 1.11 14-Oct-2024  christos use TOOL_AWK and quote.
 1.10 02-Apr-2024  christos branches: 1.10.2;
Use ${TOOL_DATE} (Jan-Benedict Glaw)
 1.9 08-Apr-2017  christos branches: 1.9.44;
Add makefile snippet for vers.c building.
 1.8 22-Jan-2011  joerg branches: 1.8.14; 1.8.32; 1.8.36; 1.8.40;
Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.7 20-Feb-2009  yamt branches: 1.7.4; 1.7.6; 1.7.8;
don't embed localized timestamps into kernels/bootblocks.
 1.6 15-Jul-2008  perry branches: 1.6.2; 1.6.8;
Add the kernel revision to vers.c, as in:

const char bootprog_kernrev[] = "4.99.70";

For now, we still also include the builder name and date and such, so
that we don't break anything, but those are (probably) on the way out.

Part of the "bit-identical sources yield bit-identical release files"
project.
 1.5 30-Apr-2008  martin branches: 1.5.2; 1.5.4; 1.5.6;
Convert TNF licenses to new 2 clause variant
 1.4 23-Aug-2000  mrg branches: 1.4.2; 1.4.124; 1.4.126; 1.4.128;
replace a head | tail | sed sequence with a single link awk invocation,
that also finds versions outside the range [0-9].[0-9] (eg, 10.10).
 1.3 13-Jul-2000  jdolecek add couple of flags which can be used to avoid generating some of the
information.
Put standard TNF copyright in, since this file no longer uses the old code.
 1.2 12-Jul-2000  jdolecek make bootprog_* const (pointed by Simon Burge)
 1.1 12-Jul-2000  jdolecek new MI bootblock versioning helper for generating vers.c,
intended to replace all the various port's stand/*/newvers.sh scripts
architectures will be switched to this gradually as tested
 1.4.128.2 04-May-2009  yamt sync with head.
 1.4.128.1 16-May-2008  yamt sync with head.
 1.4.126.1 18-May-2008  yamt sync with head.
 1.4.124.2 28-Sep-2008  mjf Sync with HEAD.
 1.4.124.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.4.2.1 23-Aug-2000  bouyer file newvers_stand.sh was added on branch thorpej_scsipi on 2000-11-20 18:08:45 +0000
 1.5.6.1 19-Oct-2008  haad Sync with HEAD.
 1.5.4.1 18-Jul-2008  simonb Sync with head.
 1.5.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.6.8.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.6.2.1 03-Mar-2009  skrll Sync with HEAD.
 1.7.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.7.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.4.1 05-Mar-2011  rmind sync with head
 1.8.40.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.36.1 26-Apr-2017  pgoyette Sync with HEAD
 1.8.32.1 28-Aug-2017  skrll Sync with HEAD
 1.8.14.1 03-Dec-2017  jdolecek update from HEAD
 1.9.44.2 15-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #984):

sys/conf/newvers_stand.sh: revision 1.11

use TOOL_AWK and quote.
 1.9.44.1 12-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #953):

sys/conf/newvers_stand.sh: revision 1.10
sys/conf/newvers.mk: revision 1.3
sys/conf/newvers.mk: revision 1.4
sys/conf/newvers.sh: revision 1.63
sys/conf/newvers.sh: revision 1.64
sys/conf/newvers_stand.mk: revision 1.5

Use ${TOOL_DATE} (Jan-Benedict Glaw)
PR/58220: Kouichi Hashikawa: use ${TOOL_AWK}
 1.10.2.1 02-Aug-2025  perseant Sync with HEAD
 1.3 09-Jul-1993  mycroft Clean up deleted files.
 1.2 20-May-1993  cgd fixed rcsids and cleaned up headers
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 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.122 16-Feb-2012  christos Add new -k (for kernel modules) flag to return MM.99.pp for current and MM.mm
for the release branch.
 1.121 16-Feb-2012  christos Don't eat _BETA. I am sure dsl will come up with something more elegant.
 1.120 15-Nov-2009  dsl branches: 1.120.12; 1.120.16; 1.120.18;
Fix borkeage
 1.119 15-Nov-2009  dsl Get patch part of version from comment.
 1.118 15-Nov-2009  dsl Use shell builtins instead of awk and sed.
Avoids problems with awk processing floating point numbers when LC_NUMERIC
give a decimal point of ','.
Fixes PR/42321
 1.117 29-Oct-2009  apb Describe new -n option in a comment; improve description of -m option.
 1.116 26-Oct-2009  joerg Add -n option to print major and minor version, e.g. 5.99 on -current.
 1.115 05-Aug-2008  apb branches: 1.115.4; 1.115.10; 1.115.14;
Use ${TOOL_SED}, which is defined by bsd.own.mk/bsd.sys.mk,
instead of just ${SED}. (Don't do the same for ${AWK},
because that's not yet a host tool.)
 1.114 04-Aug-2008  perry Per request from Matt Thomas, make -m on -current print the major
number of the next release.
 1.113 04-Aug-2008  perry 1) replace use of sed with $SED
2) get rid of grep variable -- grep isn't used here
3) add a -m option that prints the release major number (like "4")
4) add a comment documenting the options
 1.112 30-Apr-2008  martin branches: 1.112.2; 1.112.6;
Convert TNF licenses to new 2 clause variant
 1.111 08-Aug-2006  riz branches: 1.111.52; 1.111.54; 1.111.56;
Back out revision 1.109 - it's NOT silly to parse the comment when
there's important information there. Like, say, a _BETA extension.
 1.110 11-Dec-2005  christos branches: 1.110.4; 1.110.8; 1.110.18;
merge ktrace-lwp.
 1.109 27-Mar-2005  christos branches: 1.109.2;
It is silly to parse the comment in the header file to determine the
version number, when it is trivial to compute it directly. Also if
you are going to fork awk to do some work, do all of it there.
 1.108 14-Sep-2004  simonb branches: 1.108.4;
Remove the remains of an old comment that doesn't apply any more.
 1.107 04-Oct-2003  jdolecek get the release version from <sys/param.h>, so that it won't be necessary
to change two places on version bump
 1.106 16-Sep-2003  christos Welcome to 1.6ZC
- hope this sticks for a while since it is my initials
- cl, here is your chance to commit the SA pagefault stuff.
 1.105 14-Sep-2003  christos ZA -> ZB
 1.104 13-Sep-2003  jdolecek Bump version to 1.6ZA - struct proc and struct lwp changes
Deja vu ...
 1.103 06-Sep-2003  christos welcome to 1.6Z
 1.102 04-Sep-2003  itojun welcome to 1.6Y (for inpcb/in6pcb change)
 1.101 25-Aug-2003  cb bump kernel version to 1.6X for systrace changes
 1.100 01-Aug-2003  yamt bump kernel version to 1.6W, because of vnode/namecache changes.
(skip 1.6V to avoid confusion.)

pointed by Love.
 1.99 29-Jun-2003  fvdl branches: 1.99.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.98 28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.97 15-Jun-2003  fvdl Bump version to 1.6U, because of PCI attach args changes.
 1.96 10-May-2003  thorpej Bump version to 1.6T:

Back out the following chagne:
http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html

There were some side-effects that I didn't anticipate, and fixing them
is proving to be more difficult than I thought, do just eject for now.
Maybe one day we can look at this again.

Fixes PR kern/21517.
 1.95 08-May-2003  thorpej Simplify the way the bounds of the managed kernel virtual address
space is advertised to UVM by making virtual_avail and virtual_end
first-class exported variables by UVM. Machine-dependent code is
responsible for initializing them before main() is called. Anything
that steals KVA must adjust these variables accordingly.

This reduces the number of instances of this info from 3 to 1, and
simplifies the pmap(9) interface by removing the pmap_virtual_space()
function call, and removing two arguments from pmap_steal_memory().

This also eliminates some kludges such as having to burn kernel_map
entries on space used by the kernel and stolen KVA.

This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code,
this giving MD code greater flexibility over the bounds of the managed
kernel virtual address space if a given port's specific platforms can
vary in this regard (this is especially true of the evb* ports).
 1.94 09-Apr-2003  thorpej Bump to 1.6R -- mbuf and pool changes.
 1.93 19-Mar-2003  dsl Bump version to 1.6Q - for struct proc and struct pgrp change
 1.92 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.91 17-Feb-2003  perseant Add code to UBCify LFS. This is still behind "#ifdef LFS_UBC" for now
(there are still some details to work out) but expect that to go
away soon. To support these basic changes (creation of lfs_putpages,
lfs_gop_write, mods to lfs_balloc) several other changes were made, to
wit:

* Create a writer daemon kernel thread whose purpose is to handle page
writes for the pagedaemon, but which also takes over some of the
functions of lfs_check(). This thread is started the first time an
LFS is mounted.

* Add a "flags" parameter to GOP_SIZE. Current values are
GOP_SIZE_READ, meaning that the call should return the size of the
in-core version of the file, and GOP_SIZE_WRITE, meaning that it
should return the on-disk size. One of GOP_SIZE_READ or
GOP_SIZE_WRITE must be specified.

* Instead of using malloc(...M_WAITOK) for everything, reserve enough
resources to get by and use malloc(...M_NOWAIT), using the reserves if
necessary. Use the pool subsystem for structures small enough that
this is feasible. This also obsoletes LFS_THROTTLE.

And a few that are not strictly necessary:

* Moves the LFS inode extensions off onto a separately allocated
structure; getting closer to LFS as an LKM. "Welcome to 1.6O."

* Unified GOP_ALLOC between FFS and LFS.

* Update LFS copyright headers to correct values.

* Actually cast to unsigned in lfs_shellsort, like the comment says.

* Keep track of which segments were empty before the previous
checkpoint; any segments that pass two checkpoints both dirty and
empty can be summarily cleaned. Do this. Right now lfs_segclean
still works, but this should be turned into an effectless
compatibility syscall.
 1.90 01-Feb-2003  thorpej Bump version to 1.6N; extensible malloc types.
 1.89 18-Jan-2003  thorpej Bump kernel version to 1.6M -- nathanw_sa branch merge. (M for
multi-lwp processes? :-)
 1.88 03-Jan-2003  thorpej Bump rev to 1.6L ... new autoconfiguration message printing routines.
 1.87 01-Nov-2002  mrg disk_unbusy() change -> NetBSD 1.6K.
 1.86 23-Oct-2002  jdolecek bump version to 1.6J - kqueue branch merge
 1.85 26-Sep-2002  thorpej Bump version to 1.6I -- device parent spec change.
 1.84 06-Sep-2002  gehenna Bump version for the merge of gehenna-devsw.
 1.83 28-Aug-2002  gmcgarry Bump version for rasctl syscall.
 1.82 07-Aug-2002  briggs Bump to 1.6F for PMCs (thanks for the reminder, Jason)
 1.81 25-Jul-2002  jdolecek bump to 1.6E - struct proc size change on LP64 platforms
 1.80 06-Jul-2002  perseant Changed size of struct inode; bump version to 1.6D.
 1.79 03-Jul-2002  thorpej Bump the OS version to 1.6C: socket buffer structure changed.
 1.78 03-Jul-2002  lukem add reminder to check share/tmac/doc-common as well
 1.77 16-Jun-2002  perseant Bump version to 1.6B: changed ITIMES.
 1.76 22-May-2002  tv 1.6 has branched. Welcome to "NetBSD 1.6A".
 1.75 17-Mar-2002  atatat branches: 1.75.4; 1.75.6;
Bump kernel version -- ERESTART has been moved and EPASSTHROUGH has
been introduced.
 1.74 09-Mar-2002  thorpej Bump version to 1.5ZB -- The pool(9) API/ABI changed.
 1.73 18-Dec-2001  jdolecek Bump version to 1.5ZA - struct file change
Only three version bumps left to beat previous release :)
 1.72 29-Nov-2001  christos welcome to 1.5Z [struct ucred changes]
 1.71 15-Sep-2001  chs bump to 1.5Y: vfs_reinit, massive UVM/UBC/filesystem changes.
 1.70 24-Jul-2001  assar branches: 1.70.2;
update to 1.5X: removed WILLRELE from vop_mknod and vop_symlink
 1.69 03-Jun-2001  thorpej branches: 1.69.2;
1.5W -- hardware IPv4/TCP/UDP checksumming support.
 1.68 02-May-2001  scw Bump kernel version number due to `struct linesw' change.
 1.67 07-Apr-2001  jdolecek bump kernel version - struct fileops change
 1.66 21-Mar-2001  thorpej 1.5T -- PR_ABRTACPTDIS in protosw.
 1.65 14-Feb-2001  eeh branches: 1.65.2;
Support flexible process address space limits and bump kernel version number.
 1.64 27-Jan-2001  thorpej 1.5R -- sy_flags added to struct sysent.
 1.63 28-Dec-2000  sommerfeld Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
 1.62 22-Dec-2000  jdolecek bump kernel version to 1.5P - struct proc, struct sigacts changes
 1.61 18-Dec-2000  thorpej Bump rev -- size of ifnet changed.
 1.60 10-Dec-2000  fvdl sobind() interface change -> 1.5N
 1.59 08-Dec-2000  jdolecek bump kernel version to 1.5M - changes to make emulation & their binary exec
format support loadable via LKM
 1.58 27-Nov-2000  chs 1.5L - UBC!
 1.57 11-Nov-2000  thorpej Bumk to 1.5K -- pfil changes.
 1.56 08-Nov-2000  ad 1.5J: hashinit() change, addition of p_emuldata to `struct proc'.
 1.55 02-Nov-2000  eeh Bump the kernel version cause we changed the line disciplines interface.
 1.54 11-Oct-2000  thorpej NetBSD 1.5H: struct ifnet changed.
 1.53 28-Sep-2000  eeh Add support for variable end of user stacks needed to support COMPAT_NETBSD32:

`struct vmspace' has a new field `vm_minsaddr' which is the user TOS.

PS_STRINGS is deprecated in favor of curproc->p_pstr which is derived
from `vm_minsaddr'.

Bump the kernel version number.
 1.52 19-Sep-2000  fvdl VOP_FSYNC interface change -> 1.5F
 1.51 09-Aug-2000  tv Remove the "kprintf" gcc attribute permanently. Use standard "printf"
format checking. We are now at 1.5E, as the removal of %b will cause
third-party LKMs to break.
 1.50 03-Aug-2000  thorpej 1.5D == namei pathname buffer allocation is pool'ified.
 1.49 22-Jul-2000  jdolecek bump to 1.5C - lf_advlock() change
 1.48 30-Jun-2000  veego We are now at 1.5B because of the removal of <vm/*>.
 1.47 20-Jun-2000  fvdl Bump to 1.5A
 1.46 12-Jun-2000  veego branches: 1.46.2;
Bump to 1.4ZD after IP Filter was updated to 3.4.6.
 1.45 11-Jun-2000  assar bump version to 1.4ZC (changed vfs_getnewfsid)
 1.44 08-Jun-2000  thorpej 1.4ZB -- ltsleep().
 1.43 04-Jun-2000  cgd This is the dawning of the age of Aquarius ... o/~ (evcnt bumps us to 1.4ZA)
 1.42 26-May-2000  thorpej branches: 1.42.2;
We made it to 1.4Z, woo! My scheduler hacking, Simon's sysctl proc
stuff.
 1.41 05-May-2000  hubertf Add comment pointing to __NetBSD_Version__ in sys/sys/param.h, which
needs updating too if the OS release is bumped.
 1.40 04-May-2000  ragge Bump revision letter due to recent struct rtentry changes. Still one to go :-)
 1.39 26-Mar-2000  kleink 1.4X -- vnode storage layout and UVM map/page/pager ops interface changes.
 1.38 23-Mar-2000  thorpej 1.4W -- new callout code. Almost there!
 1.37 16-Mar-2000  jdolecek Bump kernel version to 1.4V - VFS op vfs_done added
 1.36 01-Mar-2000  itojun increase kernel version to 1.4U (5 more to 1.4Z!)
 1.35 17-Feb-2000  darrenr bump __NetBSD_Version__ due to change in protosw for pfil
 1.34 07-Feb-2000  thorpej Bump version to 1.4S -- b_rawblkno.
 1.33 01-Feb-2000  thorpej Bump version to 1.4R -- PRU_PURGEADDR, and slightly more stringent semantics
on ifaddr reference counting.
 1.32 21-Jan-2000  thorpej NetBSD 1.4Q -- buffer queue changes.
 1.31 19-Nov-1999  bouyer kernel interface changed, bup version number (what will come after
1.4Z ? :)
 1.30 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.29 13-Nov-1999  thorpej Hello 1.4N! (pmap_enter() API change)
 1.28 26-Oct-1999  wrstuden Up the size of the ifa_flags and ifa_refcnt from shorts to ints. Now will
deal correctly with more than 32767 routes out an interface.

Should close PR 7148 regarding problems when ifs_refcnt overflows.

Bump kernel version from 1.4L to 1.4M.
 1.27 10-Oct-1999  mrg branches: 1.27.2; 1.27.4;
bump to 1.4L -- struct vnode changed.
 1.26 18-Aug-1999  wrstuden branches: 1.26.2;
Modify VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE so that they don't
overlap with VDESC_VP0_WILLUNLOCK and VDESC_VP1_WILLUNLOCK. This bug
was inherited from an old 4.4BSD import in 1994.
 1.25 05-Aug-1999  thorpej Bump version to 1.4J -- semantics of splsoftclock() changed.
 1.24 27-Jul-1999  thorpej 1.4I - simplelock changed
 1.23 25-Jul-1999  thorpej 1.4H -- struct lock changed.
 1.22 15-Jul-1999  wrstuden We're now at 1.4G due to changes in vnode flags.
 1.21 08-Jul-1999  thorpej NetBSD 1.4F; pmap_extract() API changed.
 1.20 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.19 16-Jun-1999  thorpej 1.4D -- semantics of uvm_map_pageable() changed.
 1.18 19-May-1999  thorpej Bump version; (*if_input)() changes.
 1.17 05-May-1999  thorpej NetBSD 1.4B.
 1.16 02-Apr-1999  perry Update trunk to NetBSD 1.4A
 1.15 02-Mar-1999  sommerfe branches: 1.15.2;
Welcome to 1.3K (due to the lock.h change)
 1.14 26-Feb-1999  wrstuden Bump version to 1.3J to reflect changes to vfsops and VOP_CLOSE locking.
 1.13 17-Nov-1998  thorpej Bump version to 1.3I (config_detach(), config_{,de}activate()).
 1.12 01-Sep-1998  thorpej Bump version to 1.3H. Several things, including some items that can
be built as LKMs, are now supposed to use the pool allocator to allocate
certain data structures.
 1.11 02-Aug-1998  nathanw Bump version to 1.3G:
- mbuf interface change from poolification (removal of m_clalloc).
- vnode IO_SYNC/IO_DSYNC interface change.
 1.10 05-Jun-1998  kleink 1.3E -> 1.3F: fsync vnode operator interface changed.
 1.9 01-Mar-1998  fvdl 1.3D -> 1.3E because of Lite2 import (was already done in sys/param.h,
forgot this one)
 1.8 18-Feb-1998  thorpej Major kernel interface change (vfsops/vfs_attach()/vfs_detach()); bump
version to 1.3D.
 1.7 04-Feb-1998  thorpej Kernel interface changed: bump to 1.3C.
 1.6 12-Jan-1998  thorpej Significant kernel interface change: bump to 1.3B.
 1.5 21-Oct-1997  perry The head is now NetBSD 1.3A -- update appropriately
 1.4 09-Oct-1997  jtc branches: 1.4.2;
Fix tipo inherited from old version of TNF copyright template.
 1.3 12-Jun-1997  mrg branches: 1.3.4;
we are now 1.2G.
 1.2 07-Jun-1997  thorpej Bump version to NetBSD 1.2F.
 1.1 10-May-1997  lukem Implement method to store release information in one location; it's
generated by `osrelease.sh`. If an argument of "-s" is given, print
the "short" form (e.g, "12E"), otherwise print the long (e.g, "1.2E").
Take advantage of this in newvers.sh.
 1.3.4.1 14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.4.2.7 05-Dec-1998  cgd update versions to 1.3.3. (Not quite done yet, but pretty close.)
 1.4.2.6 10-May-1998  mycroft It's now 1.3.2. Whee!
 1.4.2.5 08-Feb-1998  mellon 1.3p1 -> 1.3.1 at Jason's request.
 1.4.2.4 08-Feb-1998  mellon Upgrade version number to 1.3p1
 1.4.2.3 30-Dec-1997  perry 1.3_BETA -> 1.3 -- at last!
 1.4.2.2 28-Nov-1997  perry 1.3_ALPHA -> 1.3_BETA
 1.4.2.1 21-Oct-1997  perry The branch is now NetBSD 1.3_ALPHA -- update appropriately
 1.15.2.12 13-Dec-2000  he Apply patch (requested by he):
Bump visible version number to 1.4.3A, to indicate that we're
no longer exactly at 1.4.3.
 1.15.2.11 20-Sep-2000  he Apply patch (requested by he):
Mark this as 1.4.3.
 1.15.2.10 01-Jul-2000  he Apply patch (requested by he):
Bump version to NetBSD-1.4.3_ALPHA.
 1.15.2.9 30-Apr-2000  he Revert last pull-up/patch.
Change which caused incompatible bump done so that ``struct proc''
doesn't change size.
 1.15.2.8 30-Apr-2000  he Apply patch (requested by he):
Bump version number to 1.4.2B due to modified struct proc.
 1.15.2.7 29-Mar-2000  he Apply patch (requested by he):
Bump visible version number to 1.4.2A, to indicate that we're
no longer exactly at 1.4.2.
 1.15.2.6 24-Feb-2000  he Apply patch (requested by he):
Declare that we're now at NetBSD 1.4.2.
 1.15.2.5 20-Dec-1999  he Declare NetBSD 1.4.2_ALPHA.
 1.15.2.4 14-Jul-1999  perry update version to 1.4.1
 1.15.2.3 06-May-1999  perry branches: 1.15.2.3.2; 1.15.2.3.4;
1.4_BETA->1.4
 1.15.2.2 19-Apr-1999  perry 1.4_BETA
 1.15.2.1 02-Apr-1999  perry Update to 1.4_ALPHA
 1.15.2.3.4.1 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.15.2.3.2.2 02-Aug-1999  thorpej Update from trunk.
 1.15.2.3.2.1 21-Jun-1999  thorpej Sync w/ -current.
 1.26.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.27.4.1 15-Nov-1999  fvdl Sync with -current
 1.27.2.9 21-Apr-2001  bouyer Sync with HEAD
 1.27.2.8 27-Mar-2001  bouyer Sync with HEAD.
 1.27.2.7 12-Mar-2001  bouyer Sync with HEAD.
 1.27.2.6 11-Feb-2001  bouyer Sync with HEAD.
 1.27.2.5 05-Jan-2001  bouyer Sync with HEAD
 1.27.2.4 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.27.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.27.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.27.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.42.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.46.2.17 01-Aug-2002  he Apply patch (requested by he):
Mark this with 1.5.4_ALPHA.

This starts the cycle towards 1.5.4.
 1.46.2.16 12-Jun-2002  he Apply patch (requested by he):
Mark this as NetBSD 1.5.3.
 1.46.2.15 26-Apr-2002  he Apply patch (requested by he):
Backpedal to 1.5.3_RC2; too much churn on the branch.
 1.46.2.14 03-Apr-2002  he Apply patch (requested by he):
Mark this as NetBSD 1.5.3.
 1.46.2.13 11-Mar-2002  he Apply patch (requested by he):
Mark what we have now as ``Release Candidate 1'' (1.5.3_RC1).
 1.46.2.12 30-Sep-2001  he Apply patch (requested by he):
Mark this with 1.5.3_ALPHA.
 1.46.2.11 17-Aug-2001  tv Welcome to NetBSD 1.5.2.
 1.46.2.10 29-Jul-2001  jhawk Pull up via patch (requested by jhawk):
Mark this as 1.5.2_ALPHA
 1.46.2.9 11-Jun-2001  he Apply patch (requested by he):
Mark this as NetBSD 1.5.1.
 1.46.2.8 09-May-2001  he Apply patch (requested by he):
We are now at NetBSD 1.5.1_BETA2.
 1.46.2.7 06-Apr-2001  he Apply patch (requested by he):
Bump version information to 1.5.1_BETA.
 1.46.2.6 18-Nov-2000  tv Post-1.5 tag, the release is now 1.5.1_ALPHA.
 1.46.2.5 16-Nov-2000  tv Welcome to NetBSD 1.5.
 1.46.2.4 05-Nov-2000  tv No, it's not quite 1.5 yet. Welcome to 1.5_BETA2.
 1.46.2.3 20-Oct-2000  tv Welcome to 1.5_BETA, at long last.
 1.46.2.2 12-Aug-2000  jhawk Bump to 1.5_ALPHA2; this is a little late [oops]
 1.46.2.1 20-Jun-2000  fvdl Set release to 1.5_ALPHA
 1.65.2.13 03-Jan-2003  thorpej Sync with HEAD.
 1.65.2.12 11-Nov-2002  nathanw Catch up to -current
 1.65.2.11 18-Oct-2002  nathanw Catch up to -current.
 1.65.2.10 17-Sep-2002  nathanw Catch up to -current.
 1.65.2.9 13-Aug-2002  nathanw Catch up to -current.
 1.65.2.8 01-Aug-2002  nathanw Catch up to -current.
 1.65.2.7 20-Jun-2002  nathanw Catch up to -current.
 1.65.2.6 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.65.2.5 08-Jan-2002  nathanw Catch up to -current.
 1.65.2.4 21-Sep-2001  nathanw Catch up to -current.
 1.65.2.3 24-Aug-2001  nathanw Catch up with -current.
 1.65.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.65.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.69.2.6 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.69.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.69.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.69.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.69.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.69.2.1 03-Aug-2001  lukem update to -current
 1.70.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.75.6.22 02-Mar-2004  jmc Welcome to 1.6.2_STABLE
 1.75.6.21 30-Jan-2004  he Mark the tree as being 1.6.2.
The netbsd-1-6-PATCH002 and netbsd-1-6-PATCH002-RELEASE tags will be
moved to correspond for these three files momentarily.
 1.75.6.20 08-Jan-2004  jmc Welcome to RC4
 1.75.6.19 26-Nov-2003  jmc Welcome to 1.6.2_RC3
 1.75.6.18 14-Nov-2003  jmc Update to 1.6.2_RC2
 1.75.6.17 27-Oct-2003  jmc Update to 1.6.2_RC1
 1.75.6.16 22-Apr-2003  jmc Welcome to 1.6.1_STABLE
 1.75.6.15 01-Apr-2003  jmc Update for 1.6.1_RELEASE
 1.75.6.14 25-Mar-2003  jmc Update to 1.6.1_RC3 (oops forgot to do this before tagging)
 1.75.6.13 15-Feb-2003  jmc Update to 1.6.1_RC2
 1.75.6.12 28-Jan-2003  jmc Update to 1.6.1_RC1
 1.75.6.11 30-Sep-2002  lukem Change the version of the netbsd-1-6 branch from "1.6" to "1.6_STABLE".
(We won't change this to "1.6.1_BETA1" until we start the 1.6.1 release cycle.)
 1.75.6.10 07-Sep-2002  lukem 1.6
 1.75.6.9 01-Sep-2002  lukem now at RC3. branch is locked down, ready for release.
 1.75.6.8 27-Aug-2002  lukem Welcome to NetBSD 1.6_RC2
 1.75.6.7 11-Aug-2002  lukem We're now at NetBSD 1.6_RC1
 1.75.6.6 29-Jul-2002  lukem move to 1.6_BETA5
 1.75.6.5 03-Jul-2002  lukem Pull up revision 1.78 (requested by lukem in a private thought):
add reminder to check share/tmac/doc-common as well
 1.75.6.4 28-Jun-2002  perry We're now BETA4.
 1.75.6.3 21-Jun-2002  lukem We're now at 1.6_BETA3.
 1.75.6.2 10-Jun-2002  tv We are now (a few days late, but still on track) at 1.6_BETA2.
 1.75.6.1 22-May-2002  tv Initialize the branch; welcome to "NetBSD 1.6_BETA1".
 1.75.4.4 29-Aug-2002  gehenna catch up with -current.
 1.75.4.3 15-Jul-2002  gehenna catch up with -current.
 1.75.4.2 20-Jun-2002  gehenna catch up with -current.
 1.75.4.1 30-May-2002  gehenna Catch up with -current.
 1.99.2.4 01-Apr-2005  skrll Sync with HEAD.
 1.99.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.99.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.99.2.1 03-Aug-2004  skrll Sync with HEAD
 1.108.4.1 29-Apr-2005  kent sync with -current
 1.109.2.1 30-Dec-2006  yamt sync with head.
 1.110.18.1 08-Aug-2006  riz Back out revision 1.109 - it's NOT silly to parse the comment when
there's important information there. Like, say, a _BETA extension.
 1.110.8.1 11-Aug-2006  yamt sync with head
 1.110.4.1 09-Sep-2006  rpaulo sync with head
 1.111.56.3 11-Mar-2010  yamt sync with head
 1.111.56.2 04-May-2009  yamt sync with head.
 1.111.56.1 16-May-2008  yamt sync with head.
 1.111.54.1 18-May-2008  yamt sync with head.
 1.111.52.2 28-Sep-2008  mjf Sync with HEAD.
 1.111.52.1 02-Jun-2008  mjf Sync with HEAD.
 1.112.6.1 19-Oct-2008  haad Sync with HEAD.
 1.112.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.115.14.2 03-Nov-2011  riz Back out ticket #1681 - needs to be rethought, was causing build failures.
 1.115.14.1 02-Nov-2011  riz Pull up following revision(s) (requested by jmcneill in ticket #1681):
distrib/sets/sets.subr: revision 1.133
sys/conf/osrelease.sh: revision 1.116
sys/conf/osrelease.sh: revision 1.117
try to match sys/kern/kern_module.c module path logic: for release branches,
use X.Y version (instead of eg. X.Y.0_PATCH or X.Y_STABLE) and for -current use
X.Y.Z.
ok zafer@
Add -n option to print major and minor version, e.g. 5.99 on -current.
Describe new -n option in a comment; improve description of -m option.
 1.115.10.2 03-Nov-2011  riz Back out ticket #1681 - needs to be rethought, was causing build failures.
 1.115.10.1 02-Nov-2011  riz Pull up following revision(s) (requested by jmcneill in ticket #1681):
distrib/sets/sets.subr: revision 1.133
sys/conf/osrelease.sh: revision 1.116
sys/conf/osrelease.sh: revision 1.117
try to match sys/kern/kern_module.c module path logic: for release branches,
use X.Y version (instead of eg. X.Y.0_PATCH or X.Y_STABLE) and for -current use
X.Y.Z.
ok zafer@
Add -n option to print major and minor version, e.g. 5.99 on -current.
Describe new -n option in a comment; improve description of -m option.
 1.115.4.2 03-Nov-2011  riz Back out ticket #1681 - needs to be rethought, causing build problems.
 1.115.4.1 02-Nov-2011  riz Pull up following revision(s) (requested by jmcneill in ticket #1681):
distrib/sets/sets.subr: revision 1.133
sys/conf/osrelease.sh: revision 1.116
sys/conf/osrelease.sh: revision 1.117
try to match sys/kern/kern_module.c module path logic: for release branches,
use X.Y version (instead of eg. X.Y.0_PATCH or X.Y_STABLE) and for -current use
X.Y.Z.
ok zafer@
Add -n option to print major and minor version, e.g. 5.99 on -current.
Describe new -n option in a comment; improve description of -m option.
 1.120.18.2 17-Feb-2012  riz Pull up following revision(s) (requested by christos in ticket #6):
distrib/sets/sets.subr: revision 1.136
share/mk/bsd.kmodule.mk: revision 1.34
sys/conf/osrelease.sh: revision 1.122
Add new -k (for kernel modules) flag to return MM.99.pp for current and MM.mm
for the release branch.
use osrelease -k to avoid that the path is 6.0_BETA
use osrelease.sh -k instead of hand-rolled logic.
 1.120.18.1 16-Feb-2012  riz Pull up following revision(s) (requested by christos in ticket #3):
sys/conf/osrelease.sh: revision 1.121
Don't eat _BETA. I am sure dsl will come up with something more elegant.
 1.120.16.1 18-Feb-2012  mrg merge to -current.
 1.120.12.1 17-Apr-2012  yamt sync with head
 1.70 23-Jul-2022  mrg make MAXLWP a real option that triggers rebuilds properly.
 1.69 12-Nov-2020  simonb Set a better default for MAXFILES on larger RAM machines if not
otherwise specified the kernel config file. Arbitary numbers are
20,000 files for 16GB RAM or more and 10,000 files for 1GB RAM or
more.

TODO: Adjust this and other values totally dynamically.
 1.68 09-Apr-2019  pgoyette branches: 1.68.4; 1.68.12;
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.67 09-Nov-2015  pgoyette branches: 1.67.10; 1.67.18;
Whether or not the semaphore code is loaded as a module or built-in, its
sysctl data belongs with the module code. Move it from kern/init_sysctl.c
to kern/uipc_sem.c

While here, add a new sysctl variable kern.posix.semcnt (current count of
semaphores) to complement the existing kern.posix.semmax (maximum number
of semaphores).
 1.66 24-Aug-2015  pooka to garnish, dust with _KERNEL_OPT
 1.65 13-May-2015  pgoyette Create a new sysv_ipc module to contain the SYSVSHM, SYSVSEM, and
SYSVMSG options. Move associated variables out of param.c and into
the module's source file.
 1.64 09-Jun-2012  christos branches: 1.64.2; 1.64.16;
Add a new resource to limit the number of lwps per user, RLIMIT_NTHR. There
is a global sysctl kern.maxlwp to control this, which is by default 2048.
The first lwp of each process or kernel threads are not counted against the
limit. To show the current resource usage per user, I added a new sysctl
that dumps the uidinfo structure fields.
 1.63 08-Feb-2010  joerg branches: 1.63.10;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.62 03-May-2009  elad branches: 1.62.2;
Move dovfsusermount to secmodel_bsd44, where it really belongs.

The secmodel code now creates the same knob in two places: both under the
secmodel itself, as well as the widely known location.

Mailing list references:

http://mail-index.netbsd.org/source-changes/2009/05/02/msg220641.html
http://mail-index.netbsd.org/tech-kern/2009/05/03/msg005015.html
 1.61 02-May-2009  pooka Move dovfsusermount from vfs_syscalls.c to param.c: secmodel bsd44
depends on it and we can't isolate it in vfs.
(no, it doesn't really belong in param.c, but I couldn't figure out
a better place for it)
 1.60 06-Mar-2009  joerg Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
 1.59 12-Nov-2008  ad branches: 1.59.4;
Allow the POSIX semaphore code to be loaded as a module.
 1.58 12-Jul-2008  gmcgarry branches: 1.58.2;
Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.
 1.57 02-Jul-2008  ad branches: 1.57.2;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.56 27-Mar-2008  ad branches: 1.56.4; 1.56.6; 1.56.8;
ALIGNBYTES + 1, not ALIGNBYTES in previous.
 1.55 27-Mar-2008  ad Introduce COHERENCY_UNIT/coherency_unit as proposed on tech-kern.
 1.54 15-Mar-2008  ad Add a 'maxcpus' global.
 1.53 26-Dec-2007  ad branches: 1.53.2; 1.53.6;
Merge more changes from vmlocking2, mainly:

- Locking improvements.
- Use pool_cache for more items.
 1.52 17-May-2007  yamt branches: 1.52.8; 1.52.14; 1.52.16; 1.52.20;
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.51 20-Jan-2007  ad branches: 1.51.2; 1.51.6; 1.51.8;
Remove long unused 'ncallout'.
 1.50 21-Dec-2005  yamt branches: 1.50.20;
defparam NMBCLUSTERS.
 1.49 11-Dec-2005  christos merge ktrace-lwp.
 1.48 27-Sep-2004  christos branches: 1.48.12;
Disable autonicetime. As discusses in tech-kern.
 1.47 01-Jul-2004  yamt avoid divide-by-zero in adjtime1() in the case of HZ > 6000.
 1.46 01-Jul-2004  yamt defparam HZ.
 1.45 31-Dec-2003  martin s/NBPG/PAGE_SIZE/ in a comment.
From Jeff Ito in PR kern/23935.
 1.44 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.43 30-Oct-2003  drochner there is no SHMMMNI
 1.42 21-Oct-2003  thorpej Cache the "adjusted" value of sb_max when sb_max is changed, in order
to avoid doing quad math in sbreserve().

Change suggested by Simon Burge, and code inspired by a similar change
in FreeBSD.
 1.41 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.40 17-Dec-2001  atatat branches: 1.40.16;
Provide hooks to include the config file(s) in the kernel binary.
 1.39 08-Nov-2001  lukem add RCSID
 1.38 20-Aug-2001  mrg branches: 1.38.4;
allow SHMMAX, SHMMIN, SHMMNI and SHMSEG to be specified in the kernel config file.
 1.37 11-Nov-2000  mycroft branches: 1.37.2; 1.37.4;
Make SHMSEG much larger to accomodate GNOME and imlib.
It's limited by SHMMAXPGS anyway.
 1.36 24-Sep-2000  jdolecek defopt SHMMAXPGS, SEMMNI, SEMMNS, SEMUME and SEMMNU
 1.35 15-Apr-2000  simonb branches: 1.35.4;
Remove shmsegs declaration from conf/param.c - it doesn't belong here.
Instead, put it in kern/sysv_shm.c.
 1.34 28-Mar-2000  simonb Declare the SysV IPC *info structures and shmsegs pointer as extern.
Add declaration for shmsegs to param.c after shminfo structure.
 1.33 23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.32 04-Dec-1999  ragge CL* discarding.
 1.31 20-May-1999  lukem branches: 1.31.2; 1.31.8;
remove nbuf, nswbuf. cleanup def of AUTONICE(TIME|VAL)
 1.30 20-May-1999  cgd g.c. now-unneeded variable declarations (cfree, swbuf, utsname
 1.29 26-Apr-1999  thorpej Add `mblowat' and `mcllowat' low water mark variables for mbufs and mbuf
clusters.
 1.28 25-Apr-1999  simonb Const msize & mclbytes.
 1.27 25-Apr-1999  simonb g/c REAL_CLISTS.
 1.26 22-Apr-1999  simonb Move inclusion of "opt_sb_max.h" from sys/socketvar.h to
conf/param.c, and move the initialisation of the sb_max
variable from kern/uipc_socket2.c to conf/param.c. Now
everthing that includes sys/socketvar.h doesn't get
recompiled when SB_MAX's value changes.
 1.25 23-Oct-1998  jonathan branches: 1.25.8;
Compute compile-time value of old-VM parameter MAX_KMAPENT from NPROC
(2x NPROC plus slop) unless expclitly set. Use current constant value
(100) as a lower bound, as suggested by Chuck Cranor.

Move NPROC and other parameter definitions from param.c to param.h so
they are visible to vm/vm_map.h.

Systems with hand-tuned NPROC should now support that many processes.
 1.24 19-Oct-1998  tron Defopt SYSVMSG, SYSVSEM and SYSVSHM.
 1.23 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.22 20-Sep-1997  enami branches: 1.22.2;
Convert RTC_OFFSET, DEVPAGER, SWAPPAGER and VNODEPAGER to be declared
by defopt.
 1.21 28-Feb-1997  jonathan branches: 1.21.4;
Add compiled-in MCLBYTES and MSIZE to conf/param.c, as 'mclbytes" and "msize".

Add code to netstat to use libkvm to for kernel variables "mclbytes"
and "msize', and if found, use those for netstat -m rather than
compiled-in defaults.
 1.20 30-Jan-1997  tls branches: 1.20.4;
fix a large number of braindead unconditional #defines
 1.19 15-Jan-1997  perry Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
 1.18 02-Oct-1996  ws branches: 1.18.2;
Fix p_nice vs. NZERO code.
Change NZERO to 20 to always make p_nice positive.
On Christos' suggestion make p_nice explicitly u_char.
 1.17 17-Jul-1996  explorer Add compile-time and run-time control over automatic niceing
 1.16 12-Mar-1996  mrg default DST and TIMEZONE to 0, if not already defined
 1.15 08-Mar-1995  cgd don't do things that should only be necessary for 'real' clists.
 1.14 05-Dec-1994  mycroft Minor style cleanup.
 1.13 30-Aug-1994  mycroft Convert process, file, and namei lists and hash tables to use queue.h.
 1.12 22-Aug-1994  deraadt initialize shmmax to `# of pages' at compile time; multiply by NBPG at
boot time (in shminit). This supports architecture families with varying
values for NBPG, and does not break ipcs.
 1.11 29-Jun-1994  cgd New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.10 27-Jun-1994  cgd new standard, minimally intrusive ID format
 1.9 08-Jun-1994  mycroft Update for 4.4 fs code.
 1.8 21-May-1994  cgd maxfdescs checks out
 1.7 17-May-1994  cgd copyright foo
 1.6 18-Dec-1993  mycroft Canonicalize all #includes.
 1.5 14-Nov-1993  cgd Add the System V message queue and semaphore facilities. Implemented
by Daniel Boulet <danny@BouletFermat.ab.ca>
 1.4 20-May-1993  cgd branches: 1.4.4;
fixed rcsids and cleaned up headers
 1.3 06-May-1993  cgd diffs for uname (posix!) system call, provided by John Brezak <brezak@osf.org>
 1.2 04-Apr-1993  cgd added maxfdescs definition
 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.4.4.5 23-Nov-1993  glass fix for multiple definition of MAXFDESCS
 1.4.4.4 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.4.4.3 29-Sep-1993  mycroft Nuke #define of DST.
 1.4.4.2 29-Sep-1993  mycroft Update to roughly 4.4. utsname added (probably should be moved); clist stuff
removed; maxfdescs left in for now. #define of DST added until I figure out
where it's supposed to be coming from.
 1.4.4.1 14-Sep-1993  mycroft files.newconf: Comment out pseudo-device cd for now. Make ufs_* optional
based on `options FFS' (and MFS where appropriate).
param.c: Nuke clist stuff. Remove nbuf and nswbuf, as these are expected
to be in machdep.c. (The wisdom of this is unclear to me, though.)
Incorporate changes from main branch.
 1.18.2.1 18-Jan-1997  thorpej Update from trunk.
 1.20.4.1 12-Mar-1997  is Merge in changes from Trunk
 1.21.4.1 22-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.22.2.1 24-Oct-1998  cgd pull up rev 1.25, to fix PR 6293. (jonathan)
 1.25.8.1 21-Jun-1999  thorpej Sync w/ -current.
 1.31.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.31.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.31.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.35.4.1 13-Nov-2000  tv Pullup 1.37 [mycroft]:
Make SHMSEG much larger to accomodate GNOME and imlib.
It's limited by SHMMAXPGS anyway.
 1.37.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.37.4.1 25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.37.2.5 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.37.2.4 08-Jan-2002  nathanw Catch up to -current.
 1.37.2.3 14-Nov-2001  nathanw Catch up to -current.
 1.37.2.2 24-Aug-2001  nathanw Catch up with -current.
 1.37.2.1 05-Mar-2001  nathanw Initial commit of scheduler activations and lightweight process support.
 1.38.4.1 12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.40.16.4 19-Oct-2004  skrll Sync with HEAD
 1.40.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.40.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.40.16.1 03-Aug-2004  skrll Sync with HEAD
 1.48.12.5 17-Mar-2008  yamt sync with head.
 1.48.12.4 21-Jan-2008  yamt sync with head
 1.48.12.3 03-Sep-2007  yamt sync with head.
 1.48.12.2 26-Feb-2007  yamt sync with head.
 1.48.12.1 21-Jun-2006  yamt sync with head.
 1.50.20.1 01-Feb-2007  ad Sync with head.
 1.51.8.1 11-Jul-2007  mjf Sync with head.
 1.51.6.1 08-Jun-2007  ad Sync with head.
 1.51.2.1 02-Apr-2007  rmind - Move the ccpu sysctl back to the scheduler-independent part.
- Move the scheduler-independent parts of 4BSD's schedcpu() to
kern_synch.c.
- Add scheduler-specific hook to satisfy individual scheduler's
needs.
- Remove autonice, which is archaic and not useful.

Patch provided by Daniel Sieger.
 1.52.20.1 02-Jan-2008  bouyer Sync with HEAD
 1.52.16.1 13-Dec-2007  ad Eliminate contention on filelist_lock.
 1.52.14.1 18-Feb-2008  mjf Sync with HEAD.
 1.52.8.2 23-Mar-2008  matt sync with HEAD
 1.52.8.1 09-Jan-2008  matt sync with HEAD
 1.53.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.53.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.53.6.2 02-Jul-2008  mjf Sync with HEAD.
 1.53.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.53.2.1 24-Mar-2008  keiichi sync with head.
 1.56.8.2 18-Jul-2008  simonb Sync with head.
 1.56.8.1 03-Jul-2008  simonb Sync with head.
 1.56.6.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.56.4.2 11-Mar-2010  yamt sync with head
 1.56.4.1 04-May-2009  yamt sync with head.
 1.57.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.57.2.1 19-Oct-2008  haad Sync with HEAD.
 1.58.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.58.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.59.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.62.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.63.10.1 30-Oct-2012  yamt sync with head
 1.64.16.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.64.16.2 22-Sep-2015  skrll Sync with HEAD
 1.64.16.1 06-Jun-2015  skrll Sync with HEAD
 1.64.2.1 03-Dec-2017  jdolecek update from HEAD
 1.67.18.1 10-Jun-2019  christos Sync with HEAD
 1.67.10.2 06-Feb-2021  martin Pull up following revision(s) (requested by simonb in ticket #1649):

sys/sys/param.h: revision 1.679
sys/conf/param.c: revision 1.69
sys/kern/init_main.c: revision 1.533 (via patch)

Set a better default for MAXFILES on larger RAM machines if not
otherwise specified the kernel config file. Arbitary numbers are
20,000 files for 16GB RAM or more and 10,000 files for 1GB RAM or
more.

TODO: Adjust this and other values totally dynamically.
 1.67.10.1 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.68.12.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.68.4.1 14-Nov-2020  martin Pull up following revision(s) (requested by fair in ticket #1130):

sys/sys/param.h: revision 1.679
sys/conf/param.c: revision 1.69
sys/kern/init_main.c: revision 1.533

Set a better default for MAXFILES on larger RAM machines if not
otherwise specified the kernel config file. Arbitary numbers are
20,000 files for 16GB RAM or more and 10,000 files for 1GB RAM or
more.

TODO: Adjust this and other values totally dynamically.
 1.5 15-Sep-2015  uebayasi Clean up splash image build. Print messages when creating files.
 1.4 15-Sep-2015  uebayasi Fix build of SPLASHSCREEN without SPLASHSCREEN_IMAGE. Since there is no way
to change ALLFILES by makeoptions, build an empty splash_image.o.
 1.3 14-Sep-2015  uebayasi Handle splash image generation better.
 1.2 11-Sep-2015  nat Fix splashscreen_image option to include splash_image.o

OK from christos@
 1.1 30-Aug-2015  uebayasi Move splash logic, keep Makefile.kern.inc clean.
 1.5 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.4 23-Feb-2019  kamil branches: 1.4.6;
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.3 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.2 08-Jan-2017  christos branches: 1.2.14; 1.2.16; 1.2.18;
Move to ssp.c suggested by uebayasi@
 1.1 06-Sep-2015  uebayasi branches: 1.1.2; 1.1.4;
Clean up. Move SSP-specific adjustment out of Makefile.kern.inc.
 1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.2.1 06-Sep-2015  skrll file ssp.mk was added on branch nick-nhusb on 2015-09-22 12:05:56 +0000
 1.2.18.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.18.1 10-Jun-2019  christos Sync with HEAD
 1.2.16.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.2.14.2 03-Dec-2017  jdolecek update from HEAD
 1.2.14.1 08-Jan-2017  jdolecek file ssp.mk was added on branch tls-maxphys on 2017-12-03 11:36:57 +0000
 1.4.6.1 29-Feb-2020  ad Sync with head.
 1.24 26-Mar-2024  riastradh conf/std: Update comment over rnd(4) to reflect current reality.

PR kern/46728
 1.23 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.22 02-Nov-2016  pgoyette branches: 1.22.14; 1.22.16;
* 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.21 14-Nov-2015  pgoyette branches: 1.21.2;
Always include the "vfs" attribute (module). Although all of the
ufs/xxx file systems depend on the vfs attribute, it is not required
that any file system actually be built-in to the kernel. (At least
on some architectures, file system modules can be loaded at boot
time.)
 1.20 31-Oct-2014  uebayasi branches: 1.20.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.19 10-Oct-2014  uebayasi Define net attribute. Always select it for now.
 1.18 10-Oct-2014  uebayasi Use option dependency to always select KERN (and its dependencies).
 1.17 10-Oct-2014  uebayasi Define "machdep" attribute and mark files (in amd64 and x86).
 1.16 10-Oct-2014  uebayasi Define "uvm" attribute and mark files.
 1.15 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.14 22-Nov-2011  tls branches: 1.14.8;

The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.13 21-Oct-2009  rmind branches: 1.13.2; 1.13.12;
Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.
 1.12 10-Aug-2009  simonb Tab police.
 1.11 09-Aug-2009  matt Add [default] option to make UAREAs swappable. Disabling the option makes
them unswappable and therefore allocatable using KSEG/BAT/etc.
 1.10 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.9 04-Aug-2007  ad branches: 1.9.22; 1.9.26; 1.9.32; 1.9.34; 1.9.36;
Add cpuctl(8). For now this is not much more than a toy for debugging and
benchmarking that allows taking CPUs online/offline.
 1.8 17-May-2007  yamt branches: 1.8.2; 1.8.6;
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.7 08-Sep-2006  elad branches: 1.7.6; 1.7.10; 1.7.12;
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.6 29-Aug-2006  matt branches: 1.6.2;
Make PTRACE and COREDUMP optional. Make the default (status quo) by putting
them in conf/std.
 1.5 05-May-2006  rpaulo branches: 1.5.6;
Add support for RFC 3542 Adv. Socket API for IPv6 (which obsoletes 2292).
* RFC 3542 isn't binary compatible with RFC 2292.
* RFC 2292 support is on by default but can be disabled.
* update ping6, telnet and traceroute6 to the new API.

From the KAME project (www.kame.net).
Reviewed by core.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10; 1.4.12;
merge ktrace-lwp.
 1.3 26-Sep-2005  yamt branches: 1.3.6;
- defflag bufq_fcfs and bufq_disksort.
- make them on by default.
 1.2 17-Sep-2005  yamt enable VMSWAP by default.
 1.1 17-Sep-2005  yamt add conf/std for MI standard options. currently empty.
 1.3.6.2 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.6.1 26-Sep-2005  skrll file std was added on branch ktrace-lwp on 2005-11-10 14:01:40 +0000
 1.4.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.4.10.1 11-May-2006  elad sync with head
 1.4.8.3 14-Sep-2006  yamt sync with head.
 1.4.8.2 03-Sep-2006  yamt sync with head.
 1.4.8.1 24-May-2006  yamt sync with head.
 1.4.6.1 01-Jun-2006  kardel Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.6.4 03-Sep-2007  yamt sync with head.
 1.5.6.3 30-Dec-2006  yamt sync with head.
 1.5.6.2 21-Jun-2006  yamt sync with head.
 1.5.6.1 05-May-2006  yamt file std was added on branch yamt-lazymbuf on 2006-06-21 15:00:01 +0000
 1.6.2.1 18-Nov-2006  ad Sync with head.
 1.7.12.1 11-Jul-2007  mjf Sync with head.
 1.7.10.2 20-Aug-2007  ad Sync with HEAD.
 1.7.10.1 08-Jun-2007  ad Sync with head.
 1.7.6.1 21-Feb-2007  yamt define SCHED_4BSD in conf/std for now.
 1.8.6.1 04-Aug-2007  jmcneill Sync with HEAD.
 1.8.2.1 15-Aug-2007  skrll Sync with HEAD.
 1.9.36.1 19-Jan-2009  skrll Sync with HEAD.
 1.9.34.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.9.34.1 04-Aug-2007  ad file std was added on branch matt-mips64 on 2007-08-04 11:03:01 +0000
 1.9.32.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.9.26.3 11-Mar-2010  yamt sync with head
 1.9.26.2 19-Aug-2009  yamt sync with head.
 1.9.26.1 04-May-2009  yamt sync with head.
 1.9.22.2 17-Jan-2009  mjf Sync with HEAD.
 1.9.22.1 05-Apr-2008  mjf - add "file-system DEVFS" and "pseudo-device devfsctl" to conf/std seeing
as these are always needed.

- convert many, many drivers over to the New Devfs World Order. For a
list of device drivers yet to be converted see,
http://www.netbsd.org/~mjf/devfs-todo.html.

- add a new device_unregister_all(device_t) function to remove all device
names associated with a device_t, which saves us having to construct
device names when the driver is detached.

- add a DEV_AUDIO type for devices.
 1.13.12.1 17-Apr-2012  yamt sync with head
 1.13.2.2 28-Feb-2010  uebayasi Don't always enable XIP on this branch to prepare the merge. Fix build
without XIP in places.
 1.13.2.1 08-Feb-2010  uebayasi Add XIP flag and globally enable it on this branch.
 1.14.8.1 03-Dec-2017  jdolecek update from HEAD
 1.20.2.2 05-Dec-2016  skrll Sync with HEAD
 1.20.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.21.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.22.16.1 10-Jun-2019  christos Sync with HEAD
 1.22.14.3 28-Sep-2018  pgoyette Revert previous commit. There are still random unidentified references
to these utility routings.
 1.22.14.2 27-Sep-2018  pgoyette This should no longer be needed
 1.22.14.1 06-Mar-2018  pgoyette Include utilities required by compat stuff
 1.2 01-Mar-1998  fvdl Remove extraneous files from Lite2 merge.
 1.1 01-Mar-1998  fvdl branches: 1.1.1;
Initial revision
 1.1.1.1 01-Mar-1998  fvdl Import 4.4BSD-Lite for reference

RSS XML Feed