Author: rmh
Date: Sun Feb 19 07:44:38 2012
New Revision: 231905
URL: http://svn.freebsd.org/changeset/base/231905

Log:
  MFC r230972,r230980,r231559,r231565: Add MK_SOURCELESS build option, and
  associated fixes.
  
  Approved by:  kib (mentor)

Added:
  stable/9/sys/conf/WITHOUT_SOURCELESS
     - copied unchanged from r231559, head/sys/conf/WITHOUT_SOURCELESS
  stable/9/sys/conf/WITHOUT_SOURCELESS_HOST
     - copied, changed from r231559, head/sys/conf/WITHOUT_SOURCELESS_HOST
  stable/9/sys/conf/WITHOUT_SOURCELESS_UCODE
     - copied unchanged from r231559, head/sys/conf/WITHOUT_SOURCELESS_UCODE
  stable/9/tools/build/options/WITHOUT_SOURCELESS
     - copied unchanged from r230972, 
head/tools/build/options/WITHOUT_SOURCELESS
  stable/9/tools/build/options/WITHOUT_SOURCELESS_HOST
     - copied unchanged from r230972, 
head/tools/build/options/WITHOUT_SOURCELESS_HOST
  stable/9/tools/build/options/WITHOUT_SOURCELESS_UCODE
     - copied unchanged from r230972, 
head/tools/build/options/WITHOUT_SOURCELESS_UCODE
Modified:
  stable/9/share/mk/bsd.own.mk
  stable/9/sys/modules/Makefile
  stable/9/sys/modules/drm/Makefile
  stable/9/sys/modules/sound/driver/Makefile
  stable/9/sys/modules/usb/Makefile
Directory Properties:
  stable/9/share/mk/   (props changed)
  stable/9/share/mk/bsd.arch.inc.mk   (props changed)
  stable/9/sys/   (props changed)
  stable/9/sys/amd64/include/xen/   (props changed)
  stable/9/sys/boot/   (props changed)
  stable/9/sys/boot/i386/efi/   (props changed)
  stable/9/sys/boot/ia64/efi/   (props changed)
  stable/9/sys/boot/ia64/ski/   (props changed)
  stable/9/sys/boot/powerpc/boot1.chrp/   (props changed)
  stable/9/sys/boot/powerpc/ofw/   (props changed)
  stable/9/sys/cddl/contrib/opensolaris/   (props changed)
  stable/9/sys/conf/   (props changed)
  stable/9/sys/contrib/dev/acpica/   (props changed)
  stable/9/sys/contrib/octeon-sdk/   (props changed)
  stable/9/sys/contrib/pf/   (props changed)
  stable/9/sys/contrib/x86emu/   (props changed)
  stable/9/tools/build/options/   (props changed)

Modified: stable/9/share/mk/bsd.own.mk
==============================================================================
--- stable/9/share/mk/bsd.own.mk        Sun Feb 19 00:28:49 2012        
(r231904)
+++ stable/9/share/mk/bsd.own.mk        Sun Feb 19 07:44:38 2012        
(r231905)
@@ -316,6 +316,9 @@ __DEFAULT_YES_OPTIONS = \
     BOOT \
     BSD_CPIO \
     BSNMP \
+    SOURCELESS \
+    SOURCELESS_HOST \
+    SOURCELESS_UCODE \
     BZIP2 \
     CALENDAR \
     CDDL \
@@ -504,6 +507,11 @@ MK_BIND_UTILS:=    no
 MK_BIND_ETC:=  no
 .endif
 
+.if ${MK_SOURCELESS} == "no"
+MK_SOURCELESS_HOST:=   no
+MK_SOURCELESS_UCODE:= no
+.endif
+
 .if ${MK_CDDL} == "no"
 MK_ZFS:=       no
 .endif

Copied: stable/9/sys/conf/WITHOUT_SOURCELESS (from r231559, 
head/sys/conf/WITHOUT_SOURCELESS)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/9/sys/conf/WITHOUT_SOURCELESS        Sun Feb 19 07:44:38 2012        
(r231905, copy of r231559, head/sys/conf/WITHOUT_SOURCELESS)
@@ -0,0 +1,7 @@
+#
+# WITHOUT_SOURCELESS -- Disable drivers that include sourceless code.
+#
+# $FreeBSD$
+
+include WITHOUT_SOURCELESS_HOST
+include WITHOUT_SOURCELESS_UCODE

Copied and modified: stable/9/sys/conf/WITHOUT_SOURCELESS_HOST (from r231559, 
head/sys/conf/WITHOUT_SOURCELESS_HOST)
==============================================================================
--- head/sys/conf/WITHOUT_SOURCELESS_HOST       Sun Feb 12 14:55:27 2012        
(r231559, copy source)
+++ stable/9/sys/conf/WITHOUT_SOURCELESS_HOST   Sun Feb 19 07:44:38 2012        
(r231905)
@@ -1,5 +1,5 @@
 #
-# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless
+# WITHOUT_SOURCELESS_HOST -- Disable drivers that include sourceless
 # native code for host CPU.
 #
 # $FreeBSD$

Copied: stable/9/sys/conf/WITHOUT_SOURCELESS_UCODE (from r231559, 
head/sys/conf/WITHOUT_SOURCELESS_UCODE)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/9/sys/conf/WITHOUT_SOURCELESS_UCODE  Sun Feb 19 07:44:38 2012        
(r231905, copy of r231559, head/sys/conf/WITHOUT_SOURCELESS_UCODE)
@@ -0,0 +1,41 @@
+#
+# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless
+# microcode.
+#
+# $FreeBSD$
+
+nodevice       adw
+nodevice       bce
+nodevice       fatm
+nodevice       fxp
+nodevice       ispfw
+nodevice       mwlfw
+nodevice       ralfw
+nodevice       runfw
+nodevice       sf
+nodevice       sn
+nodevice       ti
+nodevice       txp
+nodevice       ce
+nodevice       cp
+nodevice       ctau
+nodevice       ipwfw
+nodevice       iwifw
+nodevice       iwnfw
+nodevice       wpifw
+
+# drm
+nodevice       mga
+nodevice       r128
+nodevice       radeon
+
+# sound
+nodevice       csa
+nodevice       ds1
+nodevice       maestro3
+
+# usb
+nodevice       rum
+nodevice       uath
+nodevice       zyd
+nodevice       kue

Modified: stable/9/sys/modules/Makefile
==============================================================================
--- stable/9/sys/modules/Makefile       Sun Feb 19 00:28:49 2012        
(r231904)
+++ stable/9/sys/modules/Makefile       Sun Feb 19 07:44:38 2012        
(r231905)
@@ -2,6 +2,9 @@
 
 .include <bsd.own.mk>
 
+# Modules that include binary-only blobs of microcode should be selectable by
+# MK_SOURCELESS_UCODE option (see below).
+
 SUBDIR=        ${_3dfx} \
        ${_3dfx_linux} \
        ${_aac} \
@@ -37,7 +40,7 @@ SUBDIR=       ${_3dfx} \
        ath \
        ath_pci \
        ${_auxio} \
-       bce \
+       ${_bce} \
        bfe \
        bge \
        ${_bxe} \
@@ -94,13 +97,13 @@ SUBDIR=     ${_3dfx} \
        ${_ex} \
        ${_exca} \
        ${_ext2fs} \
-       fatm \
+       ${_fatm} \
        fdc \
        fdescfs \
        ${_fe} \
        firewire \
        firmware \
-       fxp \
+       ${_fxp} \
        gem \
        geom \
        ${_glxiic} \
@@ -148,7 +151,7 @@ SUBDIR=     ${_3dfx} \
        ${_isci} \
        iscsi \
        isp \
-       ispfw \
+       ${_ispfw} \
        ${_iwi} \
        ${_iwifw} \
        ${_iwn} \
@@ -209,7 +212,7 @@ SUBDIR=     ${_3dfx} \
        ${_mthca} \
        mvs \
        mwl \
-       mwlfw \
+       ${_mwlfw} \
        mxge \
        my \
        ${_ncp} \
@@ -260,14 +263,14 @@ SUBDIR=   ${_3dfx} \
        puc \
        ${_qlxgb} \
        ral \
-       ralfw \
+       ${_ralfw} \
        ${_random} \
        rc4 \
        ${_rdma} \
        re \
        reiserfs \
        rl \
-       runfw \
+       ${_runfw} \
        ${_s3} \
        ${_safe} \
        ${_sbni} \
@@ -277,7 +280,7 @@ SUBDIR=     ${_3dfx} \
        sdhci \
        sem \
        send \
-       sf \
+       ${_sf} \
        ${_sfxge} \
        sge \
        siba_bwn \
@@ -286,7 +289,7 @@ SUBDIR=     ${_3dfx} \
        sis \
        sk \
        ${_smbfs} \
-       sn \
+       ${_sn} \
        ${_snc} \
        snp \
        ${_sound} \
@@ -301,7 +304,7 @@ SUBDIR=     ${_3dfx} \
        ${_sym} \
        ${_syscons} \
        sysvipc \
-       ti \
+       ${_ti} \
        tl \
        tmpfs \
        ${_tpm} \
@@ -310,7 +313,7 @@ SUBDIR=     ${_3dfx} \
        twe \
        tws \
        tx \
-       txp \
+       ${_txp} \
        uart \
        ubsec \
        udf \
@@ -358,8 +361,10 @@ _vpo=              vpo
 # No barrier instruction support (specific to this driver)
 _sym=          sym
 # intr_disable() is a macro, causes problems
+.if ${MK_SOURCELESS_UCODE} != "no"
 _cxgb=         cxgb
 .endif
+.endif
 
 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
 .if exists(${.CURDIR}/../opencrypto)
@@ -401,6 +406,20 @@ _pfsync=   pfsync
 .endif
 .endif
 
+.if ${MK_SOURCELESS_UCODE} != "no"
+_bce=          bce
+_fatm=         fatm
+_fxp=          fxp
+_ispfw=                ispfw
+_mwlfw=                mwlfw
+_ralfw=                ralfw
+_runfw=                runfw
+_sf=           sf
+_sn=           sn
+_ti=           ti
+_txp=          txp
+.endif
+
 .if ${MACHINE_CPUARCH} == "i386"
 # XXX some of these can move to the general case when de-i386'ed
 # XXX some of these can move now, but are untested on other architectures.
@@ -417,9 +436,13 @@ _bktr=             bktr
 _bxe=          bxe
 _cardbus=      cardbus
 _cbb=          cbb
+.if ${MK_SOURCELESS_UCODE} != "no"
 _ce=           ce
+.endif
 _coff=         coff
+.if ${MK_SOURCELESS_UCODE} != "no"
 _cp=           cp
+.endif
 _cpuctl=       cpuctl
 _cpufreq=      cpufreq
 _cs=           cs
@@ -508,36 +531,52 @@ _ciss=            ciss
 _cm=           cm
 _cmx=          cmx
 _coretemp=     coretemp
+.if ${MK_SOURCELESS_UCODE} != "no"
 _ctau=         ctau
+.endif
 _dpt=          dpt
 _ex=           ex
+.if ${MK_SOURCELESS_HOST} != "no"
 _hpt27xx=      hpt27xx
+.endif
 _hptiop=       hptiop
+.if ${MK_SOURCELESS_HOST} != "no"
 _hptmv=                hptmv
 _hptrr=                hptrr
+.endif
 _ichwd=                ichwd
 _ida=          ida
 _iir=          iir
 _ipmi=         ipmi
 _ips=          ips
 _ipw=          ipw
+.if ${MK_SOURCELESS_UCODE} != "no"
 _ipwfw=                ipwfw
+.endif
 _isci=         isci
 _iwi=          iwi
+.if ${MK_SOURCELESS_UCODE} != "no"
 _iwifw=                iwifw
+.endif
 _iwn=          iwn
+.if ${MK_SOURCELESS_UCODE} != "no"
 _iwnfw=                iwnfw
+.endif
 _ixgb=         ixgb
 _ixgbe=                ixgbe
 _mly=          mly
 _nfe=          nfe
+.if ${MK_SOURCELESS_HOST} != "no"
 _nve=          nve
+.endif
 _nvram=                nvram
 _nxge=         nxge
 _tpm=          tpm
 _viawd=                viawd
 _wpi=          wpi
+.if ${MK_SOURCELESS_UCODE} != "no"
 _wpifw=                wpifw
+.endif
 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
 _padlock=      padlock
 .endif
@@ -587,10 +626,14 @@ _et=              et
 _em=           em
 _exca=         exca
 _ext2fs=       ext2fs
+.if ${MK_SOURCELESS_HOST} != "no"
 _hpt27xx=      hpt27xx
+.endif
 _hptiop=       hptiop
+.if ${MK_SOURCELESS_HOST} != "no"
 _hptmv=                hptmv
 _hptrr=                hptrr
+.endif
 _i2c=          i2c
 _ichwd=                ichwd
 _ida=          ida
@@ -601,12 +644,18 @@ _io=              io
 _ipmi=         ipmi
 _ips=          ips
 _ipw=          ipw
+.if ${MK_SOURCELESS_UCODE} != "no"
 _ipwfw=                ipwfw
+.endif
 _isci=         isci
 _iwi=          iwi
+.if ${MK_SOURCELESS_UCODE} != "no"
 _iwifw=                iwifw
+.endif
 _iwn=          iwn
+.if ${MK_SOURCELESS_UCODE} != "no"
 _iwnfw=                iwnfw
+.endif
 _ixgb=         ixgb
 _ixgbe=                ixgbe
 _lindev=       lindev
@@ -622,7 +671,9 @@ _mthca=             mthca
 .endif
 _ndis=         ndis
 _nfe=          nfe
+.if ${MK_SOURCELESS_HOST} != "no"
 _nve=          nve
+.endif
 _nvram=                nvram
 _nxge=         nxge
 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
@@ -651,7 +702,9 @@ _vxge=      vxge
 _x86bios=      x86bios
 _wi=           wi
 _wpi=          wpi
+.if ${MK_SOURCELESS_UCODE} != "no"
 _wpifw=                wpifw
+.endif
 .if ${MK_ZFS} != "no" || defined(ALL_MODULES)
 _zfs=          zfs
 .endif

Modified: stable/9/sys/modules/drm/Makefile
==============================================================================
--- stable/9/sys/modules/drm/Makefile   Sun Feb 19 00:28:49 2012        
(r231904)
+++ stable/9/sys/modules/drm/Makefile   Sun Feb 19 07:44:38 2012        
(r231905)
@@ -1,15 +1,26 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
+# Modules that include binary-only blobs of microcode should be selectable by
+# MK_SOURCELESS_UCODE option (see below).
+
 SUBDIR = \
        drm \
        i915 \
        mach64 \
-       mga \
-       r128 \
-       radeon \
+       ${_mga} \
+       ${_r128} \
+       ${_radeon} \
        savage \
        sis \
        tdfx \
        via
 
+.if ${MK_SOURCELESS_UCODE} != "no"
+_mga=          mga
+_r128=         r128
+_radeon=       radeon
+.endif
+
 .include <bsd.subdir.mk>

Modified: stable/9/sys/modules/sound/driver/Makefile
==============================================================================
--- stable/9/sys/modules/sound/driver/Makefile  Sun Feb 19 00:28:49 2012        
(r231904)
+++ stable/9/sys/modules/sound/driver/Makefile  Sun Feb 19 07:44:38 2012        
(r231905)
@@ -1,10 +1,21 @@
 # $FreeBSD$
 
-SUBDIR=                ad1816 als4000 atiixp cs4281 csa ds1 emu10k1 emu10kx
-SUBDIR+=       envy24 envy24ht es137x ess fm801 hda ich maestro maestro3
+.include <bsd.own.mk>
+
+# Modules that include binary-only blobs of microcode should be selectable by
+# MK_SOURCELESS_UCODE option (see below).
+
+SUBDIR=                ad1816 als4000 atiixp cs4281 ${_csa} ${_ds1} emu10k1 
emu10kx
+SUBDIR+=       envy24 envy24ht es137x ess fm801 hda ich maestro ${_maestro3}
 SUBDIR+=       neomagic sb16 sb8 sbc solo spicds t4dwave via8233
 SUBDIR+=       via82c686 vibes driver uaudio
 
+.if ${MK_SOURCELESS_UCODE} != "no"
+_csa=          csa
+_ds1=          ds1
+_maestro3=     maestro3
+.endif
+
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
 SUBDIR+=       cmi mss
 .endif

Modified: stable/9/sys/modules/usb/Makefile
==============================================================================
--- stable/9/sys/modules/usb/Makefile   Sun Feb 19 00:28:49 2012        
(r231904)
+++ stable/9/sys/modules/usb/Makefile   Sun Feb 19 07:44:38 2012        
(r231905)
@@ -25,16 +25,28 @@
 # SUCH DAMAGE.
 #
 
+.include <bsd.own.mk>
+
+# Modules that include binary-only blobs of microcode should be selectable by
+# MK_SOURCELESS_UCODE option (see below).
+
 SUBDIR = usb
 SUBDIR += ehci musb ohci uhci xhci uss820dci ${_at91dci} ${_atmegadci} 
${_avr32dci}
-SUBDIR += rum run uath upgt usie ural zyd ${_urtw}
+SUBDIR += ${_rum} run ${_uath} upgt usie ural ${_zyd} ${_urtw}
 SUBDIR += atp uhid ukbd ums udbp ufm uep
 SUBDIR += ucom u3g uark ubsa ubser uchcom ucycom ufoma uftdi ugensa uipaq ulpt 
\
          umct umcs umodem umoscom uplcom uslcom uvisor uvscom
-SUBDIR += uether aue axe cdce cue kue mos rue udav uhso ipheth
+SUBDIR += uether aue axe cdce cue ${_kue} mos rue udav uhso ipheth
 SUBDIR += usfs umass urio
 SUBDIR += quirk template
 
+.if ${MK_SOURCELESS_UCODE} != "no"
+_rum=          rum
+_uath=         uath
+_zyd=          zyd
+_kue=          kue
+.endif
+
 .if ${MACHINE_CPUARCH} == "amd64"
 _urtw=         urtw
 .endif

Copied: stable/9/tools/build/options/WITHOUT_SOURCELESS (from r230972, 
head/tools/build/options/WITHOUT_SOURCELESS)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/9/tools/build/options/WITHOUT_SOURCELESS     Sun Feb 19 07:44:38 
2012        (r231905, copy of r230972, 
head/tools/build/options/WITHOUT_SOURCELESS)
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Set to not build kernel modules that include sourceless code (either microcode 
or native code for host CPU).

Copied: stable/9/tools/build/options/WITHOUT_SOURCELESS_HOST (from r230972, 
head/tools/build/options/WITHOUT_SOURCELESS_HOST)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/9/tools/build/options/WITHOUT_SOURCELESS_HOST        Sun Feb 19 
07:44:38 2012        (r231905, copy of r230972, 
head/tools/build/options/WITHOUT_SOURCELESS_HOST)
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Set to not build kernel modules that include sourceless native code for host 
CPU.

Copied: stable/9/tools/build/options/WITHOUT_SOURCELESS_UCODE (from r230972, 
head/tools/build/options/WITHOUT_SOURCELESS_UCODE)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/9/tools/build/options/WITHOUT_SOURCELESS_UCODE       Sun Feb 19 
07:44:38 2012        (r231905, copy of r230972, 
head/tools/build/options/WITHOUT_SOURCELESS_UCODE)
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Set to not build kernel modules that include sourceless microcode.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to