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