This adds support for setting the TAI value (International Atomic Time).
The value is reported back to userspace via timex (as we don't have a
ntp_gettime() syscall).
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
---
include/linux/compat.h | 3 ++-
include/linux/timex.h | 4 +++-
kernel/compat.c | 3 ++-
kernel/time/ntp.c | 7 +++++++
4 files changed, 14 insertions(+), 3 deletions(-)
Index: linux-2.6-mm/include/linux/compat.h
===================================================================
--- linux-2.6-mm.orig/include/linux/compat.h
+++ linux-2.6-mm/include/linux/compat.h
@@ -65,10 +65,11 @@ struct compat_timex {
compat_long_t calcnt;
compat_long_t errcnt;
compat_long_t stbcnt;
+ compat_int_t tai;
compat_int_t :32; compat_int_t :32; compat_int_t :32; compat_int_t :32;
compat_int_t :32; compat_int_t :32; compat_int_t :32; compat_int_t :32;
- compat_int_t :32; compat_int_t :32; compat_int_t :32; compat_int_t :32;
+ compat_int_t :32; compat_int_t :32; compat_int_t :32;
};
#define _COMPAT_NSIG_WORDS (_COMPAT_NSIG / _COMPAT_NSIG_BPW)
Index: linux-2.6-mm/include/linux/timex.h
===================================================================
--- linux-2.6-mm.orig/include/linux/timex.h
+++ linux-2.6-mm/include/linux/timex.h
@@ -116,9 +116,11 @@ struct timex {
long errcnt; /* calibration errors (ro) */
long stbcnt; /* stability limit exceeded (ro) */
+ int tai; /* TAI offset (ro) */
+
int :32; int :32; int :32; int :32;
int :32; int :32; int :32; int :32;
- int :32; int :32; int :32; int :32;
+ int :32; int :32; int :32;
};
/*
@@ -135,6 +135,7 @@ struct timex {
#define ADJ_ESTERROR 0x0008 /* estimated time error */
#define ADJ_STATUS 0x0010 /* clock status */
#define ADJ_TIMECONST 0x0020 /* pll time constant */
+#define ADJ_TAI 0x0080 /* set TAI offset */
#define ADJ_MICRO 0x1000 /* select microsecond resolution */
#define ADJ_NANO 0x2000 /* sel...Very cool. I just was talking with someone who was looking for a TAI interface. Minor nit below. I think timekeeping.c would be the better place for time_tai, keeping it These manipulations could also be done in the --
| Andi Kleen | [PATCH x86] [6/16] Add a new arch_early_alloc() interface for x86-64 |
| Jay L. T. Cornwall | 2.6.22-rc5: pdflush oops under heavy disk load |
| Adrian Bunk | If you want me to quit I will quit |
| H. Willstrand | Re: AMD Quad Core clock problem? |
git: | |
| Pietro Mascagni | GIT vs Other: Need argument |
| Wink Saville | Resolving conflicts |
| Wink Saville | Using git with Eclipse |
| Toby White | Using Filemerge.app as a git-diff viewer |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Beavis | mutiple pptp pass-through PF |
| Andrei Pirvan | apache 1.3.29 + PHP 5.2.6 on OpenBSD 4.4 |
| STeve Andre' | Re: Perpetually Current |
| Herbert Xu | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Denys | r8169 crash |
| David Miller | Re: [crash] BUG: unable to handle kernel NULL pointer dereference at 0000000000000... |
| Jianjun Kong | [PATCH 2/6] nets: clean up net/ipv4/ipip.c raw.c tcp.c tcp_minisocks.c tcp_yeah.c ... |
