Module Name: src
Committed By: riastradh
Date: Tue Apr 2 22:37:34 UTC 2024
Modified Files:
src/share/mk: bsd.own.mk
src/sys/arch/aarch64/include: sljit_machdep.h
src/sys/modules: Makefile
Log Message:
bsd.own.mk: Enable MKLSJIT on aarch64.
Make sure there's only one copy of the conditional, in bsd.own.mk;
just make sys/modules/Makefile conditional on MKSLJIT so we don't
have to keep these in sync.
As a workaround for PR 58106, tweak the conditional definition of
SLJIT_CACHE_FLUSH to use cpu_icache_sync_range only in _HARDKERNEL,
and use __builtin___clear_cache in userland and in rump kernels.
PR 58103: bpfjit.kmod is not built on aarch64
To generate a diff of this commit:
cvs rdiff -u -r1.1364 -r1.1365 src/share/mk/bsd.own.mk
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/aarch64/include/sljit_machdep.h
cvs rdiff -u -r1.284 -r1.285 src/sys/modules/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/mk/bsd.own.mk
diff -u src/share/mk/bsd.own.mk:1.1364 src/share/mk/bsd.own.mk:1.1365
--- src/share/mk/bsd.own.mk:1.1364 Mon Apr 1 22:23:14 2024
+++ src/share/mk/bsd.own.mk Tue Apr 2 22:37:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.own.mk,v 1.1364 2024/04/01 22:23:14 christos Exp $
+# $NetBSD: bsd.own.mk,v 1.1365 2024/04/02 22:37:34 riastradh Exp $
# This needs to be before bsd.init.mk
.if defined(BSD_MK_COMPAT_FILE)
@@ -1391,9 +1391,10 @@ _MKVARS.no= \
${var}?= ${${var}.${MACHINE_ARCH}:U${${var}.${MACHINE}:Uno}}
.endfor
-.if ${MACHINE_ARCH} == "i386" || \
- ${MACHINE_ARCH} == "x86_64" || \
- ${MACHINE_ARCH} == "sparc"
+.if ${MACHINE_ARCH} == "aarch64" || \
+ ${MACHINE_ARCH} == "i386" || \
+ ${MACHINE_ARCH} == "sparc" || \
+ ${MACHINE_ARCH} == "x86_64"
MKSLJIT= yes
.endif
Index: src/sys/arch/aarch64/include/sljit_machdep.h
diff -u src/sys/arch/aarch64/include/sljit_machdep.h:1.3 src/sys/arch/aarch64/include/sljit_machdep.h:1.4
--- src/sys/arch/aarch64/include/sljit_machdep.h:1.3 Fri Dec 11 18:03:33 2020
+++ src/sys/arch/aarch64/include/sljit_machdep.h Tue Apr 2 22:37:34 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: sljit_machdep.h,v 1.3 2020/12/11 18:03:33 skrll Exp $ */
+/* $NetBSD: sljit_machdep.h,v 1.4 2024/04/02 22:37:34 riastradh Exp $ */
/*-
* Copyright (c) 2014 Alexander Nasonov.
@@ -43,7 +43,12 @@
#define SLJIT_CONFIG_ARM_64 1
-#ifdef _KERNEL
+#ifdef _HARDKERNEL
+/*
+ * XXX Currently sys/rump/include/machine/cpu.h doesn't have
+ * ci_cpufuncs for cpu_icache_sync_range, so we do this only for
+ * non-rump kernels for now.
+ */
#define SLJIT_CACHE_FLUSH(from, to) \
cpu_icache_sync_range((vaddr_t)(from), (vsize_t)((to) - (from)))
#else
Index: src/sys/modules/Makefile
diff -u src/sys/modules/Makefile:1.284 src/sys/modules/Makefile:1.285
--- src/sys/modules/Makefile:1.284 Thu Mar 21 02:36:02 2024
+++ src/sys/modules/Makefile Tue Apr 2 22:37:34 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.284 2024/03/21 02:36:02 riastradh Exp $
+# $NetBSD: Makefile,v 1.285 2024/04/02 22:37:34 riastradh Exp $
.include <bsd.own.mk>
@@ -261,15 +261,9 @@ SUBDIR+= ubsec
.endif
.if ${MKSLJIT} != "no"
-# No modules for 32-bit arm, mips and powerpc yet.
-.if ${MACHINE_ARCH} == "aarch64" || \
- ${MACHINE_ARCH} == "i386" || \
- ${MACHINE_ARCH} == "sparc" || \
- ${MACHINE_ARCH} == "x86_64"
SUBDIR+= bpfjit
SUBDIR+= sljit
.endif
-.endif
#
# ACPI modules