aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/include/clock.h
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2018-05-25 07:33:20 +0000
committerAndriy Gapon <avg@FreeBSD.org>2018-05-25 07:33:20 +0000
commit279be68bfdf69ef764201a4adf9d689074a70d63 (patch)
tree9393a3233d7e2088969128e0cf3a75da0014fbcf /sys/i386/include/clock.h
parent620b779158880a4c5c1e84cca36ebe3b3801cceb (diff)
re-synchronize TSC-s on SMP systems after resume, if necessary
The TSC-s are checked and synchronized only if they were good originally. That is, invariant, synchronized, etc. This is necessary on an AMD-based system where after a wakeup from STR I see that BSP clock differs from AP clocks by a count that roughly corresponds to one second. The APs are in sync with each other. Not sure if this is a hardware quirk or a firmware bug. This is what I see after a resume with this change: SMP: passed TSC synchronization test after adjustment acpi_timer0: restoring timecounter, ACPI-fast -> TSC-low Reviewed by: kib MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D15551
Notes
Notes: svn path=/head/; revision=334204
Diffstat (limited to 'sys/i386/include/clock.h')
-rw-r--r--sys/i386/include/clock.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/i386/include/clock.h b/sys/i386/include/clock.h
index 564d231dde0c..91cdfe50f525 100644
--- a/sys/i386/include/clock.h
+++ b/sys/i386/include/clock.h
@@ -32,6 +32,7 @@ void clock_init(void);
void startrtclock(void);
void timer_restore(void);
void init_TSC(void);
+void resume_TSC(void);
#define HAS_TIMER_SPKR 1
int timer_spkr_acquire(void);