From: Chris Johns <chr...@rtems.org> --- freebsd/sys/kern/kern_ntptime.c | 17 +++++++++++++++++ libbsd.py | 1 + 2 files changed, 18 insertions(+)
diff --git a/freebsd/sys/kern/kern_ntptime.c b/freebsd/sys/kern/kern_ntptime.c index 116fb584..518adab5 100644 --- a/freebsd/sys/kern/kern_ntptime.c +++ b/freebsd/sys/kern/kern_ntptime.c @@ -276,6 +276,10 @@ ntp_gettime1(struct ntptimeval *ntvp) * See the timex.h header file for synopsis and API description. Note that * the TAI offset is returned in the ntvtimeval.tai structure member. */ +#ifdef __rtems__ +#undef _SYS_SYSPROTO_H_ +#endif /* __rtems__ */ + #ifndef _SYS_SYSPROTO_H_ struct ntp_gettime_args { struct ntptimeval *ntvp; @@ -311,7 +315,11 @@ ntp_sysctl(SYSCTL_HANDLER_ARGS) return (sysctl_handle_opaque(oidp, &ntv, sizeof(ntv), req)); } +#ifndef __rtems__ SYSCTL_NODE(_kern, OID_AUTO, ntp_pll, CTLFLAG_RW, 0, ""); +#else /* __rtems__ */ +SYSCTL_NODE(_kern, OID_AUTO, ntp_pll, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, ""); +#endif /* __rtems__ */ SYSCTL_PROC(_kern_ntp_pll, OID_AUTO, gettime, CTLTYPE_OPAQUE | CTLFLAG_RD | CTLFLAG_MPSAFE, 0, sizeof(struct ntptimeval) , ntp_sysctl, "S,ntptimeval", ""); @@ -367,8 +375,10 @@ sys_ntp_adjtime(struct thread *td, struct ntp_adjtime_args *uap) * status words are reset to the initial values at boot. */ modes = ntv.modes; +#ifndef __rtems__ if (modes) error = priv_check(td, PRIV_NTP_ADJTIME); +#endif /* __rtems__ */ if (error != 0) return (error); NTP_LOCK(); @@ -477,7 +487,11 @@ sys_ntp_adjtime(struct thread *td, struct ntp_adjtime_args *uap) error = copyout((caddr_t)&ntv, (caddr_t)uap->tp, sizeof(ntv)); if (error == 0) +#ifdef __rtems__ + error = retval; +#else /* __rtems__ */ td->td_retval[0] = retval; +#endif /* __rtems__ */ return (error); } @@ -1056,6 +1070,7 @@ done: return (0); } +#ifndef __rtems__ SYSCTL_PROC(_machdep, OID_AUTO, rtc_save_period, CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, &resettodr_period, 1800, sysctl_resettodr_period, "I", "Save system time to RTC with this period (in seconds)"); @@ -1075,3 +1090,5 @@ start_periodic_resettodr(void *arg __unused) SYSINIT(periodic_resettodr, SI_SUB_LAST, SI_ORDER_MIDDLE, start_periodic_resettodr, NULL); + +#endif /* __rtems__ */ diff --git a/libbsd.py b/libbsd.py index c9151901..a3003344 100644 --- a/libbsd.py +++ b/libbsd.py @@ -505,6 +505,7 @@ class base(builder.Module): 'sys/kern/kern_mib.c', 'sys/kern/kern_module.c', 'sys/kern/kern_mtxpool.c', + 'sys/kern/kern_ntptime.c', 'sys/kern/kern_osd.c', 'sys/kern/kern_synch.c', 'sys/kern/kern_sysctl.c', -- 2.17.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel