This patch takes advantage of the consolidation that happened to provide two flags that can be used with the native _umtx_op(2): UMTX_OP___32BIT and UMTX_OP__32BIT_I386.
UMTX_OP__32BIT indicates that we are being provided with 32-bit structures. Note that 32bit alone indicates a 64bit time_t, since this is the majority case.
UMTX_OP__32BIT_I386 has been provided so that we can emulate i386 as well, regardless of whether the host is amd64 or not.
Both imply a different set of copyops in sysumtx_op. freebsd32umtx_op simply ignores the flags, since it's already doing a 32-bit operation and it's unlikely we'll be running an emulator under compat32.
This could be cleaned up a little more by moving the native compat32 bits out into compat/freebsd32, but we need them in the __32BIT case anyways (except on amd64).