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}"

Reply via email to