This directory contains upstream NetBSD source. You should not edit these
files directly. Make fixes upstream and then pull down the new version of
the file.

Note that code in the other 'netbsd' directory contains Android modifications.
We should work towards getting as many of those changes as possible upstream
and then losing those files in favor of pure upstream copies here instead.

TODO: write a script to make this process automated.
