Module Name: src
Committed By: riastradh
Date: Thu Jul 28 21:52:37 UTC 2022
Modified Files:
src/sys/arch/i386/conf: GENERIC
src/sys/external/bsd/drm2/drm: files.drmkms
Log Message:
drm: New option DRM_LEGACY.
This brings in the `drmums' components, which are the parts of the
current drm code base (sys/external/bsd/drm2) needed by legacy
user-mode-setting drivers (currently just viadrmums), in contrast to
the old drm code base (sys/external/bsd/drm).
This way, viadrmums.kmod can be loaded into GENERIC i386 kernels, but
platforms without any relevant legacy UMS drivers don't get the
legacy goo statically baked in.
To generate a diff of this commit:
cvs rdiff -u -r1.1238 -r1.1239 src/sys/arch/i386/conf/GENERIC
cvs rdiff -u -r1.82 -r1.83 src/sys/external/bsd/drm2/drm/files.drmkms
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/i386/conf/GENERIC
diff -u src/sys/arch/i386/conf/GENERIC:1.1238 src/sys/arch/i386/conf/GENERIC:1.1239
--- src/sys/arch/i386/conf/GENERIC:1.1238 Sat Apr 16 11:57:46 2022
+++ src/sys/arch/i386/conf/GENERIC Thu Jul 28 21:52:36 2022
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.1238 2022/04/16 11:57:46 nia Exp $
+# $NetBSD: GENERIC,v 1.1239 2022/07/28 21:52:36 riastradh Exp $
#
# GENERIC machine description file
#
@@ -22,7 +22,7 @@ include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
-#ident "GENERIC-$Revision: 1.1238 $"
+#ident "GENERIC-$Revision: 1.1239 $"
maxusers 64 # estimated number of users
@@ -554,7 +554,8 @@ radeondrmkmsfb* at radeonfbbus?
nouveau* at pci? dev ? function ?
nouveaufb* at nouveaufbbus?
-# DRMUMS drivers
+# DRMUMS drivers -- make them loadable, but not statically linked in
+options DRM_LEGACY
#viadrmums* at drm?
# Serial Devices
Index: src/sys/external/bsd/drm2/drm/files.drmkms
diff -u src/sys/external/bsd/drm2/drm/files.drmkms:1.82 src/sys/external/bsd/drm2/drm/files.drmkms:1.83
--- src/sys/external/bsd/drm2/drm/files.drmkms:1.82 Thu Jul 28 10:43:35 2022
+++ src/sys/external/bsd/drm2/drm/files.drmkms Thu Jul 28 21:52:36 2022
@@ -1,4 +1,4 @@
-# $NetBSD: files.drmkms,v 1.82 2022/07/28 10:43:35 riastradh Exp $
+# $NetBSD: files.drmkms,v 1.83 2022/07/28 21:52:36 riastradh Exp $
version 20180827
@@ -86,7 +86,17 @@ makeoptions drmkms "CWARNFLAGS.drm_ioc
makeoptions drmkms "CWARNFLAGS.drm_mm.c"+="${${ACTIVE_CC} == clang :? -Wno-unused-function :}"
makeoptions drmkms "CWARNFLAGS.drm_modes.c"+="-Wno-shadow"
-# Legacy user-mode setting
+# Legacy user-mode setting -- for the following legacy drivers:
+#
+# mach64*
+# mga*
+# savage*
+# sis*
+# tdfx*
+# via
+#
+# * not yet adapted to current drm code base
+#
define drmums: drmkms
makeoptions drmums "CPPFLAGS.drmkms"+="-DCONFIG_DRM_LEGACY"
makeoptions drmums "CPPFLAGS.drmums"+="${CPPFLAGS.drmkms}"
@@ -97,6 +107,10 @@ file external/bsd/drm2/dist/drm/drm_lega
file external/bsd/drm2/drm/drm_lock.c drmums
file external/bsd/drm2/drm/drm_scatter.c drmums
+# Set `options DRM_LEGACY' to allow loading modules requiring drmums
+# even if none are statically linked into the kernel.
+defflag DRM_LEGACY: drmums
+
# GPU scheduler
define drmkms_sched: drmkms
makeoptions drmkms_sched "CPPFLAGS.drmkms_sched"+="${CPPFLAGS.drmkms}"