diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2022-11-14 00:21:15 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2022-11-17 15:58:32 +0300 |
commit | e5dfd093eca01a5d8d967f959a2372d7d82eb59c (patch) | |
tree | a9e32f5541221acadf6586b2a18da8b637e5f41e /arch/x86/include/asm/hyperv_timer.h | |
parent | 094226ad94f471a9f19e8f8e7140a09c2625abaa (diff) | |
download | linux-e5dfd093eca01a5d8d967f959a2372d7d82eb59c.tar.xz |
clocksource/drivers/hyper-v: Include asm/hyperv-tlfs.h not asm/mshyperv.h
clocksource/hyperv_timer.h is included into the VDSO build. It includes
asm/mshyperv.h which in turn includes the world and some more. This worked
so far by chance, but any subtle change in the include chain results in a
build breakage because VDSO builds are building user space libraries.
Include asm/hyperv-tlfs.h instead which contains everything what the VDSO
build needs except the hv_get_raw_timer() define. Move this define into a
separate header file, which contains the prerequisites (msr.h) and is
included by clocksource/hyperv_timer.h.
Fixup drivers/hv/vmbus_drv.c which relies on the indirect include of
asm/mshyperv.h.
With that the VDSO build only pulls in the minimum requirements.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/87fsemtut0.ffs@tglx
Diffstat (limited to 'arch/x86/include/asm/hyperv_timer.h')
-rw-r--r-- | arch/x86/include/asm/hyperv_timer.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/include/asm/hyperv_timer.h b/arch/x86/include/asm/hyperv_timer.h new file mode 100644 index 000000000000..388fa81b8f38 --- /dev/null +++ b/arch/x86/include/asm/hyperv_timer.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _ASM_X86_HYPERV_TIMER_H +#define _ASM_X86_HYPERV_TIMER_H + +#include <asm/msr.h> + +#define hv_get_raw_timer() rdtsc_ordered() + +#endif |