aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/include/cpufunc.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arm64/include/cpufunc.h')
-rw-r--r--sys/arm64/include/cpufunc.h83
1 files changed, 15 insertions, 68 deletions
diff --git a/sys/arm64/include/cpufunc.h b/sys/arm64/include/cpufunc.h
index 16133903841f..ba712f48b262 100644
--- a/sys/arm64/include/cpufunc.h
+++ b/sys/arm64/include/cpufunc.h
@@ -22,10 +22,12 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
+#ifdef __arm__
+#include <arm/cpufunc.h>
+#else /* !__arm__ */
+
#ifndef _MACHINE_CPUFUNC_H_
#define _MACHINE_CPUFUNC_H_
@@ -37,64 +39,6 @@ breakpoint(void)
}
#ifdef _KERNEL
-
-#define HAVE_INLINE_FFS
-
-static __inline __pure2 int
-ffs(int mask)
-{
-
- return (__builtin_ffs(mask));
-}
-
-#define HAVE_INLINE_FFSL
-
-static __inline __pure2 int
-ffsl(long mask)
-{
-
- return (__builtin_ffsl(mask));
-}
-
-#define HAVE_INLINE_FFSLL
-
-static __inline __pure2 int
-ffsll(long long mask)
-{
-
- return (__builtin_ffsll(mask));
-}
-
-#define HAVE_INLINE_FLS
-
-static __inline __pure2 int
-fls(int mask)
-{
-
- return (mask == 0 ? 0 :
- 8 * sizeof(mask) - __builtin_clz((u_int)mask));
-}
-
-#define HAVE_INLINE_FLSL
-
-static __inline __pure2 int
-flsl(long mask)
-{
-
- return (mask == 0 ? 0 :
- 8 * sizeof(mask) - __builtin_clzl((u_long)mask));
-}
-
-#define HAVE_INLINE_FLSLL
-
-static __inline __pure2 int
-flsll(long long mask)
-{
-
- return (mask == 0 ? 0 :
- 8 * sizeof(mask) - __builtin_clzll((unsigned long long)mask));
-}
-
#include <machine/armreg.h>
void pan_enable(void);
@@ -233,20 +177,23 @@ extern int64_t dczva_line_size;
#define cpu_dcache_inv_range(a, s) arm64_dcache_inv_range((a), (s))
#define cpu_dcache_wb_range(a, s) arm64_dcache_wb_range((a), (s))
-extern void (*arm64_icache_sync_range)(vm_offset_t, vm_size_t);
+extern void (*arm64_icache_sync_range)(void *, vm_size_t);
#define cpu_icache_sync_range(a, s) arm64_icache_sync_range((a), (s))
#define cpu_icache_sync_range_checked(a, s) arm64_icache_sync_range_checked((a), (s))
void arm64_nullop(void);
void arm64_tlb_flushID(void);
-void arm64_dic_idc_icache_sync_range(vm_offset_t, vm_size_t);
-void arm64_aliasing_icache_sync_range(vm_offset_t, vm_size_t);
-int arm64_icache_sync_range_checked(vm_offset_t, vm_size_t);
-void arm64_dcache_wbinv_range(vm_offset_t, vm_size_t);
-void arm64_dcache_inv_range(vm_offset_t, vm_size_t);
-void arm64_dcache_wb_range(vm_offset_t, vm_size_t);
-bool arm64_get_writable_addr(vm_offset_t, vm_offset_t *);
+void arm64_dic_idc_icache_sync_range(void *, vm_size_t);
+void arm64_idc_aliasing_icache_sync_range(void *, vm_size_t);
+void arm64_aliasing_icache_sync_range(void *, vm_size_t);
+int arm64_icache_sync_range_checked(void *, vm_size_t);
+void arm64_dcache_wbinv_range(void *, vm_size_t);
+void arm64_dcache_inv_range(void *, vm_size_t);
+void arm64_dcache_wb_range(void *, vm_size_t);
+bool arm64_get_writable_addr(void *, void **);
#endif /* _KERNEL */
#endif /* _MACHINE_CPUFUNC_H_ */
+
+#endif /* !__arm__ */