mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 19:15:07 -05:00
Add PHC refclock driver
Implement a driver which allows using PTP hardware clock (PHC) as a reference clock. It uses the PTP_SYS_OFFSET ioctl or clock_gettime() to measure the offset between the PTP clock and the system clock. Ten readings are made for every driver poll and the fastest one is returned. As PHCs are typically kept in TAI instead of UTC, it's necessary to set the TAI/UTC offset manually by the offset option. This could be improved by obtaining the offset automatically from the right/UTC timezone.
This commit is contained in:
14
configure
vendored
14
configure
vendored
@@ -108,6 +108,7 @@ For better control, use the options below.
|
||||
--without-nss Don't use NSS even if it is available
|
||||
--without-tomcrypt Don't use libtomcrypt even if it is available
|
||||
--disable-ipv6 Disable IPv6 support
|
||||
--disable-phc Disable PHC support
|
||||
--disable-pps Disable PPS API support
|
||||
--disable-rtc Don't include RTC even on Linux
|
||||
--disable-linuxcaps Disable Linux capabilities support
|
||||
@@ -184,6 +185,8 @@ readline_lib=""
|
||||
readline_inc=""
|
||||
ncurses_lib=""
|
||||
feat_ipv6=1
|
||||
feat_phc=1
|
||||
try_phc=0
|
||||
feat_pps=1
|
||||
try_setsched=0
|
||||
try_lockmem=0
|
||||
@@ -253,6 +256,9 @@ do
|
||||
--disable-ipv6)
|
||||
feat_ipv6=0
|
||||
;;
|
||||
--disable-phc)
|
||||
feat_phc=0
|
||||
;;
|
||||
--disable-pps)
|
||||
feat_pps=0
|
||||
;;
|
||||
@@ -315,6 +321,7 @@ case $SYSTEM in
|
||||
try_rtc=1
|
||||
try_setsched=1
|
||||
try_lockmem=1
|
||||
try_phc=1
|
||||
add_def LINUX
|
||||
echo "Configuring for " $SYSTEM
|
||||
if [ "${MACHINE}" = "alpha" ]; then
|
||||
@@ -443,6 +450,13 @@ then
|
||||
add_def FEAT_RTC
|
||||
fi
|
||||
|
||||
if [ $feat_phc = "1" ] && [ $try_phc = "1" ] && \
|
||||
test_code '<linux/ptp_clock.h>' 'sys/ioctl.h linux/ptp_clock.h' '' '' \
|
||||
'ioctl(1, PTP_CLOCK_GETCAPS, 0);'
|
||||
then
|
||||
add_def FEAT_PHC
|
||||
fi
|
||||
|
||||
if [ $try_setsched = "1" ] && \
|
||||
test_code \
|
||||
'sched_setscheduler()' \
|
||||
|
||||
Reference in New Issue
Block a user