1*4882a593SmuzhiyunRemove glibc specific function dependencies
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunSourced from: https://git.alpinelinux.org/aports/tree/main/mariadb/ppc-remove-glibc-dep.patch
4*4882a593SmuzhiyunSigned-off-by: Khem Raj <raj.khem@gmail.com>
5*4882a593Smuzhiyun
6*4882a593Smuzhiyundiff --git a/include/my_cpu.h b/include/my_cpu.h
7*4882a593Smuzhiyunindex f2e26fca..94599b74 100644
8*4882a593Smuzhiyun--- a/include/my_cpu.h
9*4882a593Smuzhiyun+++ b/include/my_cpu.h
10*4882a593Smuzhiyun@@ -24,17 +24,16 @@
11*4882a593Smuzhiyun */
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun #ifdef _ARCH_PWR8
14*4882a593Smuzhiyun-#include <sys/platform/ppc.h>
15*4882a593Smuzhiyun /* Very low priority */
16*4882a593Smuzhiyun-#define HMT_very_low() __ppc_set_ppr_very_low()
17*4882a593Smuzhiyun+#define HMT_very_low() asm volatile("or 31,31,31")
18*4882a593Smuzhiyun /* Low priority */
19*4882a593Smuzhiyun-#define HMT_low() __ppc_set_ppr_low()
20*4882a593Smuzhiyun+#define HMT_low() asm volatile ("or 1,1,1")
21*4882a593Smuzhiyun /* Medium low priority */
22*4882a593Smuzhiyun-#define HMT_medium_low() __ppc_set_ppr_med_low()
23*4882a593Smuzhiyun+#define HMT_medium_low() asm volatile ("or 6,6,6")
24*4882a593Smuzhiyun /* Medium priority */
25*4882a593Smuzhiyun-#define HMT_medium() __ppc_set_ppr_med()
26*4882a593Smuzhiyun+#define HMT_medium() asm volatile ("or 2,2,2")
27*4882a593Smuzhiyun /* Medium high priority */
28*4882a593Smuzhiyun-#define HMT_medium_high() __ppc_set_ppr_med_high()
29*4882a593Smuzhiyun+#define HMT_medium_high() asm volatile("or 5,5,5")
30*4882a593Smuzhiyun /* High priority */
31*4882a593Smuzhiyun #define HMT_high() asm volatile("or 3,3,3")
32*4882a593Smuzhiyun #else
33*4882a593Smuzhiyun@@ -72,7 +71,7 @@ static inline void MY_RELAX_CPU(void)
34*4882a593Smuzhiyun   __asm__ __volatile__ ("pause");
35*4882a593Smuzhiyun #endif
36*4882a593Smuzhiyun #elif defined(_ARCH_PWR8)
37*4882a593Smuzhiyun-  __ppc_get_timebase();
38*4882a593Smuzhiyun+  __builtin_ppc_get_timebase();
39*4882a593Smuzhiyun #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__)
40*4882a593Smuzhiyun   /* Mainly, prevent the compiler from optimizing away delay loops */
41*4882a593Smuzhiyun   __asm__ __volatile__ ("":::"memory");
42