xref: /titanic_51/usr/src/uts/sparc/Makefile.sparc (revision 3d729aecc03ea6ebb9bd5d56b8dccd24f57daa41)
12063d9c0SJosef 'Jeff' Sipek#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
54ab75253Smrj# Common Development and Distribution License (the "License").
64ab75253Smrj# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
214ab75253Smrj
222063d9c0SJosef 'Jeff' Sipek# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
232063d9c0SJosef 'Jeff' Sipek# Copyright (c) 2013 Andrew Stormont.  All rights reserved.
246a72db4aSBryan Cantrill# Copyright (c) 2015, Joyent, Inc. All rights reserved.
25bd93c05dSAlexander Eremin# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
262063d9c0SJosef 'Jeff' Sipek
272063d9c0SJosef 'Jeff' Sipek
287c478bd9Sstevel@tonic-gate#
292063d9c0SJosef 'Jeff' Sipek#	This makefile contains the common definitions for all sparc
302063d9c0SJosef 'Jeff' Sipek#	implementation architecture independent modules.
317c478bd9Sstevel@tonic-gate#
327c478bd9Sstevel@tonic-gate
332063d9c0SJosef 'Jeff' Sipek#
342063d9c0SJosef 'Jeff' Sipek#	Define supported builds
352063d9c0SJosef 'Jeff' Sipek#
362063d9c0SJosef 'Jeff' SipekDEF_BUILDS	= $(DEF_BUILDS64)
372063d9c0SJosef 'Jeff' SipekALL_BUILDS	= $(ALL_BUILDS64)
387c478bd9Sstevel@tonic-gate
392063d9c0SJosef 'Jeff' Sipek#
402063d9c0SJosef 'Jeff' Sipek#	Everybody needs to know how to build modstubs.o and to locate unix.o.
412063d9c0SJosef 'Jeff' Sipek#	Note that unix.o must currently be selected from among the possible
422063d9c0SJosef 'Jeff' Sipek#	"implementation architectures". Note further, that unix.o is only
432063d9c0SJosef 'Jeff' Sipek#	used as an optional error check for undefines so (theoretically)
442063d9c0SJosef 'Jeff' Sipek#	any "implementation architectures" could be used. We choose sun4u
452063d9c0SJosef 'Jeff' Sipek#	because it is the reference port.
462063d9c0SJosef 'Jeff' Sipek#
472063d9c0SJosef 'Jeff' SipekUNIX_DIR	 = $(UTSBASE)/sun4u/unix
482063d9c0SJosef 'Jeff' SipekGENLIB_DIR	 = $(UTSBASE)/sun4u/genunix
492063d9c0SJosef 'Jeff' SipekIPDRV_DIR	 = $(UTSBASE)/sparc/ip
502063d9c0SJosef 'Jeff' SipekMODSTUBS_DIR	 = $(UNIX_DIR)
512063d9c0SJosef 'Jeff' SipekDSF_DIR		 = $(UNIX_DIR)
522063d9c0SJosef 'Jeff' SipekLINTS_DIR	 = $(OBJS_DIR)
532063d9c0SJosef 'Jeff' SipekLINT_LIB_DIR	 = $(UTSBASE)/sparc/lint-libs/$(OBJS_DIR)
542063d9c0SJosef 'Jeff' Sipek
552063d9c0SJosef 'Jeff' SipekUNIX_O		 = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
562063d9c0SJosef 'Jeff' SipekMODSTUBS_O	 = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o
572063d9c0SJosef 'Jeff' SipekGENLIB		 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/libgenunix.so
582063d9c0SJosef 'Jeff' Sipek
592063d9c0SJosef 'Jeff' SipekLINT_LIB_32	 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/llib-lunix.ln
602063d9c0SJosef 'Jeff' SipekGEN_LINT_LIB_32	 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/llib-lgenunix.ln
612063d9c0SJosef 'Jeff' Sipek
622063d9c0SJosef 'Jeff' SipekLINT_LIB_64	 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/llib-lunix.ln
632063d9c0SJosef 'Jeff' SipekGEN_LINT_LIB_64	 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/llib-lgenunix.ln
642063d9c0SJosef 'Jeff' Sipek
652063d9c0SJosef 'Jeff' SipekLINT_LIB	 = $(LINT_LIB_$(CLASS))
662063d9c0SJosef 'Jeff' SipekGEN_LINT_LIB	 = $(GEN_LINT_LIB_$(CLASS))
672063d9c0SJosef 'Jeff' Sipek
682063d9c0SJosef 'Jeff' SipekLINT32_DIRS	 = $(LINT32_BUILDS:%=$(UTSBASE)/sparc/lint-libs/%)
692063d9c0SJosef 'Jeff' SipekLINT32_FILES	 = $(LINT32_DIRS:%=%/llib-l$(MODULE).ln)
702063d9c0SJosef 'Jeff' Sipek
712063d9c0SJosef 'Jeff' SipekLINT64_DIRS	 = $(LINT64_BUILDS:%=$(UTSBASE)/sparc/lint-libs/%)
722063d9c0SJosef 'Jeff' SipekLINT64_FILES	 = $(LINT64_DIRS:%=%/llib-l$(MODULE).ln)
732063d9c0SJosef 'Jeff' Sipek
742063d9c0SJosef 'Jeff' Sipek#
752063d9c0SJosef 'Jeff' Sipek#	Include the makefiles which define build rule templates, the
762063d9c0SJosef 'Jeff' Sipek#	collection of files per module, and a few specific flags. Note
772063d9c0SJosef 'Jeff' Sipek#	that order is significant, just as with an include path. The
782063d9c0SJosef 'Jeff' Sipek#	first build rule template which matches the files name will be
792063d9c0SJosef 'Jeff' Sipek#	used. By including these in order from most machine dependent
802063d9c0SJosef 'Jeff' Sipek#	to most machine independent, we allow a machine dependent file
812063d9c0SJosef 'Jeff' Sipek#	to be used in preference over a machine independent version
822063d9c0SJosef 'Jeff' Sipek#	(Such as a machine specific optimization, which preserves the
832063d9c0SJosef 'Jeff' Sipek#	interfaces.)
842063d9c0SJosef 'Jeff' Sipek#
852063d9c0SJosef 'Jeff' Sipekinclude $(UTSBASE)/sparc/Makefile.files
862063d9c0SJosef 'Jeff' Sipekinclude $(UTSBASE)/sparc/v9/Makefile.files
872063d9c0SJosef 'Jeff' Sipekinclude $(UTSBASE)/sun/Makefile.files
882063d9c0SJosef 'Jeff' Sipekinclude $(UTSBASE)/common/Makefile.files
892063d9c0SJosef 'Jeff' Sipek
902063d9c0SJosef 'Jeff' Sipek#
912063d9c0SJosef 'Jeff' Sipek# ----- TRANSITIONAL SECTION --------------------------------------------------
922063d9c0SJosef 'Jeff' Sipek#
932063d9c0SJosef 'Jeff' Sipek
942063d9c0SJosef 'Jeff' Sipek#
952063d9c0SJosef 'Jeff' Sipek#	Not everything which *should* be a module is a module yet. The
962063d9c0SJosef 'Jeff' Sipek#	following is a list of such objects which are currently part of
972063d9c0SJosef 'Jeff' Sipek#	genunix but which might someday become kmods.   This must be
982063d9c0SJosef 'Jeff' Sipek#	defined before we include Makefile.uts, or else genunix's build
992063d9c0SJosef 'Jeff' Sipek#	won't be as parallel as we might like.
1002063d9c0SJosef 'Jeff' Sipek#
1012063d9c0SJosef 'Jeff' SipekNOT_YET_KMODS	 = $(OLDPTY_OBJS) $(PTY_OBJS) $(VCONS_CONF_OBJS) $(MOD_OBJS)
1022063d9c0SJosef 'Jeff' Sipek
1032063d9c0SJosef 'Jeff' Sipek#
1042063d9c0SJosef 'Jeff' Sipek# ----- END OF TRANSITIONAL SECTION -------------------------------------------
1052063d9c0SJosef 'Jeff' Sipek#
1062063d9c0SJosef 'Jeff' Sipek#	Include machine independent rules. Note that this does not imply
1072063d9c0SJosef 'Jeff' Sipek#	that the resulting module from rules in Makefile.uts is	machine
1082063d9c0SJosef 'Jeff' Sipek#	independent. Only that the build rules are machine independent.
1092063d9c0SJosef 'Jeff' Sipek#
1102063d9c0SJosef 'Jeff' Sipekinclude $(UTSBASE)/Makefile.uts
1112063d9c0SJosef 'Jeff' Sipek
1122063d9c0SJosef 'Jeff' Sipek#
1132063d9c0SJosef 'Jeff' Sipek#	machine specific optimization, override default in Makefile.master
1142063d9c0SJosef 'Jeff' Sipek#
1152063d9c0SJosef 'Jeff' SipekXARCH_32	= -xarch=v8
1162063d9c0SJosef 'Jeff' SipekXARCH_64	= -m64
1172063d9c0SJosef 'Jeff' SipekXARCH		= $(XARCH_$(CLASS))
1182063d9c0SJosef 'Jeff' Sipek
1192063d9c0SJosef 'Jeff' SipekCOPTIMIZE_32	= -xO3
1202063d9c0SJosef 'Jeff' SipekCOPTIMIZE_64	= -xO3
1212063d9c0SJosef 'Jeff' SipekCOPTIMIZE	= $(COPTIMIZE_$(CLASS))
1222063d9c0SJosef 'Jeff' Sipek
1232063d9c0SJosef 'Jeff' SipekCCMODE		= -Xa
1242063d9c0SJosef 'Jeff' Sipek
1252063d9c0SJosef 'Jeff' SipekCFLAGS_32	= -xcg92
1262063d9c0SJosef 'Jeff' SipekCFLAGS_64	= -xchip=ultra $(CCABS32) $(CCREGSYM)
1272063d9c0SJosef 'Jeff' SipekCFLAGS		= $(CFLAGS_$(CLASS))
1282063d9c0SJosef 'Jeff' Sipek
1292063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(XARCH)
1302063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(COPTIMIZE)
1312063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(EXTRA_CFLAGS)
1322063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(XAOPT)
1332063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(INLINES) -D_ASM_INLINES
1342063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CCMODE)
1352063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(SPACEFLAG)
1362063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CERRWARN)
1372063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CTF_FLAGS_$(CLASS))
1382063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(C99MODE)
1392063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CCUNBOUND)
1402063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CCSTATICSYM)
1412063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CC32BITCALLERS)
1422063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CCNOAUTOINLINE)
1432063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(IROPTFLAG)
1442063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CGLOBALSTATIC)
1452063d9c0SJosef 'Jeff' SipekCFLAGS		+= -xregs=no%float
1462063d9c0SJosef 'Jeff' SipekCFLAGS		+= -xstrconst
1472063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CSOURCEDEBUGFLAGS)
1482063d9c0SJosef 'Jeff' SipekCFLAGS		+= $(CUSERFLAGS)
1492063d9c0SJosef 'Jeff' Sipek
1502063d9c0SJosef 'Jeff' SipekASFLAGS		+= $(XARCH)
1512063d9c0SJosef 'Jeff' Sipek
1522063d9c0SJosef 'Jeff' SipekLINT_DEFS_32	=
1532063d9c0SJosef 'Jeff' SipekLINT_DEFS_64	= -m64
1542063d9c0SJosef 'Jeff' SipekLINT_DEFS	+= $(LINT_DEFS_$(CLASS))
1552063d9c0SJosef 'Jeff' Sipek
1562063d9c0SJosef 'Jeff' Sipek#
1572063d9c0SJosef 'Jeff' Sipek#	The following must be defined for all implementations:
1582063d9c0SJosef 'Jeff' Sipek#
1592063d9c0SJosef 'Jeff' Sipek#	MODSTUBS:	Module stubs source file.
1602063d9c0SJosef 'Jeff' Sipek#
1612063d9c0SJosef 'Jeff' SipekMODSTUBS	 = $(UTSBASE)/sparc/ml/modstubs.s
1622063d9c0SJosef 'Jeff' Sipek
1632063d9c0SJosef 'Jeff' Sipek#
1642063d9c0SJosef 'Jeff' Sipek#	Define the actual specific platforms - obviously none.
1652063d9c0SJosef 'Jeff' Sipek#
1662063d9c0SJosef 'Jeff' SipekMACHINE_DEFS	 =
1672063d9c0SJosef 'Jeff' Sipek
1682063d9c0SJosef 'Jeff' Sipek#
1692063d9c0SJosef 'Jeff' Sipek#	Debugging level
1702063d9c0SJosef 'Jeff' Sipek#
1712063d9c0SJosef 'Jeff' Sipek#	Special knowledge of which special debugging options effect which
1722063d9c0SJosef 'Jeff' Sipek#	file is used to optimize the build if these flags are changed.
1732063d9c0SJosef 'Jeff' Sipek#
1742063d9c0SJosef 'Jeff' Sipek#	XXX: The above could possibly be done for more flags and files, but
1752063d9c0SJosef 'Jeff' Sipek#	     is left as an experiment to the interested reader. Be forewarned,
1762063d9c0SJosef 'Jeff' Sipek#	     that excessive use could lead to maintenance difficulties.
1772063d9c0SJosef 'Jeff' Sipek#
1782063d9c0SJosef 'Jeff' SipekDEBUG_DEFS_OBJ32	=
1792063d9c0SJosef 'Jeff' SipekDEBUG_DEFS_DBG32	= -DDEBUG
1802063d9c0SJosef 'Jeff' SipekDEBUG_DEFS_OBJ64	=
1812063d9c0SJosef 'Jeff' SipekDEBUG_DEFS_DBG64	= -DDEBUG
1822063d9c0SJosef 'Jeff' SipekDEBUG_DEFS		= $(DEBUG_DEFS_$(BUILD_TYPE))
1832063d9c0SJosef 'Jeff' Sipek
1842063d9c0SJosef 'Jeff' SipekDEBUG_COND_OBJ32	= $(POUND_SIGN)
1852063d9c0SJosef 'Jeff' SipekDEBUG_COND_DBG32	=
1862063d9c0SJosef 'Jeff' SipekDEBUG_COND_OBJ64	= $(POUND_SIGN)
1872063d9c0SJosef 'Jeff' SipekDEBUG_COND_DBG64	=
1882063d9c0SJosef 'Jeff' SipekIF_DEBUG_OBJ		= $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/
1892063d9c0SJosef 'Jeff' Sipek
1902063d9c0SJosef 'Jeff' Sipek$(IF_DEBUG_OBJ)syscall.o	:=	DEBUG_DEFS	+= -DSYSCALLTRACE
1912063d9c0SJosef 'Jeff' Sipek$(IF_DEBUG_OBJ)clock.o		:=	DEBUG_DEFS	+= -DKSLICE=1
1922063d9c0SJosef 'Jeff' Sipek
1932063d9c0SJosef 'Jeff' Sipek# Comment these out if you don't want dispatcher lock statistics.
1942063d9c0SJosef 'Jeff' Sipek
1952063d9c0SJosef 'Jeff' Sipek# $(IF_DEBUG_OBJ)disp_lock.o	:= DEBUG_DEFS	+= -DDISP_LOCK_STATS
1962063d9c0SJosef 'Jeff' Sipek
1972063d9c0SJosef 'Jeff' Sipek#
1982063d9c0SJosef 'Jeff' Sipek#	Collect the preprocessor definitions to be associated with *all*
1992063d9c0SJosef 'Jeff' Sipek#	files.
2002063d9c0SJosef 'Jeff' Sipek#
2012063d9c0SJosef 'Jeff' SipekALL_DEFS	 = $(MACHINE_DEFS) $(DEBUG_DEFS) $(OPTION_DEFS)
2022063d9c0SJosef 'Jeff' Sipek#
2032063d9c0SJosef 'Jeff' Sipek#
2042063d9c0SJosef 'Jeff' Sipek#	The kernels modules which are "implementation architecture"
2052063d9c0SJosef 'Jeff' Sipek#	specific for this machine are enumerated below. Note that most
2062063d9c0SJosef 'Jeff' Sipek#	of these modules must exist (in one form or another) for each
2072063d9c0SJosef 'Jeff' Sipek#	architecture.
2082063d9c0SJosef 'Jeff' Sipek#
2092063d9c0SJosef 'Jeff' Sipek#	Common Drivers (usually pseudo drivers) (/kernel/drv):
2102063d9c0SJosef 'Jeff' Sipek#
2112063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= aggr arp audio bl blkdev bofi clone cn conskbd consms cpuid
2122063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= crypto cryptoadm devinfo dump
2132063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= dtrace fasttrap fbt lockstat profile sdt systrace dcpc
2142063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fssnap icmp icmp6 ip ip6 ipnet ipsecah
2152063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ipsecesp iptun iwscn keysock kmdb kstat ksyms llc1
2162063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= lofi
2172063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= log logindmux kssl mm nca physmem pm poll pool
2182063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= pseudo ptc ptm pts ptsl ramdisk random rsm rts sad
2192063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= simnet softmac sppp sppptun sy sysevent sysmsg
2202063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= spdsock
2212063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= tcp tcp6 tl tnf ttymux udp udp6 wc winlock zcons
2222063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ippctl
2232063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= dld
2249c720e3bSIgor KozhukhovDRV_KMODS	+= ipd
2252063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ipf
2262063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= rpcib
2272063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= dlpistub
2282063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= vnic
2292063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= xge
2302063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= rds
2312063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= rdsv3
2322063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= chxge
2332063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= smbsrv
2342063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= vscan
2352063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= nsmb
2362063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fm
2372063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= nulldriver
2382063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= bridge trill
2392063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= bpf
2402063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= dca
2411767006bSBryan CantrillDRV_KMODS	+= eventfd
242*3d729aecSJerry JelinekDRV_KMODS	+= signalfd
2432063d9c0SJosef 'Jeff' Sipek
2442063d9c0SJosef 'Jeff' Sipek#
2452063d9c0SJosef 'Jeff' Sipek#       Hardware Drivers in common space
2462063d9c0SJosef 'Jeff' Sipek#
2472063d9c0SJosef 'Jeff' Sipek
2482063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= afe
2492063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= audio1575
2502063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= audioens
2512063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= audiols
2522063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= audiop16x
2532063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= audiopci
2542063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= audiots
255d14abf15SRobert MustacchiDRV_KMODS	+= bnxe
2562063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= e1000g
2572063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= efe
2582063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= hxge
2592063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= mxfe
2602063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= rge
2612063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= rtls
2622063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= sfe
2632063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= aac
2642063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= igb
2652063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ixgbe
2662063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= vr
2672063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= mr_sas
2682063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= yge
2692063d9c0SJosef 'Jeff' Sipek
2702063d9c0SJosef 'Jeff' Sipek#
2712063d9c0SJosef 'Jeff' Sipek#	Machine Specific Driver Modules (/kernel/drv):
2722063d9c0SJosef 'Jeff' Sipek#
2732063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= audiocs
2742063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= bge dmfe eri fas hme qfe
2752063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= openeepr options sd ses st
2762063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ssd
2772063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ecpp
2782063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= hid hubd ehci ohci uhci usb_mid usb_ia scsa2usb usbprn ugen
2792063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= usbser usbsacm usbsksp usbsprl
2802063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= usb_as usb_ac
2812063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= usbskel
2822063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= usbvc
2832063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= usbftdi
2842063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= usbecm
2852063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= hci1394 av1394 scsa1394 dcam1394
2862063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= sbp2
2872063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ib ibp eibnx eoib rdsib sdp iser daplt hermon tavor sol_ucma sol_uverbs
2882063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= sol_umad
2892063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= pci_pci pcieb pcieb_bcm
2902063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= i8042 kb8042 mouse8042
2912063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fcode
2922063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= mpt_sas
2932063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= socal
2942063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= sgen
2952063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= myri10ge
2962063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= smp
2972063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= dad
2982063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= scsi_vhci
2992063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fcp
3002063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fcip
3012063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fcsm
3022063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fp
3032063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= qlc
3042063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= qlge
3052063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= stmf
3062063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= stmf_sbd
3072063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fct
3082063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fcoe
3092063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fcoet
3102063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= fcoei
3112063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= qlt
3122063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= iscsit
3132063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= pppt
3142063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ncall nsctl sdbc nskern sv
3152063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= ii rdc rdcsrv rdcstub
3162063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= iscsi
3172063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= emlxs
3182063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= oce
3192063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= srpt
3202063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= pmcs
3212063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= pmcs8001fw
3222063d9c0SJosef 'Jeff' Sipek
3232063d9c0SJosef 'Jeff' Sipek#
3242063d9c0SJosef 'Jeff' Sipek#	I/O framework test drivers
3252063d9c0SJosef 'Jeff' Sipek#
3262063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= pshot
3272063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= gen_drv
3282063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= tvhci tphci tclient
3292063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= emul64
3302063d9c0SJosef 'Jeff' Sipek
3312063d9c0SJosef 'Jeff' Sipek#
3322063d9c0SJosef 'Jeff' Sipek# PCMCIA specific module(s)
3332063d9c0SJosef 'Jeff' Sipek#
3342063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= pcs
3352063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= busra cardbus dada pcmcia
3362063d9c0SJosef 'Jeff' SipekDRV_KMODS	+= pcic
3372063d9c0SJosef 'Jeff' Sipek
3382063d9c0SJosef 'Jeff' Sipek# Add lvm
3392063d9c0SJosef 'Jeff' Sipek#
3402063d9c0SJosef 'Jeff' SipekDRV_KMODS       += md
3412063d9c0SJosef 'Jeff' SipekMISC_KMODS      += md_mirror md_stripe md_hotspares md_raid md_trans md_notify
3422063d9c0SJosef 'Jeff' SipekMISC_KMODS      += md_sp
3432063d9c0SJosef 'Jeff' Sipek
3442063d9c0SJosef 'Jeff' Sipek#
3452063d9c0SJosef 'Jeff' Sipek#	Exec Class Modules (/kernel/exec):
3462063d9c0SJosef 'Jeff' Sipek#
3472063d9c0SJosef 'Jeff' SipekEXEC_KMODS	+= aoutexec elfexec intpexec shbinexec javaexec
3482063d9c0SJosef 'Jeff' Sipek
3492063d9c0SJosef 'Jeff' Sipek#
3502063d9c0SJosef 'Jeff' Sipek#	Scheduling Class Modules (/kernel/sched):
3512063d9c0SJosef 'Jeff' Sipek#
3522063d9c0SJosef 'Jeff' SipekSCHED_KMODS	+= RT TS RT_DPTBL TS_DPTBL IA FSS FX FX_DPTBL SDC
3532063d9c0SJosef 'Jeff' Sipek
3542063d9c0SJosef 'Jeff' Sipek#
3552063d9c0SJosef 'Jeff' Sipek#	File System Modules (/kernel/fs):
3562063d9c0SJosef 'Jeff' Sipek#
3572063d9c0SJosef 'Jeff' SipekFS_KMODS	+= dev devfs fdfs fifofs hsfs lofs namefs nfs pcfs tmpfs zfs
358bd93c05dSAlexander EreminFS_KMODS	+= zut specfs udfs ufs autofs procfs sockfs mntfs
35976ca3cb0SRobert MustacchiFS_KMODS	+= ctfs objfs sharefs dcfs smbfs bootfs
3602063d9c0SJosef 'Jeff' Sipek
3612063d9c0SJosef 'Jeff' Sipek#
3622063d9c0SJosef 'Jeff' Sipek#	Streams Modules (/kernel/strmod):
3632063d9c0SJosef 'Jeff' Sipek#
3642063d9c0SJosef 'Jeff' SipekSTRMOD_KMODS	+= bufmod connld dedump ldterm ms pckt pfmod
3652063d9c0SJosef 'Jeff' SipekSTRMOD_KMODS	+= pipemod ptem redirmod rpcmod rlmod telmod timod
3662063d9c0SJosef 'Jeff' SipekSTRMOD_KMODS	+= spppasyn spppcomp
3672063d9c0SJosef 'Jeff' SipekSTRMOD_KMODS	+= tirdwr ttcompat
3682063d9c0SJosef 'Jeff' SipekSTRMOD_KMODS	+= usbkbm usbms usbwcm usb_ah
3692063d9c0SJosef 'Jeff' SipekSTRMOD_KMODS	+= drcompat
3702063d9c0SJosef 'Jeff' SipekSTRMOD_KMODS	+= cryptmod
3712063d9c0SJosef 'Jeff' SipekSTRMOD_KMODS	+= vuid3ps2
3722063d9c0SJosef 'Jeff' Sipek
3732063d9c0SJosef 'Jeff' Sipek#
3742063d9c0SJosef 'Jeff' Sipek#	'System' Modules (/kernel/sys):
3752063d9c0SJosef 'Jeff' Sipek#
3762063d9c0SJosef 'Jeff' SipekSYS_KMODS	+= c2audit
3772063d9c0SJosef 'Jeff' SipekSYS_KMODS	+= exacctsys
3782063d9c0SJosef 'Jeff' SipekSYS_KMODS	+= inst_sync kaio msgsys semsys shmsys sysacct pipe
3792063d9c0SJosef 'Jeff' SipekSYS_KMODS	+= doorfs pset acctctl portfs
3802063d9c0SJosef 'Jeff' Sipek
3812063d9c0SJosef 'Jeff' Sipek#
3822063d9c0SJosef 'Jeff' Sipek#	'User' Modules (/kernel/misc):
3832063d9c0SJosef 'Jeff' Sipek#
3842063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= ac97
3852063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= bignum
3862063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= consconfig gld ipc nfs_dlboot nfssrv scsi
3872063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= strplumb swapgeneric tlimod
3882063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= rpcsec rpcsec_gss kgssapi kmech_dummy
3892063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= kmech_krb5
3902063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= fssnap_if
3912063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= hidparser kbtrans usba usba10 usbs49_fw
3922063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= s1394
3932063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= hpcsvc pcihp
3942063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= rsmops
3952063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= kcf
3962063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= ksocket
3972063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= ibcm
3982063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= ibdm
3992063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= ibdma
4002063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= ibmf
4012063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= ibtl
4022063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= sol_ofs
4032063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= idm
4042063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= idmap
4052063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= hook
4062063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= neti
4072063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= ctf
4082063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= mac dls
4092063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= cmlb
4102063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= tem
4112063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= pcicfg fcodem fcpci
4122063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= scsi_vhci_f_sym scsi_vhci_f_tpgs scsi_vhci_f_asym_sun
4132063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= scsi_vhci_f_sym_hds
4142063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= scsi_vhci_f_tape scsi_vhci_f_tpgs_tape
4152063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= fctl
4162063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= emlxs_fw
4172063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= qlc_fw_2200
4182063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= qlc_fw_2300
4192063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= qlc_fw_2400
4202063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= qlc_fw_2500
4212063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= qlc_fw_6322
4222063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= qlc_fw_8100
4232063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= spuni
4242063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= mii
4252063d9c0SJosef 'Jeff' Sipek
4262063d9c0SJosef 'Jeff' SipekMISC_KMODS	+= klmmod klmops
4272063d9c0SJosef 'Jeff' Sipek
4282063d9c0SJosef 'Jeff' Sipek#
4292063d9c0SJosef 'Jeff' Sipek#	Software Cryptographic Providers (/kernel/crypto):
4302063d9c0SJosef 'Jeff' Sipek#
4312063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= aes
4322063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= arcfour
4332063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= blowfish
4342063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= des
43545818ee1SMatthew AhrensCRYPTO_KMODS	+= ecc
43645818ee1SMatthew AhrensCRYPTO_KMODS	+= edonr
4372063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= md4
4382063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= md5
4392063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= rsa
4402063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= sha1
4412063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= sha2
44245818ee1SMatthew AhrensCRYPTO_KMODS	+= skein
4432063d9c0SJosef 'Jeff' SipekCRYPTO_KMODS	+= swrand
4442063d9c0SJosef 'Jeff' Sipek
4452063d9c0SJosef 'Jeff' Sipek#
4462063d9c0SJosef 'Jeff' Sipek# IP Policy Modules (/kernel/ipp):
4472063d9c0SJosef 'Jeff' Sipek#
4482063d9c0SJosef 'Jeff' SipekIPP_KMODS	+= dlcosmk
4492063d9c0SJosef 'Jeff' SipekIPP_KMODS	+= flowacct
4502063d9c0SJosef 'Jeff' SipekIPP_KMODS	+= ipgpc
4512063d9c0SJosef 'Jeff' SipekIPP_KMODS	+= dscpmk
4522063d9c0SJosef 'Jeff' SipekIPP_KMODS	+= tokenmt
4532063d9c0SJosef 'Jeff' SipekIPP_KMODS	+= tswtclmt
4542063d9c0SJosef 'Jeff' Sipek
4552063d9c0SJosef 'Jeff' Sipek#
4562063d9c0SJosef 'Jeff' Sipek# 'Dacf' modules (/kernel/dacf)
4572063d9c0SJosef 'Jeff' SipekDACF_KMODS	+= consconfig_dacf
4582063d9c0SJosef 'Jeff' Sipek
4592063d9c0SJosef 'Jeff' Sipek#
4602063d9c0SJosef 'Jeff' Sipek#	SVVS Testing Modules (/kernel/strmod):
4612063d9c0SJosef 'Jeff' Sipek#
4622063d9c0SJosef 'Jeff' Sipek#	These are streams and driver modules which are not to be
4632063d9c0SJosef 'Jeff' Sipek#	delivered with a released system. However, during development
4642063d9c0SJosef 'Jeff' Sipek#	it is convenient to build and install the SVVS kernel modules.
4652063d9c0SJosef 'Jeff' Sipek#
4662063d9c0SJosef 'Jeff' SipekSVVS_KMODS	+= lmodb lmode lmodr lmodt svvslo tidg tivc tmux
4672063d9c0SJosef 'Jeff' Sipek
4682063d9c0SJosef 'Jeff' Sipek#
4692063d9c0SJosef 'Jeff' Sipek#	Modules eXcluded from the product:
4702063d9c0SJosef 'Jeff' Sipek#
4712063d9c0SJosef 'Jeff' SipekXMODS		+=
4722063d9c0SJosef 'Jeff' Sipek
4732063d9c0SJosef 'Jeff' Sipek#
4742063d9c0SJosef 'Jeff' Sipek#	'Dacf' Modules (/kernel/dacf):
4752063d9c0SJosef 'Jeff' Sipek#
4762063d9c0SJosef 'Jeff' SipekDACF_KMODS	+= net_dacf
4772063d9c0SJosef 'Jeff' Sipek
4782063d9c0SJosef 'Jeff' Sipek#
4792063d9c0SJosef 'Jeff' Sipek#	MAC-Type Plugin Modules (/kernel/mac)
4802063d9c0SJosef 'Jeff' Sipek#
4812063d9c0SJosef 'Jeff' SipekMAC_KMODS	+= mac_6to4
4822063d9c0SJosef 'Jeff' SipekMAC_KMODS	+= mac_ether
4832063d9c0SJosef 'Jeff' SipekMAC_KMODS	+= mac_ipv4
4842063d9c0SJosef 'Jeff' SipekMAC_KMODS	+= mac_ipv6
4852063d9c0SJosef 'Jeff' SipekMAC_KMODS	+= mac_wifi
4862063d9c0SJosef 'Jeff' SipekMAC_KMODS	+= mac_ib
4872063d9c0SJosef 'Jeff' Sipek
4882063d9c0SJosef 'Jeff' Sipek#
4892063d9c0SJosef 'Jeff' Sipek# socketmod (kernel/socketmod)
4902063d9c0SJosef 'Jeff' Sipek#
4912063d9c0SJosef 'Jeff' SipekSOCKET_KMODS	+= sockpfp
4922063d9c0SJosef 'Jeff' SipekSOCKET_KMODS	+= socksctp
4932063d9c0SJosef 'Jeff' SipekSOCKET_KMODS	+= socksdp
4942063d9c0SJosef 'Jeff' SipekSOCKET_KMODS	+= sockrds
4952063d9c0SJosef 'Jeff' SipekSOCKET_KMODS	+= ksslf
4962063d9c0SJosef 'Jeff' Sipek
4972063d9c0SJosef 'Jeff' Sipek#
4982063d9c0SJosef 'Jeff' Sipek#	kiconv modules (/kernel/kiconv):
4992063d9c0SJosef 'Jeff' Sipek#
5002063d9c0SJosef 'Jeff' SipekKICONV_KMODS	+= kiconv_emea kiconv_ja kiconv_ko kiconv_sc kiconv_tc
5018793b36bSNick Todd
5028793b36bSNick Todd#
5038793b36bSNick Todd# Ensure that the variable member of the cpu_t (cpu_m) is defined
5048793b36bSNick Todd# for the lint builds so as not to cause lint errors during the
5058793b36bSNick Todd# global cross check.
5068793b36bSNick Todd#
5070465c920SSteven Stallion$(LINTFLAGSUPPRESS)LINTFLAGS	+= -D_MACHDEP -I$(UTSBASE)/sun4 \
5080465c920SSteven Stallion				   -I$(UTSBASE)/sun4u -I$(UTSBASE)/sfmmu
509