Go to file
riastradh be765157c3 ihidev(4): Fix locking and interrupt handler.
- Can't run iic_exec in softint because it does cv_wait, at least on
  some i2c controllers -- defer to workqueue instead.

- Fix violations of locking rules:
  . Do not take a lock at higher IPL than it is defined at!
  . Do not sleep under a lock!
  . Definitely do not sleep under a spin lock!
  In this case, sc_intr_lock was defined at IPL_VM but used at IPL_TTY,
  and i2c transactions -- possibly causing sleep for cv_wait -- were
  issued under it.

  But in this case, the interrupt handler needs only a single bit to
  mark whether the work is pending, so just use atomic_swap for that.

- Use an adaptive lock (IPL_NONE) for i2c transactions.

- Detach children, and do so before freeing anything.
2022-01-14 22:25:49 +00:00
bin sh(1): improve getopts docs for optstring leading : 2022-01-07 05:30:30 +00:00
common fix various typos in comments. 2021-12-12 22:20:52 +00:00
compat remove obsolete files. 2021-06-18 06:34:00 +00:00
crypto merge conflicts between openssl-1-1-1k and openssl-1-1-1m 2022-01-07 15:50:10 +00:00
dist/pf Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889. 2021-07-24 21:31:31 +00:00
distrib bump 2022-01-13 08:25:24 +00:00
doc doc: sysinst WLAN changes 2022-01-11 10:07:23 +00:00
etc Install the missing sh syntax element in the MKDEBUGKERNEL = no test, so 2022-01-05 01:46:28 +00:00
external don't blindly enable memory and IO access on macppc 2022-01-14 19:44:04 +00:00
extsrc
games s/totaled/totalled/ 2021-12-31 12:42:24 +00:00
include err.h: dead once is dead enough 2022-01-06 00:16:47 +00:00
lib Don't use __printflike, use the explicit attribute so that this works outside 2022-01-14 13:31:05 +00:00
libexec bozohttpd: remove obsolete .bzdirect handling 2022-01-04 06:08:14 +00:00
regress introduce a SOL_LOCAL for unix-domain socket level socket options 2021-08-08 20:54:48 +00:00
rescue smb is no more. 2020-04-04 17:57:16 +00:00
sbin mention ifmcstat(8) in SEE ALSO. 2022-01-07 10:17:39 +00:00
share Fix typo, remove dot 2022-01-06 22:10:39 +00:00
sys ihidev(4): Fix locking and interrupt handler. 2022-01-14 22:25:49 +00:00
tests Trailing whitespace 2022-01-14 07:34:07 +00:00
tools Make dtc on riscv 2021-11-14 15:48:02 +00:00
usr.bin Add unit-test for .MAKE.META.CMP_FILTER 2022-01-14 19:31:44 +00:00
usr.sbin Add Alder Lake, Rocket Lake and Sapphire Rapids. From the latest Intel SDM. 2022-01-13 16:02:44 +00:00
BUILDING Rename: 2021-12-20 20:33:20 +00:00
Makefile G/c spurious whitespace. 2020-10-29 20:26:24 +00:00
Makefile.inc
README.md README: use https for man.NetBSD.org 2021-09-05 12:45:44 +00:00
UPDATING s/dissallow/disallow/ 2021-12-07 21:45:31 +00:00
build.sh Don't try to install netbsd-CONFIG.debug files build with kernel= 2021-12-31 15:43:35 +00:00

README.md

NetBSD

NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.

Building

You can cross-build NetBSD from most UNIX-like operating systems. To build for amd64 (x86_64), in the src directory:

./build.sh -U -u -j4 -m amd64 -O ~/obj release

Additional build information available in the BUILDING file.

Binaries

Testing

On a running NetBSD system:

cd /usr/tests; atf-run | atf-report

Troubleshooting

Latest sources

To fetch the main CVS repository:

cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P src

To work in the Git mirror, which is updated every few hours from CVS:

git clone https://github.com/NetBSD/src.git