Makefile.intel.shared revision fea9cb91bd8e12d84069b4dab1268363668b4bff
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# CDDL HEADER START
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# The contents of this file are subject to the terms of the
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Common Development and Distribution License (the "License").
bb5e3b2f129cc39517b925419c22f69a378ec023eh# You may not use this file except in compliance with the License.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
bb5e3b2f129cc39517b925419c22f69a378ec023eh# or http://www.opensolaris.org/os/licensing.
bb5e3b2f129cc39517b925419c22f69a378ec023eh# See the License for the specific language governing permissions
bb5e3b2f129cc39517b925419c22f69a378ec023eh# and limitations under the License.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# When distributing Covered Code, include this CDDL HEADER in each
bb5e3b2f129cc39517b925419c22f69a378ec023eh# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
bb5e3b2f129cc39517b925419c22f69a378ec023eh# If applicable, add the following below this CDDL HEADER, with the
bb5e3b2f129cc39517b925419c22f69a378ec023eh# fields enclosed by brackets "[]" replaced with your own identifying
bb5e3b2f129cc39517b925419c22f69a378ec023eh# information: Portions Copyright [yyyy] [name of copyright owner]
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# CDDL HEADER END
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Use is subject to license terms.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# ident "%Z%%M% %I% %E% SMI"
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# This makefile contains the common definitions for all intel
bb5e3b2f129cc39517b925419c22f69a378ec023eh# implementation architecture independent modules.
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Machine type (implementation architecture):
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehPLATFORM = i86pc
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Everybody needs to know how to build modstubs.o and to locate unix.o.
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Note that unix.o must currently be selected from among the possible
bb5e3b2f129cc39517b925419c22f69a378ec023eh# "implementation architectures". Note further, that unix.o is only
bb5e3b2f129cc39517b925419c22f69a378ec023eh# used as an optional error check for undefines so (theoretically)
bb5e3b2f129cc39517b925419c22f69a378ec023eh# any "implementation architectures" could be used. We choose i86pc
bb5e3b2f129cc39517b925419c22f69a378ec023eh# because it is the reference port.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehUNIX_DIR = $(UTSBASE)/i86pc/unix
bb5e3b2f129cc39517b925419c22f69a378ec023ehGENLIB_DIR = $(UTSBASE)/intel/genunix
bb5e3b2f129cc39517b925419c22f69a378ec023ehIPDRV_DIR = $(UTSBASE)/intel/ip
bb5e3b2f129cc39517b925419c22f69a378ec023ehMODSTUBS_DIR = $(UNIX_DIR)
bb5e3b2f129cc39517b925419c22f69a378ec023ehDSF_DIR = $(UTSBASE)/$(PLATFORM)/genassym
bb5e3b2f129cc39517b925419c22f69a378ec023ehLINTS_DIR = $(OBJS_DIR)
bb5e3b2f129cc39517b925419c22f69a378ec023ehLINT_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023ehUNIX_O = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
bb5e3b2f129cc39517b925419c22f69a378ec023ehGENLIB = $(GENLIB_DIR)/$(OBJS_DIR)/libgenunix.so
bb5e3b2f129cc39517b925419c22f69a378ec023ehMODSTUBS_O = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o
bb5e3b2f129cc39517b925419c22f69a378ec023ehLINT_LIB = $(UTSBASE)/i86pc/lint-libs/$(OBJS_DIR)/llib-lunix.ln
bb5e3b2f129cc39517b925419c22f69a378ec023ehGEN_LINT_LIB = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)/llib-lgenunix.ln
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Include the makefiles which define build rule templates, the
bb5e3b2f129cc39517b925419c22f69a378ec023eh# collection of files per module, and a few specific flags. Note
bb5e3b2f129cc39517b925419c22f69a378ec023eh# that order is significant, just as with an include path. The
bb5e3b2f129cc39517b925419c22f69a378ec023eh# first build rule template which matches the files name will be
bb5e3b2f129cc39517b925419c22f69a378ec023eh# used. By including these in order from most machine dependent
bb5e3b2f129cc39517b925419c22f69a378ec023eh# to most machine independent, we allow a machine dependent file
bb5e3b2f129cc39517b925419c22f69a378ec023eh# to be used in preference over a machine independent version
bb5e3b2f129cc39517b925419c22f69a378ec023eh# (Such as a machine specific optimization, which preserves the
bb5e3b2f129cc39517b925419c22f69a378ec023eh# interfaces.)
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehinclude $(UTSTREE)/intel/Makefile.files
bb5e3b2f129cc39517b925419c22f69a378ec023ehinclude $(UTSTREE)/common/Makefile.files
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Include machine independent rules. Note that this does not imply
bb5e3b2f129cc39517b925419c22f69a378ec023eh# that the resulting module from rules in Makefile.uts is machine
bb5e3b2f129cc39517b925419c22f69a378ec023eh# independent. Only that the build rules are machine independent.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehinclude $(UTSBASE)/Makefile.uts
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# The following must be defined for all implementations:
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehMODSTUBS = $(UTSBASE)/intel/ia32/ml/modstubs.s
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Define supported builds
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEF_BUILDS = $(DEF_BUILDS64) $(DEF_BUILDS32)
bb5e3b2f129cc39517b925419c22f69a378ec023ehALL_BUILDS = $(ALL_BUILDS64) $(ALL_BUILDS32)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# x86 or amd64 inline templates
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehINLINES_32 = $(UTSBASE)/intel/ia32/ml/ia32.il
bb5e3b2f129cc39517b925419c22f69a378ec023ehINLINES_64 = $(UTSBASE)/intel/amd64/ml/amd64.il
bb5e3b2f129cc39517b925419c22f69a378ec023ehINLINES += $(INLINES_$(CLASS))
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# kernel-specific optimizations; override default in Makefile.master
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS_XARCH_32 = $(i386_CFLAGS)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS_XARCH_64 = $(amd64_CFLAGS)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS_XARCH = $(CFLAGS_XARCH_$(CLASS))
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023ehCOPTFLAG_32 = $(COPTFLAG)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCOPTFLAG_64 = $(COPTFLAG64)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCOPTIMIZE = $(COPTFLAG_$(CLASS))
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS = $(CFLAGS_XARCH)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS += $(COPTIMIZE)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS += $(INLINES) -D_ASM_INLINES
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS += $(CCMODE)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS += $(SPACEFLAG)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS += $(CCUNBOUND)
bb5e3b2f129cc39517b925419c22f69a378ec023ehCFLAGS += $(CFLAGS_uts)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023ehASFLAGS_XARCH_32 = $(i386_ASFLAGS)
bb5e3b2f129cc39517b925419c22f69a378ec023ehASFLAGS_XARCH_64 = $(amd64_ASFLAGS)
bb5e3b2f129cc39517b925419c22f69a378ec023ehASFLAGS_XARCH = $(ASFLAGS_XARCH_$(CLASS))
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023ehASFLAGS += $(ASFLAGS_XARCH)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Define the base directory for installation.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehBASE_INS_DIR = $(ROOT)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Simulator flag
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehi386_SIMULATOR = -D_SIMULATOR_SUPPORT
bb5e3b2f129cc39517b925419c22f69a378ec023ehamd64_SIMULATOR = -D_SIMULATOR_SUPPORT
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023ehSIMULATOR = $($(MACH)_SIMULATOR)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Debugging level
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Special knowledge of which special debugging options affect which
bb5e3b2f129cc39517b925419c22f69a378ec023eh# file is used to optimize the build if these flags are changed.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_DEFS_OBJ32 =
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_DEFS_DBG32 = -DDEBUG
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_DEFS_DBG32 += $(SIMULATOR)
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_DEFS_OBJ64 =
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_DEFS_DBG64 = -DDEBUG
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_DEFS_DBG64 += $(SIMULATOR)
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_DEFS = $(DEBUG_DEFS_$(BUILD_TYPE))
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_COND_OBJ32 :sh = echo \\043
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_COND_DBG32 =
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_COND_OBJ64 :sh = echo \\043
bb5e3b2f129cc39517b925419c22f69a378ec023ehDEBUG_COND_DBG64 =
bb5e3b2f129cc39517b925419c22f69a378ec023ehIF_DEBUG_OBJ = $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh$(IF_DEBUG_OBJ)syscall.o := DEBUG_DEFS += -DSYSCALLTRACE
bb5e3b2f129cc39517b925419c22f69a378ec023eh$(IF_DEBUG_OBJ)clock.o := DEBUG_DEFS += -DKSLICE=1
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# This rather strange collection of definitions ensures that lint sees
bb5e3b2f129cc39517b925419c22f69a378ec023eh# 'struct cpu' containing a fully declared embedded 'struct machcpu'
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# There's something deeply dissatisfying about this.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehLINTMACHFLAGS = -D_MACHDEP -I../../i86pc
bb5e3b2f129cc39517b925419c22f69a378ec023eh$(LINTS_DIR)/kcpc.ln := LINTFLAGS += $(LINTMACHFLAGS)
bb5e3b2f129cc39517b925419c22f69a378ec023eh$(LINTS_DIR)/kdi.ln := LINTFLAGS += $(LINTMACHFLAGS)
bb5e3b2f129cc39517b925419c22f69a378ec023eh$(LINTS_DIR)/msacct.ln := LINTFLAGS += $(LINTMACHFLAGS)
bb5e3b2f129cc39517b925419c22f69a378ec023eh$(LINTS_DIR)/thread.ln := LINTFLAGS += $(LINTMACHFLAGS)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Build `options'. These are entirely historical and the need for these
bb5e3b2f129cc39517b925419c22f69a378ec023eh# is completely removed by the module technology.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehOPTION_DEFS = -DC2_AUDIT
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Collect the preprocessor definitions to be associated with *all*
bb5e3b2f129cc39517b925419c22f69a378ec023eh# files.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehALL_DEFS = $(DEBUG_DEFS) $(OPTION_DEFS)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# ----- TRANSITIONAL SECTION --------------------------------------------------
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Not everything which *should* be a module is a module yet. The
bb5e3b2f129cc39517b925419c22f69a378ec023eh# following is a list of such objects which are currently part of
bb5e3b2f129cc39517b925419c22f69a378ec023eh# the base kernel but should soon become kmods.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023ehNOT_YET_KMODS = $(OLDPTY_OBJS) $(PTY_OBJS) $(MOD_OBJS)
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# ----- END OF TRANSITIONAL SECTION -------------------------------------------
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# The kernels modules which are "implementation architecture"
bb5e3b2f129cc39517b925419c22f69a378ec023eh# specific for this machine are enumerated below. Note that most
bb5e3b2f129cc39517b925419c22f69a378ec023eh# of these modules must exist (in one form or another) for each
bb5e3b2f129cc39517b925419c22f69a378ec023eh# architecture.
bb5e3b2f129cc39517b925419c22f69a378ec023eh#
bb5e3b2f129cc39517b925419c22f69a378ec023eh# Common Drivers (usually pseudo drivers) (/kernel/drv)
bb5e3b2f129cc39517b925419c22f69a378ec023eh# DRV_KMODS are built both 32-bit and 64-bit
# DRV_KMODS_32 are built only 32-bit
# DRV_KMODS_64 are built only 64-bit
#
DRV_KMODS += aac
DRV_KMODS += aggr
DRV_KMODS += amr
DRV_KMODS += arp
DRV_KMODS += asy
DRV_KMODS += ath
DRV_KMODS += bl
DRV_KMODS += bge
DRV_KMODS += bofi
DRV_KMODS += clone
DRV_KMODS += cmdk
DRV_KMODS += cn
DRV_KMODS += conskbd
DRV_KMODS += consms
DRV_KMODS += cpuid
DRV_KMODS += crypto
DRV_KMODS += cryptoadm
DRV_KMODS += dca
DRV_KMODS += devinfo
DRV_KMODS += dld
DRV_KMODS += dump
DRV_KMODS += ecpp
DRV_KMODS += fssnap
DRV_KMODS += i8042
DRV_KMODS += icmp
DRV_KMODS += icmp6
DRV_KMODS += ip
DRV_KMODS += ip6
DRV_KMODS += ipf
DRV_KMODS += ippctl
DRV_KMODS += ipsecah
DRV_KMODS += ipsecesp
DRV_KMODS += iwscn
DRV_KMODS += keysock
DRV_KMODS += kssl
DRV_KMODS += kstat
DRV_KMODS += ksyms
DRV_KMODS += kmdb
DRV_KMODS += llc1
DRV_KMODS += lofi
DRV_KMODS += log
DRV_KMODS += logindmux
DRV_KMODS += mm
DRV_KMODS += mouse8042
DRV_KMODS += nca
DRV_KMODS += openeepr
DRV_KMODS += pfil
DRV_KMODS += pm
DRV_KMODS += poll
DRV_KMODS += pool
DRV_KMODS += pseudo
DRV_KMODS += ptc
DRV_KMODS += ptm
DRV_KMODS += pts
DRV_KMODS += ptsl
DRV_KMODS += ramdisk
DRV_KMODS += random
DRV_KMODS += rpcib
DRV_KMODS += rsm
DRV_KMODS += rts
DRV_KMODS += sad
DRV_KMODS += sctp
DRV_KMODS += sctp6
DRV_KMODS += sd
DRV_KMODS += spdsock
DRV_KMODS += smbios
DRV_KMODS += sppp
DRV_KMODS += sppptun
DRV_KMODS += st
DRV_KMODS += sy
DRV_KMODS += sysevent
DRV_KMODS += sysmsg
DRV_KMODS += tcp
DRV_KMODS += tcp6
DRV_KMODS += tl
DRV_KMODS += tnf
DRV_KMODS += udp
DRV_KMODS += udp6
DRV_KMODS += vgatext
DRV_KMODS += vni
DRV_KMODS += vol
DRV_KMODS += wc
DRV_KMODS += winlock
DRV_KMODS += zcons
$(CLOSED_BUILD)CLOSED_DRV_KMODS += chxge
$(CLOSED_BUILD)CLOSED_DRV_KMODS += glm
$(CLOSED_BUILD)CLOSED_DRV_KMODS += llc2
$(CLOSED_BUILD)CLOSED_DRV_KMODS += mpt
$(CLOSED_BUILD)CLOSED_DRV_KMODS += sgen
$(CLOSED_BUILD)CLOSED_DRV_KMODS += xge
#
# Common code drivers
#
DRV_KMODS += rge
$(CLOSED_BUILD)CLOSED_DRV_KMODS += ixgb
#
# DTrace and DTrace Providers
#
DRV_KMODS += dtrace
DRV_KMODS += fbt
DRV_KMODS += lockstat
DRV_KMODS += profile
DRV_KMODS += sdt
DRV_KMODS += systrace
DRV_KMODS += fasttrap
#
# I/O framework test drivers
#
DRV_KMODS += pshot
DRV_KMODS += gen_drv
DRV_KMODS += tvhci tphci tclient
DRV_KMODS += emul64
#
# Machine Specific Driver Modules (/kernel/drv):
#
DRV_KMODS += pci_pci
DRV_KMODS += options
$(CLOSED_BUILD)CLOSED_DRV_KMODS += scsi_vhci
#
# PCMCIA specific module(s)
#
DRV_KMODS += pcs
DRV_KMODS += pcata pcmem pcram
$(CLOSED_BUILD)CLOSED_DRV_KMODS += pem
$(CLOSED_BUILD)CLOSED_DRV_KMODS += pcelx
$(CLOSED_BUILD)CLOSED_DRV_KMODS += pcser
#
# I2O specific module(s)
#
DRV_KMODS_32 += pci_to_i2o i2o_bs i2o_scsi
#
# SCSI Enclosure Services driver
#
DRV_KMODS += ses
#
# USB specific modules
#
DRV_KMODS += hid
DRV_KMODS += hubd
DRV_KMODS += uhci
DRV_KMODS += ehci
DRV_KMODS += ohci
DRV_KMODS += usb_mid
DRV_KMODS += scsa2usb
DRV_KMODS += usbprn
DRV_KMODS += ugen
DRV_KMODS += usbser
DRV_KMODS += usbsksp
DRV_KMODS += usbsprl
DRV_KMODS += usb_ac
DRV_KMODS += usb_as
DRV_KMODS += usbskel
$(CLOSED_BUILD)CLOSED_DRV_KMODS += usbser_edge
#
# 1394 modules
#
MISC_KMODS += s1394 sbp2
DRV_KMODS += hci1394 scsa1394
DRV_KMODS += av1394
DRV_KMODS += dcam1394
#
# InfiniBand pseudo drivers
#
DRV_KMODS += ib ibd
#
# LVM modules
#
DRV_KMODS += md
MISC_KMODS += md_stripe md_hotspares md_mirror md_raid md_trans md_notify
MISC_KMODS += md_sp
#
# Exec Class Modules (/kernel/exec):
#
EXEC_KMODS += elfexec intpexec javaexec
#
# Scheduling Class Modules (/kernel/sched):
#
SCHED_KMODS += IA RT TS RT_DPTBL TS_DPTBL FSS FX FX_DPTBL
#
# File System Modules (/kernel/fs):
#
FS_KMODS += autofs cachefs ctfs devfs fdfs fifofs hsfs lofs
FS_KMODS += mntfs namefs nfs objfs zfs
FS_KMODS += pcfs procfs sockfs specfs tmpfs udfs ufs xmemfs
#
# Streams Modules (/kernel/strmod):
#
STRMOD_KMODS += 6to4tun atun bufmod connld dedump ldterm pckt pfmod pipemod
STRMOD_KMODS += ptem redirmod rpcmod rlmod telmod timod
STRMOD_KMODS += spppasyn spppcomp
STRMOD_KMODS += tirdwr ttcompat tun
STRMOD_KMODS += usbkbm
STRMOD_KMODS += usbms
STRMOD_KMODS += usb_ah
STRMOD_KMODS += drcompat
STRMOD_KMODS += nattymod
STRMOD_KMODS += cryptmod
#
# 'System' Modules (/kernel/sys):
#
SYS_KMODS += c2audit
SYS_KMODS += doorfs
SYS_KMODS += exacctsys
SYS_KMODS += inst_sync
SYS_KMODS += kaio
SYS_KMODS += msgsys
SYS_KMODS += pipe
SYS_KMODS += portfs
SYS_KMODS += pset
SYS_KMODS += semsys
SYS_KMODS += shmsys
SYS_KMODS += sysacct
SYS_KMODS += acctctl
#
# 'Misc' Modules (/kernel/misc)
# MISC_KMODS are built both 32-bit and 64-bit
# MISC_KMODS_32 are built only 32-bit
# MISC_KMODS_64 are built only 64-bit
#
MISC_KMODS += amsrc2
MISC_KMODS += audiosup
MISC_KMODS += busra
MISC_KMODS += cmlb
MISC_KMODS += consconfig
MISC_KMODS += ctf
MISC_KMODS += dadk
MISC_KMODS += diaudio
MISC_KMODS += dls
MISC_KMODS += fssnap_if
MISC_KMODS += gda
MISC_KMODS += gld
MISC_KMODS += hidparser
MISC_KMODS += hpcsvc
MISC_KMODS_32 += i2o_msg
MISC_KMODS += ibcm
MISC_KMODS += ibdm
MISC_KMODS += ibmf
MISC_KMODS += ibtl
MISC_KMODS += ipc
MISC_KMODS += kbtrans
MISC_KMODS += kcf
MISC_KMODS += kgssapi
MISC_KMODS += kmech_dummy
MISC_KMODS += kmech_krb5
MISC_KMODS += krtld
MISC_KMODS += mac
MISC_KMODS += mixer
MISC_KMODS += nfs_dlboot
MISC_KMODS += nfssrv
MISC_KMODS += pcicfg
MISC_KMODS += pcihp
MISC_KMODS += pcmcia
MISC_KMODS += rpcsec
MISC_KMODS += rpcsec_gss
MISC_KMODS += rsmops
MISC_KMODS += scsi
MISC_KMODS += strategy
MISC_KMODS += strplumb
MISC_KMODS += sysinit
MISC_KMODS += tem
MISC_KMODS += tlimod
MISC_KMODS += usba usba10 usbs49_fw
MISC_KMODS += zmod
$(CLOSED_BUILD)CLOSED_MISC_KMODS += amsrc1
$(CLOSED_BUILD)CLOSED_MISC_KMODS += klmmod klmops
$(CLOSED_BUILD)CLOSED_MISC_KMODS += phx
#
# Software Cryptographic Providers (/kernel/crypto):
#
# Don't build some of these for OpenSolaris, since they will be
# replaced by binaries that are signed by Sun RE.
#
$(CLOSED_BUILD)CRYPTO_KMODS += aes
$(CLOSED_BUILD)CRYPTO_KMODS += arcfour
$(CLOSED_BUILD)CRYPTO_KMODS += blowfish
$(CLOSED_BUILD)CRYPTO_KMODS += des
CRYPTO_KMODS += md5
CRYPTO_KMODS += rsa
CRYPTO_KMODS += sha1
CRYPTO_KMODS += sha2
CRYPTO_KMODS += swrand
#
# IP Policy Modules (/kernel/ipp)
#
IPP_KMODS += dlcosmk
IPP_KMODS += flowacct
IPP_KMODS += ipgpc
IPP_KMODS += dscpmk
IPP_KMODS += tokenmt
IPP_KMODS += tswtclmt
#
# 'Dacf' modules (/kernel/dacf)
#
DACF_KMODS += consconfig_dacf
#
# generic-unix module (/kernel/genunix):
#
GENUNIX_KMODS += genunix
#
# SVVS Testing Modules (/kernel/strmod):
#
# These are streams and driver modules which are not to be
# delivered with a released system. However, during development
# it is convenient to build and install the SVVS kernel modules.
#
SVVS_KMODS += lmodb lmode lmodr lmodt lo tidg tivc tmux
SVVS += svvs
#
# Modules eXcluded from the product:
#
$(CLOSED_BUILD)CLOSED_XMODS = \
adpu320 \
daplt \
e1000g \
lsimega \
nge \
tavor
#
# 'Dacf' Modules (/kernel/dacf):
#
DACF_KMODS += usb_ac_dacf
#
# Performance Counter BackEnd modules (/usr/kernel/pcbe)
#
PCBE_KMODS += p123_pcbe p4_pcbe opteron_pcbe