summaryrefslogtreecommitdiff
path: root/guix/nongnu/packages/patches/broadcom-sta-rdtscl.patch
diff options
context:
space:
mode:
authorJelle Licht <jlicht@fsfe.org>2021-11-29 19:33:44 +0100
committerJelle Licht <jlicht@fsfe.org>2021-11-29 19:33:44 +0100
commitf99d5fabd3baee4f378aaf83f13c589b76337a18 (patch)
tree0d6302d99d4e4abb4ed58f15ef9d0906dec763b1 /guix/nongnu/packages/patches/broadcom-sta-rdtscl.patch
parent3ec1e7f16590c3b681d6cb3b110b0d9c115586ea (diff)
[WIP] Move channel to "guix" subdirectory.
Diffstat (limited to 'guix/nongnu/packages/patches/broadcom-sta-rdtscl.patch')
-rw-r--r--guix/nongnu/packages/patches/broadcom-sta-rdtscl.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/guix/nongnu/packages/patches/broadcom-sta-rdtscl.patch b/guix/nongnu/packages/patches/broadcom-sta-rdtscl.patch
new file mode 100644
index 00000000..1b9862cc
--- /dev/null
+++ b/guix/nongnu/packages/patches/broadcom-sta-rdtscl.patch
@@ -0,0 +1,22 @@
+Since Linux 4.3, rdtscl() is no longer available and native_read_tsc()
+is renamed to rdtsc(). Move the macro contents in-line and call the
+new function. References:
+
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=fe47ae6e1a5005b2e82f7eab57b5c3820453293a
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=4ea1636b04dbd66536fa387bae2eea463efc705b
+
+diff -ru a/src/shared/linux_osl.c b/src/shared/linux_osl.c
+--- a/src/shared/linux_osl.c 2015-09-19 01:47:15.000000000 +0300
++++ b/src/shared/linux_osl.c 2015-11-21 15:20:30.585902518 +0200
+@@ -932,7 +932,11 @@
+ uint cycles;
+
+ #if defined(__i386__)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++ cycles = (u32)rdtsc();
++#else
+ rdtscl(cycles);
++#endif
+ #else
+ cycles = 0;
+ #endif