view usr/src/uts/intel/Makefile.intel @ 20101:1a5588aae48c

13144 refactor amdf17nbdf into a nexus 13145 rewrite amdf17nbdf to use the ksensor framework 13146 Want a driver for AMD SMN user access Reviewed by: Patrick Mooney <pmooney@pfmooney.com> Reviewed by: Mike Zeller <mike.zeller@joyent.com> Reviewed by: Robert French <robert@robertdfrench.me> Approved by: Richard Lowe <richlowe@richlowe.net>
author Robert Mustacchi <rm@fingolfin.org>
date Wed, 08 Apr 2020 21:35:09 -0700
parents 2afbf6d9e698
children 4bb6be08390f
line wrap: on
line source

# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013 Andrew Stormont.  All rights reserved.
# Copyright (c) 2014 by Delphix. All rights reserved.
# Copyright 2019 Joyent, Inc.
# Copyright 2016 Garrett D'Amore <garrett@damore.org>
# Copyright 2018 Nexenta Systems, Inc.
# Copyright 2019 RackTop Systems
# Copyright 2019 Peter Tribble.
#

#
#	This makefile contains the common definitions for all intel
#	implementation architecture independent modules.
#

#
#	Machine type (implementation architecture):
#
PLATFORM	 = i86pc

#
#	Everybody needs to know how to build modstubs.o and to locate unix.o.
#	Note that unix.o must currently be selected from among the possible
#	"implementation architectures". Note further, that unix.o is only
#	used as an optional error check for undefines so (theoretically)
#	any "implementation architectures" could be used. We choose i86pc
#	because it is the reference port.
#
UNIX_DIR	 = $(UTSBASE)/i86pc/unix
GENLIB_DIR	 = $(UTSBASE)/intel/genunix
IPDRV_DIR	 = $(UTSBASE)/intel/ip
MODSTUBS_DIR	 = $(UNIX_DIR)
DSF_DIR		 = $(UTSBASE)/$(PLATFORM)/genassym
LINTS_DIR	 = $(OBJS_DIR)
LINT_LIB_DIR	 = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)

UNIX_O		 = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
GENLIB		 = $(GENLIB_DIR)/$(OBJS_DIR)/libgenunix.so
MODSTUBS_O	 = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o
LINT_LIB	 = $(UTSBASE)/i86pc/lint-libs/$(OBJS_DIR)/llib-lunix.ln
GEN_LINT_LIB	 = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)/llib-lgenunix.ln

#
#	Include the makefiles which define build rule templates, the
#	collection of files per module, and a few specific flags. Note
#	that order is significant, just as with an include path. The
#	first build rule template which matches the files name will be
#	used. By including these in order from most machine dependent
#	to most machine independent, we allow a machine dependent file
#	to be used in preference over a machine independent version
#	(Such as a machine specific optimization, which preserves the
#	interfaces.)
#
include $(UTSBASE)/intel/Makefile.files
include $(UTSBASE)/common/Makefile.files

#
# ----- TRANSITIONAL SECTION --------------------------------------------------
#

#
#	Not everything which *should* be a module is a module yet. The
#	following is a list of such objects which are currently part of
#	genunix but which might someday become kmods.  This must be
#	defined before we include Makefile.uts, or else genunix's build
#	won't be as parallel as we might like.
#
NOT_YET_KMODS	 = $(OLDPTY_OBJS) $(PTY_OBJS) $(VCONS_CONF_OBJS) $(MOD_OBJS)

#
# ----- END OF TRANSITIONAL SECTION -------------------------------------------
#
#	Include machine independent rules. Note that this does not imply
#	that the resulting module from rules in Makefile.uts is	machine
#	independent. Only that the build rules are machine independent.
#
include $(UTSBASE)/Makefile.uts

#
#	The following must be defined for all implementations:
#
MODSTUBS		= $(UTSBASE)/intel/ia32/ml/modstubs.s

#
#	Define supported builds
#
DEF_BUILDS		= $(DEF_BUILDS64)
ALL_BUILDS		= $(ALL_BUILDS64)

#
#	kernel-specific optimizations; override default in Makefile.master
#

CFLAGS_XARCH_32		= $(i386_CFLAGS)
CFLAGS_XARCH_64		= $(amd64_CFLAGS)
CFLAGS_XARCH		= $(CFLAGS_XARCH_$(CLASS))

COPTFLAG_32		= $(COPTFLAG)
COPTFLAG_64		= $(COPTFLAG64)
COPTIMIZE		= $(COPTFLAG_$(CLASS))

CFLAGS			= $(CFLAGS_XARCH)
CFLAGS			+= $(COPTIMIZE)
CFLAGS			+= -D_ASM_INLINES
CFLAGS			+= $(CCMODE)
CFLAGS			+= $(SPACEFLAG)
CFLAGS			+= $(CCUNBOUND)
CFLAGS			+= $(CFLAGS_uts)
CFLAGS			+= -xstrconst

#
# Options to control which version of stack-protector we enable. This
# gives us a bit of flexibility and is unfortunately necessary as some
# modules do not function correctly with our defaults (qede).
#
#  o STACKPROTECT_		Sets the appropriate version for the compiler
#  o STACKPROTECT_strong	Sets us to use strong on all of the
#				compilers it supports. This is the same
#				as the default.
#
#  o STACKPROTECT_none		Disables the stack protector.
#
#  o STACKPROTECT_all		Enables it for everything.
#
#  o STACKPROTECT_basic		Enables the basic stack protector.
#
# -fstack-protector-strong is not available in our gcc4 which is why we
# have per-compiler versions below.
#
STACKPROTECT_		= -_gcc4=-fstack-protector
STACKPROTECT_		+= -_gcc7=-fstack-protector-strong
STACKPROTECT_		+= -_gcc8=-fstack-protector-strong
STACKPROTECT_		+= -_gcc9=-fstack-protector-strong

STACKPROTECT_strong	= $(STACKPROTECT_)
STACKPROTECT_none	= -_gcc=-fstack-protector-none
STACKPROTECT_all	= -_gcc=-fstack-protector-all
STACKPROTECT_basic	= -_gcc=-fstack-protector

CFLAGS			+= $(STACKPROTECT_$(STACKPROTECT))

ASFLAGS_XARCH_32	= $(i386_ASFLAGS)
ASFLAGS_XARCH_64	= $(amd64_ASFLAGS)
ASFLAGS_XARCH		= $(ASFLAGS_XARCH_$(CLASS))

ASFLAGS			+= $(ASFLAGS_XARCH)

#
#	Define the base directory for installation.
#
BASE_INS_DIR	= $(ROOT)

#
#	Debugging level
#
#	Special knowledge of which special debugging options affect which
#	file is used to optimize the build if these flags are changed.
#
DEBUG_DEFS_OBJ32	=
DEBUG_DEFS_DBG32	= -DDEBUG
DEBUG_DEFS_OBJ64	=
DEBUG_DEFS_DBG64	= -DDEBUG
DEBUG_DEFS		= $(DEBUG_DEFS_$(BUILD_TYPE))

DEBUG_COND_OBJ32	= $(POUND_SIGN)
DEBUG_COND_DBG32	=
DEBUG_COND_OBJ64	= $(POUND_SIGN)
DEBUG_COND_DBG64	=
IF_DEBUG_OBJ		= $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/

$(IF_DEBUG_OBJ)syscall.o	:=	DEBUG_DEFS	+= -DSYSCALLTRACE
$(IF_DEBUG_OBJ)clock.o		:=	DEBUG_DEFS	+= -DKSLICE=1

#
#	Collect the preprocessor definitions to be associated with *all*
#	files.
#
ALL_DEFS	 = $(DEBUG_DEFS) $(OPTION_DEFS)

#
#	TCP congestion control modules (/kernel/cc)
#
MISC_KMODS	+= cc
CC_KMODS	+= cc_newreno cc_cubic cc_sunreno

#
#	The kernels modules which are "implementation architecture"
#	specific for this machine are enumerated below. Note that most
#	of these modules must exist (in one form or another) for each
#	architecture.
#
#	Common Drivers (usually pseudo drivers) (/kernel/drv)
#	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	+= ahci
DRV_KMODS	+= amr
DRV_KMODS	+= srn
DRV_KMODS       += arn
DRV_KMODS	+= arp
DRV_KMODS	+= asy
DRV_KMODS	+= ata
DRV_KMODS	+= ath
DRV_KMODS	+= atu
DRV_KMODS	+= audio
DRV_KMODS	+= audio1575
DRV_KMODS	+= audio810
DRV_KMODS	+= audiocmi
DRV_KMODS	+= audiocmihd
DRV_KMODS	+= audioemu10k
DRV_KMODS	+= audioens
DRV_KMODS	+= audiohd
DRV_KMODS	+= audioixp
DRV_KMODS	+= audiols
DRV_KMODS	+= audiop16x
DRV_KMODS	+= audiopci
DRV_KMODS	+= audiosolo
DRV_KMODS	+= audiots
DRV_KMODS	+= audiovia823x
DRV_KMODS	+= bl
DRV_KMODS	+= blkdev
DRV_KMODS	+= bge
DRV_KMODS	+= bofi
DRV_KMODS	+= bpf
DRV_KMODS	+= bridge
DRV_KMODS	+= chxge
DRV_KMODS	+= cxgbe
DRV_KMODS	+= ntxn
DRV_KMODS	+= myri10ge
DRV_KMODS	+= clone
DRV_KMODS	+= cmdk
DRV_KMODS	+= cn
DRV_KMODS	+= conskbd
DRV_KMODS	+= consms
DRV_KMODS	+= cpqary3
DRV_KMODS	+= cpuid
DRV_KMODS	+= cpunex
DRV_KMODS	+= crypto
DRV_KMODS	+= cryptoadm
DRV_KMODS	+= dca
DRV_KMODS	+= devinfo
DRV_KMODS	+= dld
DRV_KMODS	+= dlpistub
DRV_KMODS	+= dnet
DRV_KMODS	+= dump
DRV_KMODS	+= ecpp
DRV_KMODS	+= emlxs
DRV_KMODS	+= eventfd
DRV_KMODS	+= fd
DRV_KMODS	+= fdc
DRV_KMODS	+= fm
DRV_KMODS	+= fssnap
DRV_KMODS	+= hxge
DRV_KMODS	+= i8042
DRV_KMODS	+= icmp
DRV_KMODS	+= icmp6
DRV_KMODS	+= intel_nb5000
DRV_KMODS	+= intel_nhm
DRV_KMODS	+= ip
DRV_KMODS	+= ip6
DRV_KMODS	+= ipd
DRV_KMODS	+= ipf
DRV_KMODS       += ipnet
DRV_KMODS	+= ippctl
DRV_KMODS	+= ipsecah
DRV_KMODS	+= ipsecesp
DRV_KMODS	+= ipw
DRV_KMODS	+= iwh
DRV_KMODS	+= iwi
DRV_KMODS	+= iwn
DRV_KMODS	+= iwk
DRV_KMODS	+= iwp
DRV_KMODS	+= iwscn
DRV_KMODS	+= kb8042
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	+= mega_sas
DRV_KMODS	+= mc-amd
DRV_KMODS	+= mlxcx
DRV_KMODS	+= mm
DRV_KMODS	+= mouse8042
DRV_KMODS	+= mpt_sas
DRV_KMODS	+= mr_sas
DRV_KMODS	+= mwl
DRV_KMODS	+= nca
DRV_KMODS	+= nsmb
DRV_KMODS	+= nulldriver
DRV_KMODS	+= nv_sata
DRV_KMODS	+= nvme
DRV_KMODS	+= nxge
DRV_KMODS	+= oce
DRV_KMODS	+= openeepr
DRV_KMODS	+= pci_pci
DRV_KMODS	+= pcic
DRV_KMODS	+= pcieb
DRV_KMODS	+= physmem
DRV_KMODS	+= pit_beep
DRV_KMODS	+= pm
DRV_KMODS	+= poll
DRV_KMODS	+= pool
DRV_KMODS	+= power
DRV_KMODS	+= pseudo
DRV_KMODS	+= ptc
DRV_KMODS	+= ptm
DRV_KMODS	+= pts
DRV_KMODS	+= ptsl
DRV_KMODS	+= qlge
DRV_KMODS	+= ral
DRV_KMODS	+= ramdisk
DRV_KMODS	+= random
DRV_KMODS	+= rds
DRV_KMODS	+= rdsv3
DRV_KMODS	+= rpcib
DRV_KMODS	+= rsm
DRV_KMODS	+= rts
DRV_KMODS	+= rtw
DRV_KMODS	+= rum
DRV_KMODS	+= rwd
DRV_KMODS	+= rwn
DRV_KMODS	+= sad
DRV_KMODS	+= sd
DRV_KMODS	+= sdhost
DRV_KMODS	+= sgen
DRV_KMODS	+= si3124
DRV_KMODS	+= signalfd
DRV_KMODS	+= smbios
DRV_KMODS	+= skd
DRV_KMODS	+= softmac
DRV_KMODS	+= spdsock
DRV_KMODS	+= smbsrv
DRV_KMODS	+= smp
DRV_KMODS	+= sppp
DRV_KMODS	+= sppptun
DRV_KMODS	+= srpt
DRV_KMODS	+= st
DRV_KMODS	+= sy
DRV_KMODS	+= sysevent
DRV_KMODS	+= sysmsg
DRV_KMODS	+= tcp
DRV_KMODS	+= tcp6
DRV_KMODS	+= timerfd
DRV_KMODS	+= tl
DRV_KMODS	+= tnf
DRV_KMODS	+= tpm
DRV_KMODS	+= trill
DRV_KMODS	+= udp
DRV_KMODS	+= udp6
DRV_KMODS	+= ucode
DRV_KMODS	+= ufm
DRV_KMODS	+= ufmtest
DRV_KMODS	+= ural
DRV_KMODS	+= uath
DRV_KMODS	+= urtw
DRV_KMODS	+= vgatext
DRV_KMODS	+= vnic
DRV_KMODS	+= vscan
DRV_KMODS	+= wc
DRV_KMODS	+= winlock
DRV_KMODS	+= wpi
DRV_KMODS	+= xge
DRV_KMODS	+= yge
DRV_KMODS	+= zcons
DRV_KMODS	+= zyd
DRV_KMODS	+= simnet
DRV_KMODS	+= stmf
DRV_KMODS	+= stmf_sbd
DRV_KMODS	+= fct
DRV_KMODS	+= fcoe
DRV_KMODS	+= fcoet
DRV_KMODS	+= fcoei
DRV_KMODS	+= qlt
DRV_KMODS	+= iscsit
DRV_KMODS	+= pppt
DRV_KMODS	+= iptun
DRV_KMODS	+= vmxnet3s
DRV_KMODS	+= pvscsi

#
# Common code drivers
#

DRV_KMODS	+= afe
DRV_KMODS	+= atge
DRV_KMODS	+= bfe
DRV_KMODS	+= bnx
DRV_KMODS	+= bnxe
DRV_KMODS	+= dmfe
DRV_KMODS	+= e1000g
DRV_KMODS	+= efe
DRV_KMODS	+= elxl
DRV_KMODS	+= hme
DRV_KMODS	+= mxfe
DRV_KMODS	+= nge
DRV_KMODS	+= pcn
DRV_KMODS	+= qede
DRV_KMODS	+= rge
DRV_KMODS	+= rtls
DRV_KMODS	+= sfe
DRV_KMODS	+= sfxge
DRV_KMODS	+= amd8111s
DRV_KMODS	+= igb
DRV_KMODS	+= ipmi
DRV_KMODS	+= iprb
DRV_KMODS	+= ixgbe
DRV_KMODS	+= i40e
DRV_KMODS	+= vr

#
# Virtio drivers
#

# Virtio core
DRV_KMODS	+= virtio

# Virtio block driver
DRV_KMODS	+= vioblk

# Virtio network driver
DRV_KMODS	+= vioif

#
#	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
DRV_KMODS	+= dcpc

#
#	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	+= options
DRV_KMODS	+= scsi_vhci
DRV_KMODS	+= pmcs
DRV_KMODS	+= pmcs8001fw
DRV_KMODS	+= arcmsr
DRV_KMODS	+= fcp
DRV_KMODS	+= fcip
DRV_KMODS	+= fcsm
DRV_KMODS	+= fp
DRV_KMODS	+= qlc
DRV_KMODS	+= iscsi

#
#	PCMCIA specific module(s)
#
DRV_KMODS	+= pcs
MISC_KMODS	+= cardbus

#
#	SCSI Enclosure Services driver
#
DRV_KMODS	+= ses

#
#	USB specific modules
#
DRV_KMODS	+= ccid
DRV_KMODS	+= hid
DRV_KMODS	+= hubd
DRV_KMODS	+= uhci
DRV_KMODS	+= ehci
DRV_KMODS	+= ohci
DRV_KMODS	+= usb_mid
DRV_KMODS	+= usb_ia
DRV_KMODS	+= scsa2usb
DRV_KMODS	+= usbprn
DRV_KMODS	+= ugen
DRV_KMODS	+= usbser
DRV_KMODS	+= usbsacm
DRV_KMODS	+= usbsksp
DRV_KMODS	+= usbsprl
DRV_KMODS	+= usb_ac
DRV_KMODS	+= usb_as
DRV_KMODS	+= usbskel
DRV_KMODS	+= usbvc
DRV_KMODS	+= usbftdi
DRV_KMODS	+= usbecm
DRV_KMODS	+= xhci

#
#	USBGEM modules
#
DRV_KMODS	+= usbgem
DRV_KMODS	+= axf
DRV_KMODS	+= udmf
DRV_KMODS	+= upf
DRV_KMODS	+= urf

#
#	1394 modules
#
MISC_KMODS	+= s1394 sbp2
DRV_KMODS	+= hci1394 scsa1394
DRV_KMODS	+= av1394
DRV_KMODS	+= dcam1394

#
#	InfiniBand pseudo drivers
#
DRV_KMODS	+= ib ibp eibnx eoib rdsib sdp iser daplt hermon tavor sol_ucma sol_uverbs
DRV_KMODS	+= sol_umad

#
#	Brand modules
#
BRAND_KMODS	+= sn1_brand s10_brand

#
#	Exec Class Modules (/kernel/exec):
#
EXEC_KMODS	+= elfexec intpexec shbinexec javaexec

#
#	Scheduling Class Modules (/kernel/sched):
#
SCHED_KMODS	+= IA RT TS RT_DPTBL TS_DPTBL FSS FX FX_DPTBL SDC

#
#	File System Modules (/kernel/fs):
#
FS_KMODS	+= autofs ctfs dcfs dev devfs fdfs fifofs hsfs lofs
FS_KMODS	+= mntfs namefs nfs objfs zfs zut
FS_KMODS	+= pcfs procfs sockfs specfs tmpfs udfs ufs sharefs
FS_KMODS	+= smbfs bootfs

#
#	Streams Modules (/kernel/strmod):
#
STRMOD_KMODS	+= bufmod connld dedump ldterm pckt pfmod pipemod
STRMOD_KMODS	+= ptem redirmod rpcmod rlmod telmod timod
STRMOD_KMODS	+= spppasyn spppcomp
STRMOD_KMODS	+= tirdwr ttcompat
STRMOD_KMODS	+= usbkbm
STRMOD_KMODS	+= usbms
STRMOD_KMODS	+= usbwcm
STRMOD_KMODS	+= usb_ah
STRMOD_KMODS	+= drcompat
STRMOD_KMODS	+= cryptmod
STRMOD_KMODS	+= vuid2ps2
STRMOD_KMODS	+= vuid3ps2
STRMOD_KMODS	+= vuidm3p
STRMOD_KMODS	+= vuidm4p
STRMOD_KMODS	+= vuidm5p

#
#	'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	+= ac97
MISC_KMODS	+= acpica
MISC_KMODS	+= bignum
MISC_KMODS	+= bootdev
MISC_KMODS	+= busra
MISC_KMODS	+= cmlb
MISC_KMODS	+= consconfig
MISC_KMODS	+= ctf
MISC_KMODS	+= dadk
MISC_KMODS	+= dcopy
MISC_KMODS	+= dls
MISC_KMODS	+= fssnap_if
MISC_KMODS	+= gda
MISC_KMODS	+= gld
MISC_KMODS	+= hidparser
MISC_KMODS	+= hook
MISC_KMODS	+= hpcsvc
MISC_KMODS	+= ibcm
MISC_KMODS	+= ibdm
MISC_KMODS	+= ibdma
MISC_KMODS	+= ibmf
MISC_KMODS	+= ibtl
MISC_KMODS	+= idm
MISC_KMODS	+= idmap
MISC_KMODS	+= iommulib
MISC_KMODS	+= ipc
MISC_KMODS	+= kbtrans
MISC_KMODS	+= kcf
MISC_KMODS	+= kgssapi
MISC_KMODS	+= kmech_dummy
MISC_KMODS	+= kmech_krb5
MISC_KMODS	+= ksocket
MISC_KMODS	+= mac
MISC_KMODS	+= mii
MISC_KMODS	+= mwlfw
MISC_KMODS	+= net80211
MISC_KMODS	+= nfs_dlboot
MISC_KMODS	+= nfssrv
MISC_KMODS	+= neti
MISC_KMODS	+= pci_autoconfig
MISC_KMODS	+= pcicfg
MISC_KMODS	+= pcihp
MISC_KMODS	+= pcmcia
MISC_KMODS	+= rpcsec
MISC_KMODS	+= rpcsec_gss
MISC_KMODS	+= rsmops
MISC_KMODS	+= sata
MISC_KMODS	+= scsi
MISC_KMODS	+= sda
MISC_KMODS	+= sol_ofs
MISC_KMODS	+= strategy
MISC_KMODS	+= strplumb
MISC_KMODS	+= tem
MISC_KMODS	+= tlimod
MISC_KMODS	+= usba usba10 usbs49_fw
MISC_KMODS	+= scsi_vhci_f_sym_hds
MISC_KMODS	+= scsi_vhci_f_sym
MISC_KMODS	+= scsi_vhci_f_tpgs
MISC_KMODS	+= scsi_vhci_f_tape
MISC_KMODS	+= scsi_vhci_f_tpgs_tape
MISC_KMODS	+= fctl
MISC_KMODS	+= emlxs_fw
MISC_KMODS	+= qlc_fw_2200
MISC_KMODS	+= qlc_fw_2300
MISC_KMODS	+= qlc_fw_2400
MISC_KMODS	+= qlc_fw_2500
MISC_KMODS	+= qlc_fw_6322
MISC_KMODS	+= qlc_fw_8100
MISC_KMODS	+= uathfw

MISC_KMODS	+= klmmod klmops

#
#	Software Cryptographic Providers (/kernel/crypto):
#
CRYPTO_KMODS	+= aes
CRYPTO_KMODS	+= arcfour
CRYPTO_KMODS	+= blowfish
CRYPTO_KMODS	+= des
CRYPTO_KMODS	+= ecc
CRYPTO_KMODS	+= edonr
CRYPTO_KMODS	+= md4
CRYPTO_KMODS	+= md5
CRYPTO_KMODS	+= rsa
CRYPTO_KMODS	+= sha1
CRYPTO_KMODS	+= sha2
CRYPTO_KMODS	+= skein
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

#
#	generic-unix module (/kernel/genunix):
#
GENUNIX_KMODS	+= genunix

#
#	Modules eXcluded from the product:
#

#
#	'Dacf' Modules (/kernel/dacf):
#

#
#	Performance Counter BackEnd modules (/usr/kernel/pcbe)
#
PCBE_KMODS	+= p4_pcbe opteron_pcbe core_pcbe

#
#	MAC-Type Plugin Modules (/kernel/mac)
#
MAC_KMODS	+= mac_6to4
MAC_KMODS	+= mac_ether
MAC_KMODS	+= mac_ipv4
MAC_KMODS	+= mac_ipv6
MAC_KMODS	+= mac_wifi
MAC_KMODS	+= mac_ib

#
# socketmod (kernel/socketmod)
#
SOCKET_KMODS	+= sockpfp
SOCKET_KMODS	+= socksctp
SOCKET_KMODS    += socksdp
SOCKET_KMODS	+= sockrds
SOCKET_KMODS	+= ksslf

#
#	kiconv modules (/kernel/kiconv):
#
KICONV_KMODS	+= kiconv_emea kiconv_ja kiconv_ko kiconv_sc kiconv_tc

#
#	'Dacf' Modules (/kernel/dacf):
#
DACF_KMODS	+= net_dacf

#
# Ensure that the variable member of the cpu_t (cpu_m) is defined
# for the lint builds so as not to cause lint errors during the
# global cross check.
#
LINTFLAGS	+= -D_MACHDEP -I$(UTSBASE)/i86pc

#
#	Sensor related drivers
#
DRV_KMODS	+= ksensor ksensor_test
DRV_KMODS	+= coretemp
DRV_KMODS	+= pchtemp
DRV_KMODS	+= amdnbtemp
DRV_KMODS	+= smntemp

#
#	AMD Zen Nexus driver and Related
#
DRV_KMODS	+= amdzen
DRV_KMODS	+= amdzen_stub
DRV_KMODS	+= usmn