hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
kernel/include/vdso/datapage.h
....@@ -106,9 +106,34 @@
106106 u32 hrtimer_res;
107107 u32 __unused;
108108
109
+#ifdef CONFIG_GENERIC_CLOCKSOURCE_VDSO
110
+ u32 cs_type_seq;
111
+ char cs_mmdev[16];
112
+#endif
113
+
109114 struct arch_vdso_data arch_data;
110115 };
111116
117
+#if defined(CONFIG_GENERIC_CLOCKSOURCE_VDSO) && !defined(ENABLE_COMPAT_VDSO)
118
+
119
+#include <linux/clocksource.h>
120
+
121
+struct clksrc_info;
122
+
123
+typedef u64 vdso_read_cycles_t(const struct clksrc_info *info);
124
+
125
+struct clksrc_info {
126
+ vdso_read_cycles_t *read_cycles;
127
+ struct clksrc_user_mmio_info mmio;
128
+};
129
+
130
+struct vdso_priv {
131
+ u32 current_cs_type_seq;
132
+ struct clksrc_info clksrc_info[CLOCKSOURCE_VDSO_MMIO + CLKSRC_USER_MMIO_MAX];
133
+};
134
+
135
+#endif /* !CONFIG_GENERIC_CLOCKSOURCE_VDSO */
136
+
112137 /*
113138 * We use the hidden visibility to prevent the compiler from generating a GOT
114139 * relocation. Not only is going through a GOT useless (the entry couldn't and