History log of /freebsd-current/sys/sys/timepps.h
Revision Date Author Comments
# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 9feff969 08-Aug-2021 Ed Maste <emaste@FreeBSD.org>

Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights

These ones were unambiguous cases where the Foundation was the only
listed copyright holder (in the associated license block).

Sponsored by: The FreeBSD Foundation


# f6e54eb3 01-Sep-2020 Mateusz Guzik <mjg@FreeBSD.org>

sys: clean up empty lines in .c and .h files


# 64de3fdd 30-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

SPDX: use the Beerware identifier.


# 28315e27 04-May-2015 Ian Lepore <ian@FreeBSD.org>

Implement a mechanism for making changes in the kernel<->driver PPS
interface without breaking ABI or API compatibility with existing drivers.

The existing data structures used to communicate between the kernel and
driver portions of PPS processing contain no spare/padding fields and no
flags field or other straightforward mechanism for communicating changes
in the structures or behaviors of the code. This makes it difficult to
MFC new features added to the PPS facility. ABI compatibility is
important; out-of-tree drivers in module form are known to exist. (Note
that the existing api_version field in the pps_params structure must
contain the value mandated by RFC 2783 and any RFCs that come along after.)

These changes introduce a pair of abi-version fields which are filled in
by the driver and the kernel respectively to indicate the interface
version. The driver sets its version field before calling the new
pps_init_abi() function. That lets the kernel know how much of the
pps_state structure is understood by the driver and it can avoid using
newer fields at the end of the structure that it knows about if the driver
is a lower version. The kernel fills in its version field during the init
call, letting the driver know what features and data the kernel supports.

To implement the new version information in a way that is backwards
compatible with code from before these changes, the high bit of the
lightly-used 'kcmode' field is repurposed as a flag bit that indicates the
driver is aware of the abi versioning scheme. Basically if this bit is
clear that indicates a "version 0" driver and if it is set the driver_abi
field indicates the version.

These changes also move the recently-added 'mtx' field of pps_state from
the middle to the end of the structure, and make the kernel code that uses
this field conditional on the driver being abi version 1 or higher. It
changes the only driver currently supplying the mtx field, usb_serial, to
use pps_init_abi().

Reviewed by: hselasky@


# 35ee8a4a 07-Mar-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add mutex support to the pps_ioctl() API in the kernel.
Bump kernel version to reflect structure change.

PR: 196897
MFC after: 1 week


# 65e359a1 21-Nov-2011 Lawrence Stewart <lstewart@FreeBSD.org>

- Add Pulse-Per-Second timestamping using raw ffcounter and corresponding
ffclock time in seconds.

- Add IOCTL to retrieve ffclock timestamps from userland.

Committed on behalf of Julien Ridoux and Darryl Veitch from the University of
Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward
Clock Synchronization Algorithms" project.

For more information, see http://www.synclab.org/radclock/

Submitted by: Julien Ridoux (jridoux at unimelb edu au)


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 60727d8b 06-Jan-2005 Warner Losh <imp@FreeBSD.org>

/* -> /*- for license, minor formatting changes


# 2f234e2e 23-Nov-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Long overdue comment claification: RFC 2783 was approved long time ago.

Approved by: re@


# 9c30ce57 30-Apr-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Brucifixion ? Yes, out that door, row on the left, one patch each.


# 6b00cf46 28-Apr-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Stylistic sweep through the timecounter code.
Renovate comments.


# 62efba6a 26-Apr-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Now that the private parts of timecounters are no longer being fingered
by other bits of code, split struct timecounter into two.

struct timecounter contains just the bits which pertains to the hardware
counter and the reading of it.

struct timehands (as in "the hands on a clock") contains all the ugly bit
fidling stuff. Statically compile ten timehands.

This commit is the functional part. A later cosmetic patch will rename
various variables and fieldnames.


# 7bf758bf 26-Apr-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Simplify the RFC2783 and PPS_SYNC timestamp collection API.


# 789f12fe 19-Mar-2002 Alfred Perlstein <alfred@FreeBSD.org>

Remove __P


# 664a31e4 28-Dec-1999 Peter Wemm <peter@FreeBSD.org>

Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.


# 6f3a7b99 10-Oct-1999 John Hay <jhay@FreeBSD.org>

Update the comments to say we are at draft 05 now.


# b7424f2d 09-Oct-1999 John Hay <jhay@FreeBSD.org>

Update the PPSAPI to draft-mogul-pps-api-05.txt which is the latest.

NOTE: This will break building ntpd until ntpd has been upgraded to also
support draft 05. People that want to build ntpd in the meantime can
get patches from me.


# c3aac50f 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 9dd66845 13-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Add a notice saying that FreeBSD no longer tracks the PPS-API WG's drafts.


# fea1204c 30-Mar-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Specfic prototypes not needed.

Patiently explained by: bde


# 8e798ef1 30-Mar-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Even more unbogotification of prototypes.

Not complained about by: bde


# 32c20357 11-Mar-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Make even more of the PPSAPI implementations generic.

FLL support in hardpps()

Various magic shuffles and improved comments

Style fixes from Bruce.


# 96563a5b 22-Jun-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Typo fix.

Reviewed by: phk
Submitted by: John Hay <jhay@mikom.csir.co.za>


# 938ee3ce 13-Jun-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Introduce std_pps_ioctl() to automagically DTRT.

Add scaling capability to timex.offset, ntpd-4.0.73 will support this.


# 389825d5 12-Jun-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Update to draft-mogul-pps-api-02.txt as submitted to IETF


# 8afeddf0 07-Jun-1998 Poul-Henning Kamp <phk@FreeBSD.org>

This is a prototype implementation of the draft-mogul-pps-api-##.txt
paper.

It will be updated along with the draft and possible subsequent
standard.

The ppbus based pps driver is updated to implement this API.