History log of /src/sys/sys/Makefile
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.185 08-Oct-2024 christos

PR/58729: Taylor R Campbell: container_of is not documented or available
in userland


# 1.184 25-Aug-2024 christos

PR/58640: Riastradh: Provide sys/stdalign.h


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
# 1.183 15-Oct-2023 riastradh

branches: 1.183.6;
sys/wchan.h: Need to install this for sanitizers.


# 1.182 03-Aug-2023 nia

Revert addition of epoll to libc until discussion concludes


# 1.181 28-Jul-2023 christos

Add epoll(2) from Theodore Preduta as part of GSoC 2023


Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
# 1.180 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.179 30-Sep-2021 yamaguchi

Introduce a generic linear hook list


# 1.178 19-Sep-2021 thorpej

Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.


# 1.177 15-Sep-2021 thorpej

Adjust the device_call() calling convention so as to provide type checking
of the arguments passed to the call, using auto-generated argument
structures and binding macros.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.176 14-Aug-2020 riastradh

branches: 1.176.2;
New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0) Blocks at boot until full entropy.
Returns up to n bytes at p; guarantees
up to 256 bytes even if interrupted
after blocking. getrandom(0,0,0)
serves as an entropy barrier: return
only after system has full entropy.

getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256
bytes even if interrupted. Equivalent
to /dev/urandom. Safe only after
successful getrandom(...,0),
getrandom(...,GRND_RANDOM), or read
from /dev/random.

getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n
bytes at p, but no guarantees about how
many -- may return as short as 1 byte.
Equivalent to /dev/random. Legacy.
Provided only for source compatibility
with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html


# 1.175 08-Jun-2020 maxv

install fault.h


# 1.174 16-May-2020 christos

Add ACL support for FFS. From FreeBSD.


# 1.173 26-Apr-2020 thorpej

Add a NetBSD native futex implementation, mostly written by riastradh@.
Map the COMPAT_LINUX futex calls to the native ones.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.172 22-Mar-2020 ad

Wrap vnode_impl.h in defined(_KERNEL) || defined(_KMEMUSER), and install
it for kmem grovellers.


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.171 14-Dec-2019 ad

Include radixtree in the kernel.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
# 1.170 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.


Revision tags: isaki-audio2-base
# 1.169 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.


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.168 21-Aug-2018 kre

There is no possible reason that <sys/asan.h> can be useful to
userland, all it contains is a few prototypes for kernel functions.
So, don't install asan.h in /usr/include/sys (if it ever gains
anything which would be useful, then this can be changed).

Note: I have simply removed /usr/includ/esys/asan.hit from the sets
list, rather than marking it obsolete - it has not been there for
very long, If you get build problems (sets list errors) from an
update build because you managed to install it during the last few
hours, just remove asan.h from /usr/include/sys


# 1.167 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.


Revision tags: pgoyette-compat-0728
# 1.166 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.


Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422
# 1.165 18-Apr-2018 mlelstv

branches: 1.165.2;
Make sys/pmf.h available to userland (again).

The recently exposed device.h internals to _KMEMUSER also require
exposing details about pmf.

The current build works without this as the only user is crash(8)
which partially uses kernel sources and is compiled with the
additional kernel include path.


Revision tags: pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.164 19-Dec-2017 kamil

branches: 1.164.2;
Drop <sys/vadvise.h>

The (o)vadvise syscall is dummy since the beginning of NetBSD.

Sponsored by <The NetBSD Foundation>


Revision tags: tls-maxphys-base-20171202
# 1.163 30-Nov-2017 riastradh

Import SHA-3 code into libc and libkern.

No new public symbols in libc, but publishing the symbols is a simple
matter if/when we decide to do so.

Proposed on tech-kern and tech-userlevel with no objections:

https://mail-index.NetBSD.org/tech-kern/2017/11/11/msg022581.html
https://mail-index.NetBSD.org/tech-userlevel/2017/11/11/msg010968.html


Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.162 20-Jun-2017 kamil

Remove <sys/user.h>

Proposed on the the tech-userlevel mailing list without strong objections.

This file no longer serves any purpose in any supported release branch.

There will be fallout in pkgsrc, please restrict inclusion <sys/user.h> to
FreeBSD and DragonflyBSD.

I tried to iterate over packages in pkgsrc and there was little fallout,
however I don't have the full sources to scan every source code. I already
upstreamed to several projects removal of inclusion on NetBSD of
<sys/user.h> (like Qt5).


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base
# 1.161 19-May-2017 pgoyette

Introduce new localcount(9) reference-count primitives.


Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
# 1.160 16-Dec-2016 christos

branches: 1.160.6;
install psref.h now that <net/route.h> needs it.


Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.159 24-Apr-2016 dholland

branches: 1.159.2;
Define SEM_VALUE_MAX in only one place.

Adding a whole extra header file just for this is not the optimal
solution... but stuffing it in with anything else exposes things that
otherwise wouldn't be.

Nothing in userland should use <sys/semaphore.h> directly, and if some
foolish third-party software should decide to do so anyway in spite of
the instructions to the contrary I will ruthlessly break it later when
the big kernel includes cleanup finally happens.

Reported by Kamil Rytarowski, and, as it turns out, also by Klaus
Heinz in 2008.


Revision tags: nick-nhusb-base-20160422
# 1.158 02-Apr-2016 christos

Add wait6() to be used to implement waitid, mostly from FreeBSD.
Create idtypes.h shared by wait.h and pset.h


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.157 17-Aug-2015 knakahara

Add kernel code to support intrctl(8).


# 1.156 31-Jul-2015 kamil

Do as POSIX says, define the timespec structure in <signal.h>

Extract struct timespec from <sys/time.h> and put into a separate header.

This solution is minimally invasive.


# 1.155 29-Jul-2015 christos

move stdbool.h to sys, reuire pool.h to include <sys/stdbool.h> for bool,
centralize definitions of bool, true, false, to <sys/stdbool.h>


# 1.154 26-Jun-2015 matt

Install common_lock.h


Revision tags: nick-nhusb-base-20150606
# 1.153 13-Apr-2015 riastradh

Oops -- install <sys/rndio.h> now that ioctls live there.


Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
# 1.152 17-Nov-2014 christos

branches: 1.152.2;
PR/49207: Kamil Rytarowski: Add sys/clock.h with generic time macros
(derived from clock_subr.h). Keep clock_subr.h with the kernel structures
and functions to reduce diffs, and have clock.h only include standalone
constants and macros.


# 1.151 19-Aug-2014 matt

More "common" includes which use the preprocessor defined macros.


# 1.150 18-Aug-2014 matt

Install common_wchar_limits.h and update set list.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.149 25-Jul-2014 joerg

Add generic versions of machine/int_*.h for compilers providing
appropiate macros for all necessary types.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.148 20-Mar-2014 skrll

branches: 1.148.2;
simplelock.h is no longer used.


Revision tags: riastradh-drm2-base3
# 1.147 10-Jan-2014 christos

we never include bsd.sys.mk directly.


# 1.146 10-Jan-2014 martin

ACTIVE_CC can only be used after include of bsd.own.mk


# 1.145 11-Dec-2013 joerg

Allow kernel code to access constant databases by moving cdbr(3) and the
required mi_vector_hash(3) into src/common.


# 1.144 27-Oct-2013 mbalmer

install lua.h


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
# 1.143 19-Feb-2012 rmind

branches: 1.143.2; 1.143.4;
Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3!
Approved by core@.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base2 netbsd-6-base
# 1.142 11-Feb-2012 martin

Add a posix_spawn syscall, as discussed on tech-kern.
Based on the summer of code project by Charles Zhang, heavily reworked
later by me - all bugs are likely mine.
Ok: core, releng.


# 1.141 01-Feb-2012 dholland

Change the syscall API for quotas over to the new non-proplib one.

- struct vfs_quotactl_args -> struct quotactl_args
- add sys/stdint.h to sys/quotactl.h for clean userland build
- install sys/quotactl.h in /usr/include
- update set lists for same
- add new marshalling code in libquota
- add new unmarshalling code in vfs_syscalls.c
- discard proplib interpreter code in vfs_quotactl.c
- add dispatching code for the 14 quotactl ops in vfs_quotactl.c
- mark the proplib quotactl syscall obsolete
- add a new syscall number for the new quotactl syscall
- change the name of the syscall to __quotactl()
- remove the decl of the old quotactl from quota/quotaprop.h
- add a decl of the new quotactl to sys/quotactl.h
- update the libc build
- update ktruss
- remove proplib marshalling code from libquota
- update copy of syscall table in gdb ppc sources
- hack rumphijack to accomodate new quotactl name (as I recall,
pooka wanted such a name change to simplify something, but I
don't really see what/how)

This change appears to require a kernel version bump for rumpish
reasons.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2
# 1.140 02-Nov-2011 yamt

branches: 1.140.4;
revert rev.1.139, which i mistakenly committed with the unrelated change.


Revision tags: yamt-pagecache-base
# 1.139 02-Nov-2011 yamt

branches: 1.139.2;
buf_inorder:
- make the return value bool
- comments


# 1.138 28-Sep-2011 jruoho

Install <sys/cpufreq.h>.


# 1.137 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.136 17-Jul-2011 joerg

Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.


# 1.135 08-Jul-2011 dyoung

Per Matt Green's suggestion, stop installing /usr/include/sys/bus.h to
poison broken architectures that are including it from userland.


# 1.134 06-Jul-2011 dyoung

Install /usr/include/sys/bus.h for oddball ports whose userland somehow
#includes it.


# 1.133 27-Jun-2011 manu

Fix multiple non compliances in our Linux-like extattr API, and make it
public so that it can be used.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
# 1.132 09-Mar-2011 joerg

Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.


# 1.131 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.


Revision tags: bouyer-quota2-nbase
# 1.130 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.129 17-Feb-2011 rmind

Fix sys/pcu.h build breakage.


Revision tags: uebayasi-xip-base7 bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 25-Sep-2010 matt

branches: 1.128.2; 1.128.4;
Rename rb.h to rbtree.h, as it is more appropriate (c.f. ptree.h). Also
helps find code that hasn't been updated to use the new rbtree API.


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
# 1.127 01-Jun-2010 tnozaki

more split ctype.h -> sys/ctype_inline.h, sys/ctype_bits.h


Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.126 01-Mar-2010 darran

branches: 1.126.2;
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 01-Mar-2010 darran

Backout accidental commit adding sdt.h (hold off until CTF toolchain build
is ready).


# 1.124 01-Mar-2010 darran

DTrace: fix a few problems introduced by the recent ZFS update (expected
problems from the OpenSolaris merge).


Revision tags: uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-nbase
# 1.123 16-Sep-2009 dyoung

branches: 1.123.2;
In pmf(9), improve the implementation of device self-suspension
and make suspension by self, by drvctl(8), and by ACPI system sleep
play nice together. Start solidifying some temporary API changes.

1. Extract a new header file, <sys/device_if.h>, from <sys/device.h> and
#include it from <sys/pmf.h> instead of <sys/device.h> to break the
circular dependency between <sys/device.h> and <sys/pmf.h>.

2. Introduce pmf_qual_t, an aggregate of qualifications on a PMF
suspend/resume call. Start to replace instances of PMF_FN_PROTO,
PMF_FN_ARGS, et cetera, with a pmf_qual_t.

3. Introduce the notion of a "suspensor," an entity that holds a
device in suspension. More than one suspensor may hold a device
at once. A device stays suspended as long as at least one
suspensor holds it. A device resumes when the last suspensor
releases it.

Currently, the kernel defines three suspensors,

3a the system-suspensor: for system suspension, initiated
by 'sysctl -w machdep.sleep_state=3', by lid closure, by
power-button press, et cetera,

3b the drvctl-suspensor: for device suspension by /dev/drvctl
ioctl, e.g., drvctl -S sip0.

3c the system self-suspensor: for device drivers that suspend
themselves and their children. Several drivers for network
interfaces put the network device to sleep while it is not
administratively up, that is, after the kernel calls if_stop(,
1). The self-suspensor should not be used directly. See
the description of suspensor delegates, below.

A suspensor can have one or more "delegates". A suspensor can
release devices that its delegates hold suspended. Right now,
only the system self-suspensor has delegates. For each device
that a self-suspending driver attaches, it creates the device's
self-suspensor, a delegate of the system self-suspensor.

Suspensors stop a system-wide suspend/resume cycle from waking
devices that the operator put to sleep with drvctl before the cycle.
They also help self-suspension to work more simply, safely, and in
accord with expectations.

4. Add the notion of device activation level, devact_level_t,
and a routine for checking the current activation level,
device_activation(). Current activation levels are DEVACT_LEVEL_BUS,
DEVACT_LEVEL_DRIVER, and DEVACT_LEVEL_CLASS, which respectively
indicate that the device's bus is active, that the bus and device are
active, and that the bus, device, and the functions of the device's
class (network, audio) are active.

Suspend/resume calls can be qualified with a devact_level_t.
The power-management framework treats a devact_level_t that
qualifies a device suspension as the device's current activation
level; it only runs hooks to reduce the activation level from
the presumed current level to the fully suspended state. The
framework treats a devact_level_t qualifying device resumption
as the target activation level; it only runs hooks to raise the
activation level to the target.

5. Use pmf_qual_t, devact_level_t, and self-suspensors in several
drivers.

6. Temporarily add an unused power-management workqueue that I will
remove or replace, soon.


Revision tags: yamt-nfs-mp-base8
# 1.122 12-Sep-2009 pgoyette

Actually install disklabel_rdb.h

(Hello, phx!)


# 1.121 20-Aug-2009 he

Introduce <sys/aout_mids.h>, and include it from <sys/core.h> and
<sys/exec_aout.h>. This contains the various a.out machine IDs
moved out from exec_aout.h. The a.out machine IDs are not only
used to identify a.out executable files, but also used to identify
NetBSD core dumps, so should be accessible outside of exec_aout.h.

OK'ed by matt@


Revision tags: yamt-nfs-mp-base7
# 1.120 15-Aug-2009 mbalmer

Move the keylock.h header from sys/sys to sys/dev where it really belongs.
Add keylock options to the ALL kernel configuration.


# 1.119 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.


Revision tags: jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base haad-dm-base2 haad-nbase2 ad-audiomp2-base nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.118 24-Nov-2008 joerg

Move the specification of the on-disk journal format into a separate
header.


# 1.117 20-Nov-2008 matt

Add new ptree (Patricia / RADIX tree) implementation to NetBSD.


# 1.116 17-Nov-2008 pooka

update namei target to new syntax


# 1.115 12-Nov-2008 ad

Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.


Revision tags: netbsd-5-1-5-RELEASE netbsd-5-1-4-RELEASE netbsd-5-1-3-RELEASE netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2
# 1.114 19-Oct-2008 apb

branches: 1.114.2; 1.114.4; 1.114.8; 1.114.12;
Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.


Revision tags: haad-dm-base1
# 1.113 15-Oct-2008 wrstuden

Looks like we need sa.h after all for userland. Add it back.


# 1.112 15-Oct-2008 wrstuden

Merge wrstuden-revivesa into HEAD.


Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.111 06-Sep-2008 jmcneill

Install sys/videoio.h


# 1.110 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@.


Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base wrstuden-revivesa-base
# 1.109 04-Jun-2008 ad

branches: 1.109.2; 1.109.4;
Move lib/libkern/rb.h to sys/rb.h, so it can be used by kernel header
files.


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
# 1.108 16-Jan-2008 ad

branches: 1.108.6; 1.108.8; 1.108.10; 1.108.12;
Pull in my modules code for review/test/hacking.


# 1.107 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>.


Revision tags: matt-armv6-base
# 1.106 31-Dec-2007 ad

Remove systrace. Ok core@.


Revision tags: vmlocking2-base3
# 1.105 24-Dec-2007 ad

Install sys/atomic.h


# 1.104 16-Dec-2007 drochner

don't include <sys/pmf.h> for userland programs, saves some recompilation
if internals are changed


Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2
# 1.103 09-Dec-2007 jmcneill

branches: 1.103.2; 1.103.4;
Merge jmcneill-pm branch.


Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.102 12-Nov-2007 ad

branches: 1.102.2; 1.102.4;
Add _lwp_ctl() system call: provides a bidirectional, per-LWP communication
area between processes and the kernel.


# 1.101 10-Nov-2007 yamt

install kmem.h for pstat.


# 1.100 06-Nov-2007 ad

Install callback.h for kmem grovellers.


Revision tags: jmcneill-base
# 1.99 02-Nov-2007 christos

branches: 1.99.2;
Add ffs, fls and integer log function.
ToDo: Add a <machine/bitops.h> include for architecture optimized overrides.


Revision tags: yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
# 1.98 23-Sep-2007 kiyohara

branches: 1.98.4;
Add gcq.h.
Forgot since Wed Aug 15 03:53:09 2007 UTC.


Revision tags: nick-csl-alignment-base5
# 1.97 07-Sep-2007 rmind

Implementation of POSIX message queues.

Reviewed by: <ad>, <tech-kern>


# 1.96 15-Aug-2007 pooka

branches: 1.96.2;
Autogenerate namei.h from namei.src to get duplicate values for some
less-than-optimally namespaced macros (e.g. LOOKUP -> NAMEI_LOOKUP).


Revision tags: matt-mips64-base
# 1.95 04-Aug-2007 ad

branches: 1.95.2;
Add cpuctl(8). For now this is not much more than a toy for debugging and
benchmarking that allows taking CPUs online/offline.


Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 mjf-ufs-trans-base
# 1.94 30-Apr-2007 rmind

branches: 1.94.2; 1.94.6;
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>


Revision tags: thorpej-atomic-base
# 1.93 12-Mar-2007 ad

branches: 1.93.2; 1.93.6;
Put the simplelock stuff into its own header file to simplify dependencies.


Revision tags: ad-audiomp-base
# 1.92 26-Feb-2007 yamt

branches: 1.92.4;
move wchan_t and syncobj_t to a dedicated header to simplify dependencies.
fix "XXX wchan_t".


Revision tags: post-newlock2-merge
# 1.91 09-Feb-2007 ad

branches: 1.91.2;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.90 30-Oct-2006 christos

kill crypto/rmd160.h and crypto/sha2.h, and instead make symlinks to
/usr/include from /usr/include/sys. This makes all the one way hash
header handling identical.


# 1.89 29-Oct-2006 oster

rmd160.h and sha2.h now live in /usr/include/crypto/../sys ,
not in /usr/include/crypto/sys.


# 1.88 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.


Revision tags: yamt-splraiseipl-base2
# 1.87 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.86 05-Oct-2006 christos

Install disklabel_gpt.h needed by the gpt partitioning tool (which is coming
soon)


# 1.85 24-Sep-2006 elad

PR/33569: Kristaps Johnson: systrace.h is not bundled with NetBSD
distribution

In the spirit of encouraging development on NetBSD, install systrace.h
to /usr/include/sys as well.


Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
# 1.84 06-May-2006 groo

branches: 1.84.8; 1.84.10;
Remove obsoleted properties.h.


# 1.83 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.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.82 11-Feb-2006 jmmv

branches: 1.82.2; 1.82.4; 1.82.6;
No need to install optstr.h.


# 1.81 03-Feb-2006 jmmv

branches: 1.81.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.80 20-Dec-2005 thorpej

branches: 1.80.4;
Move evcnt definitions into <sys/evcnt.h>. Include this from <sys/device.h>
for compatibility.


# 1.79 20-Dec-2005 thorpej

Remove the tablet line discipline.


# 1.78 11-Dec-2005 christos

merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 ktrace-lwp-base
# 1.77 30-Oct-2005 simonb

Don't install <sys/systm.h>.


Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
# 1.76 27-Sep-2005 jmcneill

branches: 1.76.2;
Import general purpose I/O framework from OpenBSD.


# 1.75 19-Sep-2005 simonb

Don't install <sys/tprintf.h> - it's a kernel-only header file.


# 1.74 07-Aug-2005 blymn

Add in tape statistics gathering definitions, add tape.h as a file
to be installed.


# 1.73 22-May-2005 kleink

branches: 1.73.2;
* Factor out fd_set and related definitions from <sys/types.h> to
<sys/fd_set.h>. Still include it from <sys/types.h> for _NETBSD_SOURCE,
and amke <sys/select.h> use it instead of <sys/types.h>.
* Instead of including <string.h> for memset()/memcpy() (or adding their
declarations locally), make FD_ZERO()/FD_COPY() use GCC builtins if
available, or define them inline otherwise.
Approved by Christos.


Revision tags: yamt-km-base4 yamt-km-base3 kent-audio2-base
# 1.72 17-Mar-2005 kleink

A couple of <sys/select.h>-related changes:
* Factor out struct selinfo and its header dependencies into its own header,
<sys/selinfo.h>, to avoid namespace pollution.
* Include <sys/selinfo.h> in user-visible headers where necessary.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio1-beforemerge
# 1.71 02-Jan-2005 thorpej

branches: 1.71.2; 1.71.4;
Add the system call and VFS infrastructure for file system extended
attributes.

From FreeBSD.


Revision tags: kent-audio1-base
# 1.70 09-Nov-2004 yamt

- hide bufq_state in mfsnode from userland.
- move bufq.h into obsolete set.

tested to compile pkgsrc/sysutils/lsof.


# 1.69 07-Nov-2004 kim

Add bufq.h to INCS


# 1.68 10-Oct-2004 yamt

don't install cpu_data.h or cc_microtime.h.
they're not intended to be exposed to userland.


# 1.67 23-Sep-2004 he

Install the new cpu_info.h and cc_microtime.h headers to allow
lib/libkvm to build.


# 1.66 18-Aug-2004 drochner

add a "drvctl" pseudo-device as userland interface to the autoconf
rescan() and detach() functions


# 1.65 02-Jul-2004 drochner

the port's joystick.h are all identical, so use a common one


# 1.64 21-Apr-2004 christos

Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.63 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.62 18-Nov-2003 lukem

install /usr/include/sys/soundcard.h as a symlink to ../soundcard.h


# 1.61 26-Oct-2003 kleink

Have a common place for definitions related to IEEE 754 single-precision
and double-precision formats.


# 1.60 08-Oct-2003 lukem

Overhaul MBR handling (part 1):

<sys/bootblock.h>:
* Added definitions for the Master Boot Record (MBR) used by
a variety of systems (primarily i386), including the format
of the BIOS Parameter Block (BPB).
This information was cribbed from a variety of sources
including <sys/disklabel_mbr.h> which this is a superset of.

As part of this, some data structure elements and #defines
were renamed to be more "namespace friendly" and consistent
with other bootblocks and MBR documentation.
Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
* Deprecated in favor of <sys/bootblock.h> (the latter is more
"host tool" friendly).

amd64 & i386:
* Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
be consistent with the naming convention of the msdosfs tools.

* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
and it's confusing to have two functionally equivalent bootblocks,
especially given that "ufs" has multiple meanings (it could be
a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

* Rework pbr.S (the first sector of bootxx_*):
+ Ensure that BPB (bytes 11..89) and the partition table
(bytes 446..509) do not contain code.
+ Add support for booting from FAT partitions if BOOT_FROM_FAT
is defined. (Only set for bootxx_msdos).
+ Remove "dummy" partition 3; if people want to installboot(8)
these to the start of the disk they can use fdisk(8) to
create a real MBR partition table...
+ Compile with TERSE_ERROR so it fits because of the above.
Whilst this is less user friendly, I feel it's important
to have a valid partition table and BPB in the MBR/PBR.

* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
with other platforms.

* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
we can boot off FAT partitions.

* Crank version of /usr/mdec/boot to 3.1, and fix some of the other
entries in the version file.

installboot(8) (i386):
* Read the existing MBR of the filesystem and retain the BIOS
Parameter Block (BPB) in bytes 11..89 and the MBR partition
table in bytes 446..509. (Previously installboot(8) would
trash those two sections of the MBR.)

mbrlabel(8):
* Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).


# 1.59 01-Oct-2003 christos

make symlinks for sha1.h md4.h and md5.h and don't install kernel.h


# 1.58 03-Aug-2003 lukem

Add INCSYMLINKS to <bsd.inc.mk> and <bsd.kinc.mk>, and use that instead of
SYMLINKS to install symlinked header files. INCSYMLINKS are installed with
'make includes'. This avoids using SYMLINKS and hacks with the 'linkinstall'
target in <bsd.links.mk>, as linksinstall occurs in 'make install' and hacks
to get it to occur in 'make includes' weren't robust, as seen in lib/libdes.

Yet more improvements to bsd.README.


# 1.57 12-May-2003 kleink

branches: 1.57.2;
Rename <sys/float_ieee.h> to <sys/float_ieee754.h>, following libc's
convention for these.


# 1.56 02-May-2003 ragge

Add ksyms.h.


# 1.55 19-Apr-2003 christos

Add a float_ieee.h file for all IEEE compliant archs to include.


# 1.54 18-Apr-2003 thorpej

* Add a generic power management event API, defined in <sys/power.h>.
Right now, only power switch state change events are supported. This
is a work-in-progress.
* Add support to sysmon for delivering power mangement events to userland.
Add poll, kqueue, and read entry points to sysmon.
* Adapt ACPI to use the new generic <sys/power.h> event types.

This provides the kernel support for a forthcoming powerd(8) which can
do nice things like gracefully shut the system down when an ACPI power
button is pressed.


# 1.53 10-Mar-2003 lukem

install sys/tree.h
organise INCS= lines to make it easier to add includes in the future


# 1.52 01-Feb-2003 thorpej

Add extensible malloc types, adapted from FreeBSD. This turns
malloc types into a structure, a pointer to which is passed around,
instead of an int constant. Allow the limit to be adjusted when the
malloc type is defined, or with a function call, as suggested by
Jonathan Stone.


# 1.51 20-Jan-2003 christos

add support for p1003.1b semaphores. From FreeBSD


# 1.50 18-Jan-2003 thorpej

Merge the nathanw_sa branch.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.49 27-Nov-2002 tron

For some mysterious reason we have to actually install "siginfo.h" to be
able to use it.


# 1.48 26-Nov-2002 lukem

Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.


# 1.47 29-Oct-2002 blymn

Added support for fingerprinted executables aka verified exec


Revision tags: kqueue-aftermerge
# 1.46 23-Oct-2002 jdolecek

install kqueue sys/event.h


Revision tags: kqueue-beforemerge kqueue-base
# 1.45 25-Sep-2002 augustss

Don't install map.h now that it's gone.


# 1.44 19-Sep-2002 ragge

Remove clist.h. Clist blocks has never existed in NetBSD.


Revision tags: gehenna-devsw-base
# 1.43 28-Aug-2002 gmcgarry

MI kernel support for user-level Restartable Atomic Sequences (RAS).


# 1.42 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.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.41 06-May-2002 lukem

branches: 1.41.2;
<sys/bootblock.h> is a better name than <sys/bootinfo.h>


# 1.40 06-May-2002 lukem

Replace <dev/sun/sun_boot.h> with <sys/bootinfo.h>, which is intended
to be more generic than ``bbinfo definitions for Sun-based systems''.
Other platforms can store bbinfo-style information here, and possibly
other platform-specific boot information that needs to be accessible
by foriegn platforms in tools such as /usr/sbin/installboot.


# 1.39 31-Mar-2002 bjh21

split /usr/include/sys/sha1.h and /usr/include/sha1.h completely.
future direction: nuke /usr/include/sys/sha1.h, it shouldn't be there as
we don't provide libkern to userland.

This mirrors the same change for md5.h made by itojun on 2000/12/11.


Revision tags: eeh-devprop-base newlock-base ifpoll-base
# 1.38 01-Jan-2002 augustss

branches: 1.38.4;
Add support for radio cards. Written by Maxim Tsyplakov and Vladimir Popov
for OpenBSD, from where it was imported.


# 1.37 05-Dec-2001 lukem

Add <sys/hash.h>, which currently implements three inline functions:

uint32_t hash32_buf(const void *buf, size_t len, uint32_t ihash)
return 32 bit hash of buf, size len,
seeded with initial hash of ihash (usually HASH32_BUF_INIT).
this hash may use a different algorithm to hash32_str() and
hash32_strn().

uint32_t hash32_str(const void *buf, uint32_t ihash)
return 32 bit hash of buf, which is an NUL terminated ascii string,
seeded with initial hash of ihash (usually HASH32_STR_INIT).
this hash may use a different algorithm to hash32_buf()
but must use the same algorithm as hash32_strn().

uint32_t hash32_strn(const void *buf, size_t len, uint32_t ihash)
return 32 bit hash of buf, which is an NUL terminated ascii string
up to a maximum of len bytes,
seeded with initial hash of ihash (usually HASH32_STR_INIT).
this hash may use a different algorithm to hash32_buf()
but must use the same algorithm as hash32_str().

As discussed on tech-kern@netbsd.org.


# 1.36 29-Nov-2001 lukem

Deprecate fnv_32_*() API. We'll replace this with a more generic hash API.


# 1.35 25-Nov-2001 thorpej

Install disklabel_acorn.h


# 1.34 19-Nov-2001 lukem

install fnv_hash.h


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3
# 1.33 05-Oct-2001 jmc

It's sys/properties.h. Fix typo


# 1.32 04-Oct-2001 eeh

Install sys/property.h


Revision tags: thorpej-devvp-base2
# 1.31 16-Sep-2001 pooka

fix tyop (literally)
clockctlh. -> clockctl.h


# 1.30 16-Sep-2001 jmc

Re-alphabetize list


# 1.29 16-Sep-2001 manu

Added missing include for clockctl.h


Revision tags: post-chs-ubcperf pre-chs-ubcperf
# 1.28 11-Sep-2001 simonb

Install agpio.h.


Revision tags: thorpej-devvp-base
# 1.27 16-Jun-2001 jdolecek

branches: 1.27.2; 1.27.4;
export sys/pipe.h


# 1.26 28-Apr-2001 kleink

* Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
intmax_t, pointer-type and size_t arguments.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.25 11-Dec-2000 itojun

branches: 1.25.2;
split /usr/include/sys/md5.h and /usr/include/md5.h completely.
future direction: nuke /usr/include/sys/md5.h, it shouldn't be there as
we don't provide libkern to userland.


# 1.24 08-Dec-2000 deberg

whoops, added a few things that weren't ready.


# 1.23 08-Dec-2000 deberg

add md4.h


# 1.22 04-Nov-2000 thorpej

Interface definition for watchdog timers.


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.21 04-Jun-2000 itojun

move socklen_t decl to sys/ansi.h.
sys/socket.h pulls in sys/ansi.h and declare socklen_t as necessary.
the change is to allow declaration of socklen_t with less inclusion ordering
constraints. (netdb.h needs this change)


# 1.20 28-May-2000 ragge

Remove vsio.h.


Revision tags: minoura-xpg4dl-base chs-ubc2-newbase
# 1.19 11-Jan-2000 kleink

branches: 1.19.2;
Harmless pasto in previous.


# 1.18 10-Jan-2000 kleink

Move <null.h> to <sys/null.h> for the purpose of avoiding conflicts due to
std C headers including it, and a kernel module written in C++ would benfit
as well.


# 1.17 02-Jan-2000 msaitoh

add exec_coff.h


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base
# 1.16 20-Dec-1999 jdc

Added envsys.h


Revision tags: comdex-fall-1999-base fvdl-softdep-base
# 1.15 01-Nov-1999 soren

Install dvdio.h.


# 1.14 25-Oct-1999 kleink

Install an <elf.h> symlink pointing to <sys/exec_elf.h>.


# 1.13 24-Aug-1999 christos

branches: 1.13.2; 1.13.4; 1.13.6;
Someone removed dmap.h but forgot to remove it from here.


# 1.12 21-Aug-1999 simonb

Add bswap.h and endian.h to ${INCS}.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base
# 1.11 20-Mar-1999 thorpej

Install cdefs_{aout,elf}.h


# 1.10 23-Feb-1999 ross

Add sched.h.


# 1.9 04-Feb-1999 explorer

Install sha1.h in /usr/include/sys, but make a symlink from /usr/include, just like is done for md5.h.


# 1.8 28-Jan-1999 mjacob

oops- pooched last delta


# 1.7 28-Jan-1999 mjacob

add disklabel_mbr.h so that builds continue to work (another cleanup after XXX task


# 1.6 24-Jan-1999 mycroft

We've never supported these interfaces.


# 1.5 12-Jan-1999 kleink

Separate the userland and libsa errno declarations from <sys/errno.h> into
their canonical places.


Revision tags: kenh-if-detach-base
# 1.4 19-Nov-1998 kenh

Rename wdcio->ataio.h, as per ICB cabal discussion.


Revision tags: chs-ubc-base
# 1.3 29-Aug-1998 mrg

add sys/swap.h, and not that vm/vm_swap.h should go away later.


# 1.2 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).


Revision tags: eeh-paddr_t-base
# 1.1 12-Jun-1998 cgd

Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.