On Tue, Nov 17, 2020 at 03:36:58AM +0000, Kyle Evans wrote: > Modified: head/sys/compat/freebsd32/freebsd32.h > ============================================================================== > --- head/sys/compat/freebsd32/freebsd32.h Tue Nov 17 03:34:01 2020 > (r367743) > +++ head/sys/compat/freebsd32/freebsd32.h Tue Nov 17 03:36:58 2020 > (r367744) > @@ -94,6 +94,27 @@ struct itimerval32 { > struct timeval32 it_value; > }; > > +struct umtx_time32 { > + struct timespec32 _timeout; > + uint32_t _flags; > + uint32_t _clockid; > +}; > + > +struct umtx_robust_lists_params_compat32 { > + uint32_t robust_list_offset; > + uint32_t robust_priv_list_offset; > + uint32_t robust_inact_offset; > +}; > + > +struct umutex32 { > + volatile __lwpid_t m_owner; /* Owner of the mutex */ > + __uint32_t m_flags; /* Flags of the mutex */ > + __uint32_t m_ceilings[2]; /* Priority protect ceiling */ > + __uint32_t m_rb_lnk; /* Robust linkage */ > + __uint32_t m_pad; > + __uint32_t m_spare[2]; > +}; > + > #define FREEBSD4_MFSNAMELEN 16 > #define FREEBSD4_MNAMELEN (88 - 2 * sizeof(int32_t)) > > > Modified: head/sys/compat/freebsd32/freebsd32_misc.c > ============================================================================== > --- head/sys/compat/freebsd32/freebsd32_misc.c Tue Nov 17 03:34:01 > 2020 (r367743) > +++ head/sys/compat/freebsd32/freebsd32_misc.c Tue Nov 17 03:36:58 > 2020 (r367744) > @@ -84,6 +84,7 @@ __FBSDID("$FreeBSD$"); > #include <sys/thr.h> > #include <sys/unistd.h> > #include <sys/ucontext.h> > +#include <sys/umtx.h> > #include <sys/vnode.h> > #include <sys/wait.h> > #include <sys/ipc.h> > @@ -3764,4 +3765,12 @@ freebsd32_sched_rr_get_interval(struct thread *td, > error = copyout(&ts32, uap->interval, sizeof(ts32)); > } > return (error); > +} > + > +int > +freebsd32__umtx_op(struct thread *td, struct freebsd32__umtx_op_args *uap) > +{ > + > + return (kern__umtx_op(td, uap->obj, uap->op, uap->val, uap->uaddr, > + uap->uaddr2, &umtx_native_ops32)); > } >
Putting any of this under compat/freebsd32 seems like a somewhat odd choice since all the work is done in kern_umtx.h. In CheriBSD, everything just lives there so nothing has to be exposed in headers. -- Brooks
signature.asc
Description: PGP signature