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