Remove the old USB stack and related userland, etc. As detailed in UPDATING, users with a custom configuration file which was derived from a *GENERIC file before we made usb4bsd default (this happened in 3.6) might need to remove or comment out a couple of devices which are now unknown.
kernel - Make filters able to be marked MPSAFE * Change struct filterops f_isfd field to f_flags, taking FILTEROP_ISFD and/or FILTEROP_MPSAFE. * Convert all existing filter definitions to use new flags. * Create filter_attach/detach/event wrapper functions for calling through the struct filterops vector that grab the MPLOCK as necessary. * kern_event() uses kq->kq_count to determine whether or not to sleep, kqueue_scan() removes events from the TAILQ and can possibly sleep, releasing the global kq token, before updating kq->kq_count.
kernel - Fix kqfilter error return codes * Some kqfilters returned an Exxx error, others return 1 on error, and the device kq code returned -1 on error. * All kqfilters now return a proper Exxx error. * When an EVFILT is not implemented, EOPNOTSUPP is now returned. EPERM is no longer returned.
AMD64 - Refactor uio_resid and size_t assumptions. * uio_resid changed from int to size_t (size_t == unsigned long equivalent). * size_t assumptions in most kernel code has been refactored to operate in a 64 bit environment. * In addition, the 2G limitation for VM related system calls such as mmap() has been removed in 32 bit environments. Note however that because read() and write() return ssize_t, these functions are still limited to a 2G byte count in 32 bit environments.
Fix the way <sys/ioccom.h> is included throughout our tree. The original intention was to include it only in header files which define ioctl codes and not in .c or .h files which include headers that define ioctl codes. Adjust the tree to follow this idea. Pointed-out-by: Guy Harris <guy@alum.mit.edu> Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1334>