1 # CDDL HEADER START
   2 #
   3 # The contents of this file are subject to the terms of the
   4 # Common Development and Distribution License (the "License").
   5 # You may not use this file except in compliance with the License.
   6 #
   7 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   8 # or http://www.opensolaris.org/os/licensing.
   9 # See the License for the specific language governing permissions
  10 # and limitations under the License.
  11 #
  12 # When distributing Covered Code, include this CDDL HEADER in each
  13 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  14 # If applicable, add the following below this CDDL HEADER, with the
  15 # fields enclosed by brackets "[]" replaced with your own identifying
  16 # information: Portions Copyright [yyyy] [name of copyright owner]
  17 #
  18 # CDDL HEADER END
  19 #
  20 
  21 #
  22 # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  23 # Copyright (c) 2013 Andrew Stormont.  All rights reserved.
  24 # Copyright (c) 2014 by Delphix. All rights reserved.
  25 # Copyright 2019 Joyent, Inc.
  26 # Copyright 2016 Garrett D'Amore <garrett@damore.org>
  27 # Copyright 2018 Nexenta Systems, Inc.
  28 # Copyright (c) 2014, 2017 by Delphix. All rights reserved.
  29 # Copyright 2019 RackTop Systems
  30 # Copyright 2019 Peter Tribble.
  31 #
  32 
  33 #
  34 #       This makefile contains the common definitions for all intel
  35 #       implementation architecture independent modules.
  36 #
  37 
  38 #
  39 #       Machine type (implementation architecture):
  40 #
  41 PLATFORM         = i86pc
  42 
  43 #
  44 #       Everybody needs to know how to build modstubs.o and to locate unix.o.
  45 #       Note that unix.o must currently be selected from among the possible
  46 #       "implementation architectures". Note further, that unix.o is only
  47 #       used as an optional error check for undefines so (theoretically)
  48 #       any "implementation architectures" could be used. We choose i86pc
  49 #       because it is the reference port.
  50 #
  51 UNIX_DIR         = $(UTSBASE)/i86pc/unix
  52 GENLIB_DIR       = $(UTSBASE)/intel/genunix
  53 GENASSYM_DIR     = $(UTSBASE)/intel/genassym
  54 IPDRV_DIR        = $(UTSBASE)/intel/ip
  55 MODSTUBS_DIR     = $(UNIX_DIR)
  56 DSF_DIR          = $(UTSBASE)/$(PLATFORM)/genassym
  57 
  58 UNIX_O           = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
  59 GENLIB           = $(GENLIB_DIR)/$(OBJS_DIR)/libgenunix.so
  60 MODSTUBS_O       = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o
  61 
  62 #
  63 #       Include the makefiles which define build rule templates, the
  64 #       collection of files per module, and a few specific flags. Note
  65 #       that order is significant, just as with an include path. The
  66 #       first build rule template which matches the files name will be
  67 #       used. By including these in order from most machine dependent
  68 #       to most machine independent, we allow a machine dependent file
  69 #       to be used in preference over a machine independent version
  70 #       (Such as a machine specific optimization, which preserves the
  71 #       interfaces.)
  72 #
  73 include $(UTSBASE)/intel/Makefile.files
  74 include $(UTSBASE)/common/Makefile.files
  75 
  76 #
  77 # ----- TRANSITIONAL SECTION --------------------------------------------------
  78 #
  79 
  80 #
  81 #       Not everything which *should* be a module is a module yet. The
  82 #       following is a list of such objects which are currently part of
  83 #       genunix but which might someday become kmods.  This must be
  84 #       defined before we include Makefile.uts, or else genunix's build
  85 #       won't be as parallel as we might like.
  86 #
  87 NOT_YET_KMODS    = $(OLDPTY_OBJS) $(PTY_OBJS) $(VCONS_CONF_OBJS) $(MOD_OBJS)
  88 
  89 #
  90 # ----- END OF TRANSITIONAL SECTION -------------------------------------------
  91 #
  92 #       Include machine independent rules. Note that this does not imply
  93 #       that the resulting module from rules in Makefile.uts is machine
  94 #       independent. Only that the build rules are machine independent.
  95 #
  96 include $(UTSBASE)/Makefile.uts
  97 
  98 #
  99 #       The following must be defined for all implementations:
 100 #
 101 MODSTUBS                = $(UTSBASE)/intel/ia32/ml/modstubs.s
 102 
 103 #
 104 #       Define supported builds
 105 #
 106 DEF_BUILDS              = $(DEF_BUILDS64)
 107 ALL_BUILDS              = $(ALL_BUILDS64)
 108 
 109 #
 110 #       x86 or amd64 inline templates
 111 #
 112 INLINES_32              = $(UTSBASE)/intel/ia32/ml/ia32.il
 113 INLINES_64              = $(UTSBASE)/intel/amd64/ml/amd64.il
 114 INLINES                 += $(INLINES_$(CLASS))
 115 
 116 #
 117 #       kernel-specific optimizations; override default in Makefile.master
 118 #
 119 
 120 CFLAGS_XARCH_32         = $(i386_CFLAGS)
 121 CFLAGS_XARCH_64         = $(amd64_CFLAGS)
 122 CFLAGS_XARCH            = $(CFLAGS_XARCH_$(CLASS))
 123 
 124 COPTFLAG_32             = $(COPTFLAG)
 125 COPTFLAG_64             = $(COPTFLAG64)
 126 COPTIMIZE               = $(COPTFLAG_$(CLASS))
 127 
 128 CFLAGS                  = $(CFLAGS_XARCH)
 129 CFLAGS                  += $(COPTIMIZE)
 130 CFLAGS                  += $(INLINES) -D_ASM_INLINES
 131 CFLAGS                  += $(CCMODE)
 132 CFLAGS                  += $(SPACEFLAG)
 133 CFLAGS                  += $(CCUNBOUND)
 134 CFLAGS                  += $(CFLAGS_uts)
 135 CFLAGS                  += -xstrconst
 136 
 137 #
 138 # Options to control which version of stack-protector we enable. This
 139 # gives us a bit of flexibility and is unfortunately necessary as some
 140 # modules do not function correctly with our defaults (qede).
 141 #
 142 #  o STACKPROTECT_              Sets the appropriate version for the compiler
 143 #  o STACKPROTECT_strong        Sets us to use strong on all of the
 144 #                               compilers it supports. This is the same
 145 #                               as the default.
 146 #
 147 #  o STACKPROTECT_none          Disables the stack protector.
 148 #
 149 #  o STACKPROTECT_all           Enables it for everything.
 150 #
 151 #  o STACKPROTECT_basic         Enables the basic stack protector.
 152 #
 153 # -fstack-protector-strong is not available in our gcc4 which is why we
 154 # have per-compiler versions below.
 155 #
 156 STACKPROTECT_           = -_gcc4=-fstack-protector
 157 STACKPROTECT_           += -_gcc7=-fstack-protector-strong
 158 STACKPROTECT_           += -_gcc8=-fstack-protector-strong
 159 STACKPROTECT_           += -_gcc9=-fstack-protector-strong
 160 
 161 STACKPROTECT_strong     = $(STACKPROTECT_)
 162 STACKPROTECT_none       = -_gcc=-fstack-protector-none
 163 STACKPROTECT_all        = -_gcc=-fstack-protector-all
 164 STACKPROTECT_basic      = -_gcc=-fstack-protector
 165 
 166 CFLAGS                  += $(STACKPROTECT_$(STACKPROTECT))
 167 
 168 ASFLAGS_XARCH_32        = $(i386_ASFLAGS)
 169 ASFLAGS_XARCH_64        = $(amd64_ASFLAGS)
 170 ASFLAGS_XARCH           = $(ASFLAGS_XARCH_$(CLASS))
 171 
 172 ASFLAGS                 += $(ASFLAGS_XARCH)
 173 AS_INC_PATH             += -I$(GENASSYM_DIR)/$(OBJS_DIR)
 174 
 175 #
 176 #       Define the base directory for installation.
 177 #
 178 BASE_INS_DIR    = $(ROOT)
 179 
 180 #
 181 #       Debugging level
 182 #
 183 #       Special knowledge of which special debugging options affect which
 184 #       file is used to optimize the build if these flags are changed.
 185 #
 186 DEBUG_DEFS_OBJ32        =
 187 DEBUG_DEFS_DBG32        = -DDEBUG
 188 DEBUG_DEFS_OBJ64        =
 189 DEBUG_DEFS_DBG64        = -DDEBUG
 190 DEBUG_DEFS              = $(DEBUG_DEFS_$(BUILD_TYPE))
 191 
 192 DEBUG_COND_OBJ32        = $(POUND_SIGN)
 193 DEBUG_COND_DBG32        =
 194 DEBUG_COND_OBJ64        = $(POUND_SIGN)
 195 DEBUG_COND_DBG64        =
 196 IF_DEBUG_OBJ            = $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/
 197 
 198 $(IF_DEBUG_OBJ)syscall.o        :=      DEBUG_DEFS      += -DSYSCALLTRACE
 199 $(IF_DEBUG_OBJ)clock.o          :=      DEBUG_DEFS      += -DKSLICE=1
 200 
 201 #
 202 #       Collect the preprocessor definitions to be associated with *all*
 203 #       files.
 204 #
 205 ALL_DEFS         = $(DEBUG_DEFS) $(OPTION_DEFS)
 206 
 207 #
 208 #       TCP congestion control modules (/kernel/cc)
 209 #
 210 MISC_KMODS      += cc
 211 CC_KMODS        += cc_newreno cc_cubic cc_sunreno
 212 
 213 #
 214 #       The kernels modules which are "implementation architecture"
 215 #       specific for this machine are enumerated below. Note that most
 216 #       of these modules must exist (in one form or another) for each
 217 #       architecture.
 218 #
 219 #       Common Drivers (usually pseudo drivers) (/kernel/drv)
 220 #       DRV_KMODS are built both 32-bit and 64-bit
 221 #       DRV_KMODS_32 are built only 32-bit
 222 #       DRV_KMODS_64 are built only 64-bit
 223 #
 224 DRV_KMODS       += aac
 225 DRV_KMODS       += aggr
 226 DRV_KMODS       += ahci
 227 DRV_KMODS       += amr
 228 DRV_KMODS       += srn
 229 DRV_KMODS       += arn
 230 DRV_KMODS       += arp
 231 DRV_KMODS       += asy
 232 DRV_KMODS       += ata
 233 DRV_KMODS       += ath
 234 DRV_KMODS       += atu
 235 DRV_KMODS       += audio
 236 DRV_KMODS       += audio1575
 237 DRV_KMODS       += audio810
 238 DRV_KMODS       += audiocmi
 239 DRV_KMODS       += audiocmihd
 240 DRV_KMODS       += audioemu10k
 241 DRV_KMODS       += audioens
 242 DRV_KMODS       += audiohd
 243 DRV_KMODS       += audioixp
 244 DRV_KMODS       += audiols
 245 DRV_KMODS       += audiop16x
 246 DRV_KMODS       += audiopci
 247 DRV_KMODS       += audiosolo
 248 DRV_KMODS       += audiots
 249 DRV_KMODS       += audiovia823x
 250 DRV_KMODS       += bl
 251 DRV_KMODS       += blkdev
 252 DRV_KMODS       += bge
 253 DRV_KMODS       += bofi
 254 DRV_KMODS       += bpf
 255 DRV_KMODS       += bridge
 256 DRV_KMODS       += chxge
 257 DRV_KMODS       += cxgbe
 258 DRV_KMODS       += ntxn
 259 DRV_KMODS       += myri10ge
 260 DRV_KMODS       += clone
 261 DRV_KMODS       += cmdk
 262 DRV_KMODS       += cn
 263 DRV_KMODS       += conskbd
 264 DRV_KMODS       += consms
 265 DRV_KMODS       += cpqary3
 266 DRV_KMODS       += cpuid
 267 DRV_KMODS       += cpunex
 268 DRV_KMODS       += crypto
 269 DRV_KMODS       += cryptoadm
 270 DRV_KMODS       += dca
 271 DRV_KMODS       += devinfo
 272 DRV_KMODS       += dld
 273 DRV_KMODS       += dlpistub
 274 DRV_KMODS       += dnet
 275 DRV_KMODS       += dump
 276 DRV_KMODS       += ecpp
 277 DRV_KMODS       += emlxs
 278 DRV_KMODS       += eventfd
 279 DRV_KMODS       += fd
 280 DRV_KMODS       += fdc
 281 DRV_KMODS       += fm
 282 DRV_KMODS       += fssnap
 283 DRV_KMODS       += hxge
 284 DRV_KMODS       += i8042
 285 DRV_KMODS       += icmp
 286 DRV_KMODS       += icmp6
 287 DRV_KMODS       += inotify
 288 DRV_KMODS       += intel_nb5000
 289 DRV_KMODS       += intel_nhm
 290 DRV_KMODS       += ip
 291 DRV_KMODS       += ip6
 292 DRV_KMODS       += ipd
 293 DRV_KMODS       += ipf
 294 DRV_KMODS       += ipnet
 295 DRV_KMODS       += ippctl
 296 DRV_KMODS       += ipsecah
 297 DRV_KMODS       += ipsecesp
 298 DRV_KMODS       += ipw
 299 DRV_KMODS       += iwh
 300 DRV_KMODS       += iwi
 301 DRV_KMODS       += iwn
 302 DRV_KMODS       += iwk
 303 DRV_KMODS       += iwp
 304 DRV_KMODS       += iwscn
 305 DRV_KMODS       += kb8042
 306 DRV_KMODS       += keysock
 307 DRV_KMODS       += kssl
 308 DRV_KMODS       += kstat
 309 DRV_KMODS       += ksyms
 310 DRV_KMODS       += kmdb
 311 DRV_KMODS       += llc1
 312 DRV_KMODS       += lofi
 313 DRV_KMODS       += log
 314 DRV_KMODS       += logindmux
 315 DRV_KMODS       += mega_sas
 316 DRV_KMODS       += mc-amd
 317 DRV_KMODS       += mlxcx
 318 DRV_KMODS       += mm
 319 DRV_KMODS       += mouse8042
 320 DRV_KMODS       += mpt_sas
 321 DRV_KMODS       += mr_sas
 322 DRV_KMODS       += mwl
 323 DRV_KMODS       += nca
 324 DRV_KMODS       += nsmb
 325 DRV_KMODS       += nulldriver
 326 DRV_KMODS       += nv_sata
 327 DRV_KMODS       += nvme
 328 DRV_KMODS       += nxge
 329 DRV_KMODS       += oce
 330 DRV_KMODS       += openeepr
 331 DRV_KMODS       += pci_pci
 332 DRV_KMODS       += pcic
 333 DRV_KMODS       += pcieb
 334 DRV_KMODS       += physmem
 335 DRV_KMODS       += pit_beep
 336 DRV_KMODS       += pm
 337 DRV_KMODS       += poll
 338 DRV_KMODS       += pool
 339 DRV_KMODS       += power
 340 DRV_KMODS       += pseudo
 341 DRV_KMODS       += ptc
 342 DRV_KMODS       += ptm
 343 DRV_KMODS       += pts
 344 DRV_KMODS       += ptsl
 345 DRV_KMODS       += qlge
 346 DRV_KMODS       += ral
 347 DRV_KMODS       += ramdisk
 348 DRV_KMODS       += random
 349 DRV_KMODS       += rds
 350 DRV_KMODS       += rdsv3
 351 DRV_KMODS       += rpcib
 352 DRV_KMODS       += rsm
 353 DRV_KMODS       += rts
 354 DRV_KMODS       += rtw
 355 DRV_KMODS       += rum
 356 DRV_KMODS       += rwd
 357 DRV_KMODS       += rwn
 358 DRV_KMODS       += sad
 359 DRV_KMODS       += sd
 360 DRV_KMODS       += sdhost
 361 DRV_KMODS       += sgen
 362 DRV_KMODS       += si3124
 363 DRV_KMODS       += signalfd
 364 DRV_KMODS       += smbios
 365 DRV_KMODS       += skd
 366 DRV_KMODS       += softmac
 367 DRV_KMODS       += spdsock
 368 DRV_KMODS       += smbsrv
 369 DRV_KMODS       += smp
 370 DRV_KMODS       += sppp
 371 DRV_KMODS       += sppptun
 372 DRV_KMODS       += srpt
 373 DRV_KMODS       += st
 374 DRV_KMODS       += sy
 375 DRV_KMODS       += sysevent
 376 DRV_KMODS       += sysmsg
 377 DRV_KMODS       += tcp
 378 DRV_KMODS       += tcp6
 379 DRV_KMODS       += timerfd
 380 DRV_KMODS       += tl
 381 DRV_KMODS       += tnf
 382 DRV_KMODS       += tpm
 383 DRV_KMODS       += trill
 384 DRV_KMODS       += udp
 385 DRV_KMODS       += udp6
 386 DRV_KMODS       += ucode
 387 DRV_KMODS       += ufm
 388 DRV_KMODS       += ufmtest
 389 DRV_KMODS       += ural
 390 DRV_KMODS       += uath
 391 DRV_KMODS       += urtw
 392 DRV_KMODS       += vgatext
 393 DRV_KMODS       += vnic
 394 DRV_KMODS       += vscan
 395 DRV_KMODS       += wc
 396 DRV_KMODS       += winlock
 397 DRV_KMODS       += wpi
 398 DRV_KMODS       += xge
 399 DRV_KMODS       += yge
 400 DRV_KMODS       += zcons
 401 DRV_KMODS       += zfd
 402 DRV_KMODS       += zyd
 403 DRV_KMODS       += simnet
 404 DRV_KMODS       += stmf
 405 DRV_KMODS       += stmf_sbd
 406 DRV_KMODS       += fct
 407 DRV_KMODS       += fcoe
 408 DRV_KMODS       += fcoet
 409 DRV_KMODS       += fcoei
 410 DRV_KMODS       += qlt
 411 DRV_KMODS       += iscsit
 412 DRV_KMODS       += pppt
 413 DRV_KMODS       += iptun
 414 DRV_KMODS       += vmxnet3s
 415 DRV_KMODS       += pvscsi
 416 
 417 #
 418 # HYPER-V driver
 419 #
 420 DRV_KMODS       += hv_vmbus
 421 DRV_KMODS       += hv_heartbeat
 422 DRV_KMODS       += hv_timesync
 423 DRV_KMODS       += hv_shutdown
 424 DRV_KMODS       += hv_kvp
 425 DRV_KMODS       += hv_storvsc
 426 DRV_KMODS       += hv_netvsc
 427 MISC_KMODS      += hyperv
 428 
 429 #
 430 # Common code drivers
 431 #
 432 
 433 DRV_KMODS       += afe
 434 DRV_KMODS       += atge
 435 DRV_KMODS       += bfe
 436 DRV_KMODS       += bnx
 437 DRV_KMODS       += bnxe
 438 DRV_KMODS       += dmfe
 439 DRV_KMODS       += e1000g
 440 DRV_KMODS       += efe
 441 DRV_KMODS       += elxl
 442 DRV_KMODS       += hme
 443 DRV_KMODS       += mxfe
 444 DRV_KMODS       += nge
 445 DRV_KMODS       += pcn
 446 DRV_KMODS       += qede
 447 DRV_KMODS       += rge
 448 DRV_KMODS       += rtls
 449 DRV_KMODS       += sfe
 450 DRV_KMODS       += sfxge
 451 DRV_KMODS       += amd8111s
 452 DRV_KMODS       += igb
 453 DRV_KMODS       += ipmi
 454 DRV_KMODS       += iprb
 455 DRV_KMODS       += ixgbe
 456 DRV_KMODS       += i40e
 457 DRV_KMODS       += vr
 458 
 459 #
 460 # Virtio drivers
 461 #
 462 
 463 # Virtio core
 464 DRV_KMODS       += virtio
 465 
 466 # Virtio block driver
 467 DRV_KMODS       += vioblk
 468 
 469 # Virtio network driver
 470 DRV_KMODS       += vioif
 471 
 472 #
 473 #       DTrace and DTrace Providers
 474 #
 475 DRV_KMODS       += dtrace
 476 DRV_KMODS       += fbt
 477 DRV_KMODS       += lockstat
 478 DRV_KMODS       += profile
 479 DRV_KMODS       += sdt
 480 DRV_KMODS       += systrace
 481 DRV_KMODS       += fasttrap
 482 DRV_KMODS       += dcpc
 483 
 484 #
 485 #       I/O framework test drivers
 486 #
 487 DRV_KMODS       += pshot
 488 DRV_KMODS       += gen_drv
 489 DRV_KMODS       += tvhci tphci tclient
 490 DRV_KMODS       += emul64
 491 
 492 #
 493 #       Machine Specific Driver Modules (/kernel/drv):
 494 #
 495 DRV_KMODS       += options
 496 DRV_KMODS       += scsi_vhci
 497 DRV_KMODS       += pmcs
 498 DRV_KMODS       += pmcs8001fw
 499 DRV_KMODS       += arcmsr
 500 DRV_KMODS       += fcp
 501 DRV_KMODS       += fcip
 502 DRV_KMODS       += fcsm
 503 DRV_KMODS       += fp
 504 DRV_KMODS       += qlc
 505 DRV_KMODS       += iscsi
 506 
 507 #
 508 #       PCMCIA specific module(s)
 509 #
 510 DRV_KMODS       += pcs
 511 MISC_KMODS      += cardbus
 512 
 513 #
 514 #       SCSI Enclosure Services driver
 515 #
 516 DRV_KMODS       += ses
 517 
 518 #
 519 #       USB specific modules
 520 #
 521 DRV_KMODS       += hid
 522 DRV_KMODS       += hubd
 523 DRV_KMODS       += uhci
 524 DRV_KMODS       += ehci
 525 DRV_KMODS       += ohci
 526 DRV_KMODS       += usb_mid
 527 DRV_KMODS       += usb_ia
 528 DRV_KMODS       += scsa2usb
 529 DRV_KMODS       += usbprn
 530 DRV_KMODS       += ugen
 531 DRV_KMODS       += usbser
 532 DRV_KMODS       += usbsacm
 533 DRV_KMODS       += usbsksp
 534 DRV_KMODS       += usbsprl
 535 DRV_KMODS       += usb_ac
 536 DRV_KMODS       += usb_as
 537 DRV_KMODS       += usbskel
 538 DRV_KMODS       += usbvc
 539 DRV_KMODS       += usbftdi
 540 DRV_KMODS       += usbecm
 541 DRV_KMODS       += xhci
 542 
 543 #
 544 #       USBGEM modules
 545 #
 546 DRV_KMODS       += usbgem
 547 DRV_KMODS       += axf
 548 DRV_KMODS       += udmf
 549 DRV_KMODS       += upf
 550 DRV_KMODS       += urf
 551 
 552 #
 553 #       1394 modules
 554 #
 555 MISC_KMODS      += s1394 sbp2
 556 DRV_KMODS       += hci1394 scsa1394
 557 DRV_KMODS       += av1394
 558 DRV_KMODS       += dcam1394
 559 
 560 #
 561 #       InfiniBand pseudo drivers
 562 #
 563 DRV_KMODS       += ib ibp eibnx eoib rdsib sdp iser daplt hermon tavor sol_ucma sol_uverbs
 564 DRV_KMODS       += sol_umad
 565 
 566 #
 567 #       Brand modules
 568 #
 569 BRAND_KMODS     += sn1_brand s10_brand lx_brand
 570 DRV_KMODS       += lx_systrace lx_ptm lx_netlink
 571 
 572 #
 573 #       Exec Class Modules (/kernel/exec):
 574 #
 575 EXEC_KMODS      += elfexec intpexec shbinexec javaexec
 576 
 577 #
 578 #       Scheduling Class Modules (/kernel/sched):
 579 #
 580 SCHED_KMODS     += IA RT TS RT_DPTBL TS_DPTBL FSS FX FX_DPTBL SDC
 581 
 582 #
 583 #       File System Modules (/kernel/fs):
 584 #
 585 FS_KMODS        += autofs ctfs dcfs dev devfs fdfs fifofs hsfs lofs
 586 FS_KMODS        += lxautofs lx_proc mntfs namefs nfs objfs zfs zut
 587 FS_KMODS        += pcfs procfs sockfs specfs tmpfs udfs ufs sharefs lx_sysfs
 588 FS_KMODS        += smbfs bootfs lx_cgroup lx_devfs
 589 
 590 #
 591 #       Streams Modules (/kernel/strmod):
 592 #
 593 STRMOD_KMODS    += bufmod connld dedump ldterm pckt pfmod pipemod
 594 STRMOD_KMODS    += ptem redirmod rpcmod rlmod telmod timod
 595 STRMOD_KMODS    += spppasyn spppcomp
 596 STRMOD_KMODS    += tirdwr ttcompat
 597 STRMOD_KMODS    += usbkbm
 598 STRMOD_KMODS    += usbms
 599 STRMOD_KMODS    += usbwcm
 600 STRMOD_KMODS    += usb_ah
 601 STRMOD_KMODS    += drcompat
 602 STRMOD_KMODS    += cryptmod
 603 STRMOD_KMODS    += vuid2ps2
 604 STRMOD_KMODS    += vuid3ps2
 605 STRMOD_KMODS    += vuidm3p
 606 STRMOD_KMODS    += vuidm4p
 607 STRMOD_KMODS    += vuidm5p
 608 
 609 #
 610 #       'System' Modules (/kernel/sys):
 611 #
 612 SYS_KMODS       += c2audit
 613 SYS_KMODS       += doorfs
 614 SYS_KMODS       += exacctsys
 615 SYS_KMODS       += inst_sync
 616 SYS_KMODS       += kaio
 617 SYS_KMODS       += msgsys
 618 SYS_KMODS       += pipe
 619 SYS_KMODS       += portfs
 620 SYS_KMODS       += pset
 621 SYS_KMODS       += semsys
 622 SYS_KMODS       += shmsys
 623 SYS_KMODS       += sysacct
 624 SYS_KMODS       += acctctl
 625 
 626 #
 627 #       'Misc' Modules (/kernel/misc)
 628 #       MISC_KMODS are built both 32-bit and 64-bit
 629 #       MISC_KMODS_32 are built only 32-bit
 630 #       MISC_KMODS_64 are built only 64-bit
 631 #
 632 MISC_KMODS      += ac97
 633 MISC_KMODS      += acpica
 634 MISC_KMODS      += bignum
 635 MISC_KMODS      += bootdev
 636 MISC_KMODS      += busra
 637 MISC_KMODS      += cmlb
 638 MISC_KMODS      += consconfig
 639 MISC_KMODS      += ctf
 640 MISC_KMODS      += dadk
 641 MISC_KMODS      += dcopy
 642 MISC_KMODS      += dls
 643 MISC_KMODS      += fssnap_if
 644 MISC_KMODS      += gda
 645 MISC_KMODS      += gld
 646 MISC_KMODS      += hidparser
 647 MISC_KMODS      += hook
 648 MISC_KMODS      += hpcsvc
 649 MISC_KMODS      += ibcm
 650 MISC_KMODS      += ibdm
 651 MISC_KMODS      += ibdma
 652 MISC_KMODS      += ibmf
 653 MISC_KMODS      += ibtl
 654 MISC_KMODS      += idm
 655 MISC_KMODS      += idmap
 656 MISC_KMODS      += iommulib
 657 MISC_KMODS      += ipc
 658 MISC_KMODS      += kbtrans
 659 MISC_KMODS      += kcf
 660 MISC_KMODS      += kgssapi
 661 MISC_KMODS      += kmech_dummy
 662 MISC_KMODS      += kmech_krb5
 663 MISC_KMODS      += ksocket
 664 MISC_KMODS      += mac
 665 MISC_KMODS      += mii
 666 MISC_KMODS      += mwlfw
 667 MISC_KMODS      += net80211
 668 MISC_KMODS      += nfs_dlboot
 669 MISC_KMODS      += nfssrv
 670 MISC_KMODS      += neti
 671 MISC_KMODS      += pci_autoconfig
 672 MISC_KMODS      += pcicfg
 673 MISC_KMODS      += pcihp
 674 MISC_KMODS      += pcmcia
 675 MISC_KMODS      += rpcsec
 676 MISC_KMODS      += rpcsec_gss
 677 MISC_KMODS      += rsmops
 678 MISC_KMODS      += sata
 679 MISC_KMODS      += scsi
 680 MISC_KMODS      += sda
 681 MISC_KMODS      += sol_ofs
 682 MISC_KMODS      += strategy
 683 MISC_KMODS      += strplumb
 684 MISC_KMODS      += tem
 685 MISC_KMODS      += tlimod
 686 MISC_KMODS      += usba usba10 usbs49_fw
 687 MISC_KMODS      += scsi_vhci_f_sym_hds
 688 MISC_KMODS      += scsi_vhci_f_sym
 689 MISC_KMODS      += scsi_vhci_f_tpgs
 690 MISC_KMODS      += scsi_vhci_f_tape
 691 MISC_KMODS      += scsi_vhci_f_tpgs_tape
 692 MISC_KMODS      += fctl
 693 MISC_KMODS      += emlxs_fw
 694 MISC_KMODS      += qlc_fw_2200
 695 MISC_KMODS      += qlc_fw_2300
 696 MISC_KMODS      += qlc_fw_2400
 697 MISC_KMODS      += qlc_fw_2500
 698 MISC_KMODS      += qlc_fw_2700
 699 MISC_KMODS      += qlc_fw_6322
 700 MISC_KMODS      += qlc_fw_8100
 701 MISC_KMODS      += qlc_fw_8301fc
 702 MISC_KMODS      += uathfw
 703 
 704 MISC_KMODS      += klmmod klmops
 705 
 706 #
 707 #       Software Cryptographic Providers (/kernel/crypto):
 708 #
 709 CRYPTO_KMODS    += aes
 710 CRYPTO_KMODS    += arcfour
 711 CRYPTO_KMODS    += blowfish
 712 CRYPTO_KMODS    += des
 713 CRYPTO_KMODS    += ecc
 714 CRYPTO_KMODS    += edonr
 715 CRYPTO_KMODS    += md4
 716 CRYPTO_KMODS    += md5
 717 CRYPTO_KMODS    += rsa
 718 CRYPTO_KMODS    += sha1
 719 CRYPTO_KMODS    += sha2
 720 CRYPTO_KMODS    += skein
 721 CRYPTO_KMODS    += swrand
 722 
 723 #
 724 #       IP Policy Modules (/kernel/ipp)
 725 #
 726 IPP_KMODS       += dlcosmk
 727 IPP_KMODS       += flowacct
 728 IPP_KMODS       += ipgpc
 729 IPP_KMODS       += dscpmk
 730 IPP_KMODS       += tokenmt
 731 IPP_KMODS       += tswtclmt
 732 
 733 #
 734 #       generic-unix module (/kernel/genunix):
 735 #
 736 GENUNIX_KMODS   += genunix
 737 
 738 #
 739 #       Modules eXcluded from the product:
 740 #
 741 
 742 #
 743 #       'Dacf' Modules (/kernel/dacf):
 744 #
 745 
 746 #
 747 #       Performance Counter BackEnd modules (/usr/kernel/pcbe)
 748 #
 749 PCBE_KMODS      += p4_pcbe opteron_pcbe core_pcbe
 750 
 751 #
 752 #       MAC-Type Plugin Modules (/kernel/mac)
 753 #
 754 MAC_KMODS       += mac_6to4
 755 MAC_KMODS       += mac_ether
 756 MAC_KMODS       += mac_ipv4
 757 MAC_KMODS       += mac_ipv6
 758 MAC_KMODS       += mac_wifi
 759 MAC_KMODS       += mac_ib
 760 
 761 #
 762 #       Overlay related modules (/kernel/overlay)
 763 #
 764 DRV_KMODS       += overlay
 765 OVERLAY_KMODS   += vxlan
 766 
 767 #
 768 # socketmod (kernel/socketmod)
 769 #
 770 SOCKET_KMODS    += sockpfp
 771 SOCKET_KMODS    += socksctp
 772 SOCKET_KMODS    += socksdp
 773 SOCKET_KMODS    += sockrds
 774 SOCKET_KMODS    += ksslf
 775 SOCKET_KMODS    += httpfilt
 776 SOCKET_KMODS    += datafilt
 777 
 778 #
 779 #       kiconv modules (/kernel/kiconv):
 780 #
 781 KICONV_KMODS    += kiconv_emea kiconv_ja kiconv_ko kiconv_sc kiconv_tc
 782 
 783 #
 784 #       'Dacf' Modules (/kernel/dacf):
 785 #
 786 DACF_KMODS      += net_dacf
 787 
 788 #
 789 #       Sensor related drivers
 790 #
 791 DRV_KMODS       += amdf17nbdf
 792 DRV_KMODS       += coretemp
 793 DRV_KMODS       += pchtemp
 794 DRV_KMODS       += amdnbtemp