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