From f06f1d1fdb969fa7a0a6eefa030d8536f365eb6e Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 6 Dec 2021 10:39:08 -0500 Subject: [PATCH] x86: Deduplicate clock.h The headers were mostly identical on amd64 and i386. No functional change intended. Reviewed by: cperciva, mav, imp, kib, jhb MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33205 --- sys/amd64/include/clock.h | 45 ++------------------------------------ sys/i386/include/clock.h | 42 ++--------------------------------- sys/x86/include/clock.h | 46 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 83 deletions(-) create mode 100644 sys/x86/include/clock.h diff --git a/sys/amd64/include/clock.h b/sys/amd64/include/clock.h index 86a4541568ed..57233651aef3 100644 --- a/sys/amd64/include/clock.h +++ b/sys/amd64/include/clock.h @@ -1,46 +1,5 @@ -/*- - * Kernel interface to machine-dependent clock driver. - * Garrett Wollman, September 1994. +/* * This file is in the public domain. - * - * $FreeBSD$ */ -#ifndef _MACHINE_CLOCK_H_ -#define _MACHINE_CLOCK_H_ - -#ifdef _KERNEL -/* - * i386 to clock driver interface. - * XXX large parts of the driver and its interface are misplaced. - */ -extern int clkintr_pending; -extern u_int i8254_freq; -extern int i8254_max_count; -extern uint64_t tsc_freq; -extern int tsc_is_invariant; -extern int tsc_perf_stat; -#ifdef SMP -extern int smp_tsc; -#endif - -void i8254_init(void); -void i8254_delay(int); -void clock_init(void); - -/* - * Driver to clock driver interface. - */ - -void startrtclock(void); -void init_TSC(void); -void resume_TSC(void); - -#define HAS_TIMER_SPKR 1 -int timer_spkr_acquire(void); -int timer_spkr_release(void); -void timer_spkr_setfreq(int freq); - -#endif /* _KERNEL */ - -#endif /* !_MACHINE_CLOCK_H_ */ +#include diff --git a/sys/i386/include/clock.h b/sys/i386/include/clock.h index 6f335bf05cfa..57233651aef3 100644 --- a/sys/i386/include/clock.h +++ b/sys/i386/include/clock.h @@ -1,43 +1,5 @@ -/*- - * Kernel interface to machine-dependent clock driver. - * Garrett Wollman, September 1994. +/* * This file is in the public domain. - * - * $FreeBSD$ */ -#ifndef _MACHINE_CLOCK_H_ -#define _MACHINE_CLOCK_H_ - -#ifdef _KERNEL -/* - * i386 to clock driver interface. - * XXX large parts of the driver and its interface are misplaced. - */ -extern int clkintr_pending; -extern u_int i8254_freq; -extern int i8254_max_count; -extern uint64_t tsc_freq; -extern int tsc_is_invariant; -extern int tsc_perf_stat; - -void i8254_init(void); -void i8254_delay(int); -void clock_init(void); - -/* - * Driver to clock driver interface. - */ - -void startrtclock(void); -void init_TSC(void); -void resume_TSC(void); - -#define HAS_TIMER_SPKR 1 -int timer_spkr_acquire(void); -int timer_spkr_release(void); -void timer_spkr_setfreq(int freq); - -#endif /* _KERNEL */ - -#endif /* !_MACHINE_CLOCK_H_ */ +#include diff --git a/sys/x86/include/clock.h b/sys/x86/include/clock.h new file mode 100644 index 000000000000..86a4541568ed --- /dev/null +++ b/sys/x86/include/clock.h @@ -0,0 +1,46 @@ +/*- + * Kernel interface to machine-dependent clock driver. + * Garrett Wollman, September 1994. + * This file is in the public domain. + * + * $FreeBSD$ + */ + +#ifndef _MACHINE_CLOCK_H_ +#define _MACHINE_CLOCK_H_ + +#ifdef _KERNEL +/* + * i386 to clock driver interface. + * XXX large parts of the driver and its interface are misplaced. + */ +extern int clkintr_pending; +extern u_int i8254_freq; +extern int i8254_max_count; +extern uint64_t tsc_freq; +extern int tsc_is_invariant; +extern int tsc_perf_stat; +#ifdef SMP +extern int smp_tsc; +#endif + +void i8254_init(void); +void i8254_delay(int); +void clock_init(void); + +/* + * Driver to clock driver interface. + */ + +void startrtclock(void); +void init_TSC(void); +void resume_TSC(void); + +#define HAS_TIMER_SPKR 1 +int timer_spkr_acquire(void); +int timer_spkr_release(void); +void timer_spkr_setfreq(int freq); + +#endif /* _KERNEL */ + +#endif /* !_MACHINE_CLOCK_H_ */