K 10 svn:author V 6 kevans K 8 svn:date V 27 2020-12-30T01:12:48.471023Z K 7 svn:log V 1750 MFC kern: _umtx_op: compat32 refactoring 63ecb272: umtx_op: reduce redundancy required for compat32 All of the compat32 variants are substantially the same, save for copyin/copyout (mostly). Apply the same kind of technique used with kevent here by having the syscall routines supply a umtx_copyops describing the operations needed. umtx_copyops carries the bare minimum needed- size of timespec and _umtx_time are used for determining if copyout is needed in the sem2_wait case. bd4bcd14: Fix !COMPAT_FREEBSD32 kernel build One of the last shifts inadvertently moved these static assertions out of a COMPAT_FREEBSD32 block, which the relevant definitions are limited to. Fix it. 27a9392d: _umtx_op: fix robust lists after r367744 A copy-pasto left us copying in 24-bytes at the address of the rb pointer instead of the intended target. 15eaec6a: _umtx_op: move compat32 definitions back in These are reasonably compact, and a future commit will blur the compat32 lines by supporting 32-bit operations with the native _umtx_op. 60e60e73: freebsd32: take the _umtx_op struct definitions back Providing these in freebsd32.h facilitates local testing/measuring of the structs rather than forcing one to locally recreate them. Sanity checking offsets/sizes remains in kern_umtx.c where these are typically used. (cherry picked from commit 63ecb272a00c6f084a33db1c6ad3e925d4dcf015) (cherry picked from commit bd4bcd14e3eae6f70790be65e862f89e2596b9af) (cherry picked from commit 27a9392d543933f1aaa4e4ddae2a1585a72db1b2) (cherry picked from commit 15eaec6a5c04b1cce7594cd1278600d7a57efc5a) (cherry picked from commit 60e60e73fd9d185d62c36a499e21c124629eb8ba) Git Hash: 2be2474a198c1d66f999d14404335d69400c488b Git Author: kevans@FreeBSD.org END