diff options
Diffstat (limited to 'usr.sbin/xntpd/patches/patch.22')
-rw-r--r-- | usr.sbin/xntpd/patches/patch.22 | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/usr.sbin/xntpd/patches/patch.22 b/usr.sbin/xntpd/patches/patch.22 deleted file mode 100644 index 8b4296c..0000000 --- a/usr.sbin/xntpd/patches/patch.22 +++ /dev/null @@ -1,296 +0,0 @@ - -Received: from louie.udel.edu by huey.udel.edu id aa02110; 24 Feb 94 18:54 EST -Received: from faui45.informatik.uni-erlangen.de by louie.udel.edu id aa13897; - 24 Feb 94 18:53 EST -Received: from faui43.informatik.uni-erlangen.de by uni-erlangen.de with SMTP; - id AA27796 (5.65c-6/7.3v-FAU); Fri, 25 Feb 1994 00:53:32 +0100 -Received: from faui45x.informatik.uni-erlangen.de by immd4.informatik.uni-erlangen.de with SMTP; - id AA16114 (5.65c-6/7.3m-FAU); Fri, 25 Feb 1994 00:53:31 +0100 -From: Frank Kardel <Frank.Kardel@informatik.uni-erlangen.de> -Message-Id: <199402242353.AA16114@faui43.informatik.uni-erlangen.de> -Subject: patches (parse pps/pll control) -To: mills@udel.edu -Date: Fri, 25 Feb 94 0:52:59 MET -X-Mailer: ELM [version 2.3 PL11] - -Hi, here are some patches. - -pps pll control is nor supported by parse. -pps output variable are readable via mode 6 messages. - -diff -c v3/parse/parsestreams.c:1.1.1.10 v3/parse/parsestreams.c:3.19 -*** v3/parse/parsestreams.c:1.1.1.10 Fri Feb 25 00:44:41 1994 ---- v3/parse/parsestreams.c Fri Feb 25 00:44:41 1994 -*************** -*** 1,7 **** - /* -! * /src/NTP/REPOSITORY/v3/parse/parsestreams.c,v 3.17 1994/02/20 15:18:02 kardel Exp - * -! * parsestreams.c,v 3.17 1994/02/20 15:18:02 kardel Exp - * - * STREAMS module for reference clocks - * (SunOS4.x) ---- 1,7 ---- - /* -! * /src/NTP/REPOSITORY/v3/parse/parsestreams.c,v 3.19 1994/02/24 16:33:54 kardel Exp - * -! * parsestreams.c,v 3.19 1994/02/24 16:33:54 kardel Exp - * - * STREAMS module for reference clocks - * (SunOS4.x) -*************** -*** 16,22 **** - */ - - #ifndef lint -! static char rcsid[] = "parsestreams.c,v 3.17 1994/02/20 15:18:02 kardel Exp"; - #endif - - #include "sys/types.h" ---- 16,22 ---- - */ - - #ifndef lint -! static char rcsid[] = "parsestreams.c,v 3.19 1994/02/24 16:33:54 kardel Exp"; - #endif - - #include "sys/types.h" -*************** -*** 195,201 **** - } - else - { -! static char revision[] = "3.17"; - char *s, *S, *t; - - strncpy(ifm->f_name, mname, FMNAMESZ); ---- 195,201 ---- - } - else - { -! static char revision[] = "3.19"; - char *s, *S, *t; - - strncpy(ifm->f_name, mname, FMNAMESZ); -*************** -*** 1076,1081 **** ---- 1076,1086 ---- - - #define MAXDEPTH 50 /* maximum allowed stream crawl */ - -+ #ifdef PPS_SYNC -+ extern hardpps(); -+ extern struct timeval time; -+ #endif -+ - /* - * take external status interrupt (only CD interests us) - */ -*************** -*** 1087,1101 **** - register queue_t *q; - register unsigned char zsstatus; - register int loopcheck; -- register unsigned char cdstate; - register char *dname; - - /* - * pick up current state - */ - zsstatus = zsaddr->zscc_control; - -! if (za->za_rr0 ^ (cdstate = zsstatus & ZSRR0_CD)) - { - timestamp_t cdevent; - register int status; ---- 1092,1109 ---- - register queue_t *q; - register unsigned char zsstatus; - register int loopcheck; - register char *dname; -+ #ifdef PPS_SYNC -+ register int s; -+ register long usec; -+ #endif - - /* - * pick up current state - */ - zsstatus = zsaddr->zscc_control; - -! if ((za->za_rr0 ^ zsstatus) & (ZSRR0_CD|ZSRR0_SYNC)) - { - timestamp_t cdevent; - register int status; -*************** -*** 1103,1129 **** - /* - * CONDITIONAL external measurement support - */ -! SET_LED(cdstate); /* - * inconsistent with upper SET_LED, but this - * is for oscilloscope business anyway and we - * are just interested in edge delays in the - * lower us range - */ -! - /* - * time stamp - */ - uniqtime(&cdevent.tv); -! -! TIMEVAL_USADD(&cdevent.tv, xsdelay); -! -! q = za->za_ttycommon.t_readq; - - /* - * logical state - */ -! status = cd_invert ? cdstate == 0 : cdstate != 0; - - /* - * ok - now the hard part - find ourself - */ ---- 1111,1155 ---- - /* - * CONDITIONAL external measurement support - */ -! SET_LED(zsstatus & (ZSRR0_CD|ZSRR0_SYNC)); /* - * inconsistent with upper SET_LED, but this - * is for oscilloscope business anyway and we - * are just interested in edge delays in the - * lower us range - */ -! #ifdef PPS_SYNC -! s = splclock(); -! usec = time.tv_usec; -! #endif - /* - * time stamp - */ - uniqtime(&cdevent.tv); -! -! #ifdef PPS_SYNC -! splx(s); -! #endif - - /* - * logical state - */ -! status = cd_invert ? (zsstatus & (ZSRR0_CD|ZSRR0_SYNC)) == 0 : (zsstatus & (ZSRR0_CD|ZSRR0_SYNC)) != 0; - -+ #ifdef PPS_SYNC -+ if (status) -+ { -+ usec = cdevent.tv.tv_usec - usec; -+ if (usec < 0) -+ usec += 1000000; -+ -+ hardpps(&cdevent.tv, usec); -+ } -+ #endif -+ -+ TIMEVAL_USADD(&cdevent.tv, xsdelay); -+ -+ q = za->za_ttycommon.t_readq; -+ - /* - * ok - now the hard part - find ourself - */ -*************** -*** 1179,1188 **** - /* - * only pretend that CD has been handled - */ -! za->za_rr0 = za->za_rr0 & ~ZSRR0_CD | zsstatus & ZSRR0_CD; - ZSDELAY(2); - -! if (!((za->za_rr0 ^ zsstatus) & ~ZSRR0_CD)) - { - /* - * all done - kill status indication and return ---- 1205,1214 ---- - /* - * only pretend that CD has been handled - */ -! za->za_rr0 = za->za_rr0 & ~(ZSRR0_CD|ZSRR0_SYNC) | zsstatus & (ZSRR0_CD|ZSRR0_SYNC); - ZSDELAY(2); - -! if (!((za->za_rr0 ^ zsstatus) & ~(ZSRR0_CD|ZSRR0_SYNC))) - { - /* - * all done - kill status indication and return -*************** -*** 1260,1265 **** ---- 1286,1297 ---- - * History: - * - * parsestreams.c,v -+ * Revision 3.19 1994/02/24 16:33:54 kardel -+ * CD events can also be posted on sync flag -+ * -+ * Revision 3.18 1994/02/24 14:12:58 kardel -+ * initial PPS_SYNC support version -+ * - * Revision 3.17 1994/02/20 15:18:02 kardel - * rcs id cleanup - * -diff -c v3/xntpd/ntp_loopfilter.c:1.1.1.33 v3/xntpd/ntp_loopfilter.c:3.40 -*** v3/xntpd/ntp_loopfilter.c:1.1.1.33 Fri Feb 25 00:46:20 1994 ---- v3/xntpd/ntp_loopfilter.c Fri Feb 25 00:46:21 1994 -*************** -*** 522,529 **** ---- 522,545 ---- - ntv.maxerror = sys_rootdispersion + sys_rootdelay / 2; - ntv.esterror = sys_rootdispersion; - ntv.time_constant = time_constant; -+ ntv.shift = 0; - (void)ntp_adjtime(&ntv); - drift_comp = ntv.frequency; -+ if (ntv.shift != 0) { -+ char buf[128]; -+ (void) sprintf(buf, "pps_freq=%s", fptoa(ntv.ybar, 3)); -+ set_sys_var(buf, strlen(buf)+1, RO|DEF); -+ (void) sprintf(buf, "pps_disp=%s", fptoa(ntv.disp, 3)); -+ set_sys_var(buf, strlen(buf)+1, RO|DEF); -+ (void) sprintf(buf, "pps_interval=%ld",1 << ntv.shift); -+ set_sys_var(buf, strlen(buf)+1, RO); -+ (void) sprintf(buf, "pps_intervals=%ld", ntv.calcnt); -+ set_sys_var(buf, strlen(buf)+1, RO); -+ (void) sprintf(buf, "pps_jitterexceeded=%ld", ntv.jitcnt); -+ set_sys_var(buf, strlen(buf)+1, RO); -+ (void) sprintf(buf, "pps_dispersionexceeded=%ld", ntv.discnt); -+ set_sys_var(buf, strlen(buf)+1, RO); -+ } - #endif /* KERNEL_PLL */ - } else { - if (offset < 0) { -*************** -*** 725,730 **** ---- 741,748 ---- - "loop_config: skew compensation %s too large", - fptoa(tmp, 5)); - } else { -+ char var[40]; -+ - drift_comp = tmp; - - #if defined(KERNEL_PLL) -*************** -*** 751,756 **** ---- 769,778 ---- - syslog(LOG_NOTICE, - "%susing kernel phase-lock loop", - (pll_control) ? "" : "Not "); -+ (void)sprintf(var, "kernel_pll=%s", pll_control ? "true" : "false"); -+ -+ set_sys_var(var, strlen(var)+1, RO); -+ - #if DEBUG - if (debug) - printf("pll_control %d\n", pll_control); --- - Frank Kardel (kardel@informatik.uni-erlangen.de) - All SCSI disks will from now on be required to send an email - notice 24 hours prior to complete hardware failure! - |