Go to file
mrg 8c07fa7cf5 fix various problems i've seen where cv_*wait*() return ERESTART,
which is -3 in netbsd, which we have mapped linux ERESTARTSYS to.

this has a problem because linux code often returns errors and
pointers in the same value, and pointer values between -4095 and
-1 are considered as error returns, but -3 ends up as 3 and thus
is not considered an error, and mayhem ensues.

with this in place my kabylake system seems actually stable, i
have not triggered any of my prior issues in almost 4 weeks now.


Taylor asked me to write up a description and then wrote most of
the text below for me :-)


In Linux code, we always work with ERESTARTSYS so the code meaning
start over is a positive NetBSD errno safe for PTR_ERR/ERR_PTR.
To achieve this:
1. adapt all cv_waits that return to Linux so they map ERESTART to
   ERESTARTSYS, and
2. adapt all returns to userland so they convert ERESTARTSYS to
   ERESTART.
Leave EINTR and all other error codes alone.
2019-04-16 10:00:04 +00:00
bin -compact must come last 2019-04-15 20:35:25 +00:00
common Fix typo: __aebi_memset -> __aeabi_memset 2019-03-30 10:18:03 +00:00
compat don't build kernel grovelling tools as n64 on sgimips - we don't actually have 2018-09-20 02:51:21 +00:00
crypto regen 2019-03-13 23:37:48 +00:00
dist/pf - enlarge buffer to avoid snprintf() truncation 2019-02-03 10:48:46 +00:00
distrib Remove sun50i support from 32-bit GENERIC. 2019-04-13 10:58:11 +00:00
doc spelling 2019-04-15 23:16:59 +00:00
etc Include npf_boot rc.d scripts which loads an interim config early in boot. 2019-04-10 00:32:15 +00:00
external fix -I paths for powerpc*. convert amd64 specific hack. 2019-04-16 08:08:18 +00:00
extsrc
games Report the users score _after_ the game has ended and the screen has 2019-03-19 00:11:34 +00:00
include merge tzcode 2019a 2019-04-04 18:18:52 +00:00
lib revert previously. we want riscv32 to have 128 bit long double... 2019-04-16 08:04:23 +00:00
libexec r_symndx is no longer declared, use symnum and initialize it before use. 2019-04-15 19:13:03 +00:00
regress Eliminate regress/libexec/ld.elf_so/expand 2019-04-06 16:25:52 +00:00
rescue fix duplicated chunk from merge 2019-01-27 04:33:29 +00:00
sbin Omit mention of old vnd(4) bug, now resolved. 2019-04-13 19:29:27 +00:00
share Provide a simpler config for a host which permits any traffic from the host out, 2019-04-15 22:38:48 +00:00
sys fix various problems i've seen where cv_*wait*() return ERESTART, 2019-04-16 10:00:04 +00:00
tests Re-arrange the ufetchstore tests to look like the other ones. 2019-04-15 23:41:23 +00:00
tools Add MKLLVMRT to build a subset of the LLVM stack for JIT purposes. 2019-04-03 15:21:58 +00:00
usr.bin Undefine SSE stuff; we don't want portable code to depend on it and we 2019-04-13 15:08:49 +00:00
usr.sbin cpuctl.8: update the URL for AMD microcode, the previous site listed is 2019-04-15 22:37:13 +00:00
BUILDING regen 2018-07-29 20:53:41 +00:00
Makefile .WAIT for tools to complete. 2018-11-11 07:43:35 +00:00
Makefile.inc
README.md Tidy up a bit. 2018-10-23 15:44:42 +00:00
UPDATING add a quick note about gcc 7 likely causing update build failures. 2019-02-08 09:57:01 +00:00
build.sh add aliases for evbarm without saying 'earm': 2019-02-08 02:05:32 +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