Disable caches and MMU before jumping to the kernel entry point. Needed
because UEFI on 32-bit ARM is supposed to leave them enabled and U-boot
was changed (starting with release 2019.04) to follow the spec here. However
the OpenBSD/armv7 kernel expects to be booted with caches and MMU turned off.
Note that there are still issues on boards that enable the non-architected
L2 cache. UEFI demands that such caches are not turned on, but U-Boot
does turn them on and this makes our kernel fail to boot.
With help from jsg@
Even when polling is requested, install ihidev's interrupt handler
If an interrupt is received, turn off polling and rely on
interrupts. This may happen after S3 resume.
Also properly shut down polling during suspend and start it up again
on resume only after dwiic is back in action.
implement SO_DOMAIN and SO_PROTOCOL so that the domain and the protocol
can also be retrieved with getsockopt(3)
it looks like these will also be in the next issue of posix:
ok claudio@, sthen@
Grab the vnode lock earlier in sys_getdents() since it could end up
sleeping, allowing the file offset to change. This is part of the
ongoing effort to protect the file offset using the vnode lock.
ok mpi@ visa@
Correct minor style nit in sys_getdents() for consistency, missing parens around