PSARC 2007/045 I2O EOL and EOF 4863632 Hey Hey! Ho Ho! I2O Has Got to Go!
1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 22 # 23 # Copyright 2007 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 # ident "@(#)Makefile.intel.shared 1.29 07/01/24 SMI" 27 # 28 29 # 30 # This makefile contains the common definitions for all intel 31 # implementation architecture independent modules. 32 # 33 34 # 35 # Machine type (implementation architecture): 36 # 37 PLATFORM = i86pc 38 39 # 40 # Everybody needs to know how to build modstubs.o and to locate unix.o. 41 # Note that unix.o must currently be selected from among the possible 42 # "implementation architectures". Note further, that unix.o is only 43 # used as an optional error check for undefines so (theoretically) 44 # any "implementation architectures" could be used. We choose i86pc 45 # because it is the reference port. 46 # 47 UNIX_DIR = $(UTSBASE)/i86pc/unix 48 GENLIB_DIR = $(UTSBASE)/intel/genunix 49 GENASSYM_DIR = $(UTSBASE)/intel/genassym 50 IPDRV_DIR = $(UTSBASE)/intel/ip 51 MODSTUBS_DIR = $(UNIX_DIR) 52 DSF_DIR = $(UTSBASE)/$(PLATFORM)/genassym 53 LINTS_DIR = $(OBJS_DIR) 54 LINT_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR) 55 56 UNIX_O = $(UNIX_DIR)/$(OBJS_DIR)/unix.o 57 GENLIB = $(GENLIB_DIR)/$(OBJS_DIR)/libgenunix.so 58 MODSTUBS_O = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o 59 LINT_LIB = $(UTSBASE)/i86pc/lint-libs/$(OBJS_DIR)/llib-lunix.ln 60 GEN_LINT_LIB = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)/llib-lgenunix.ln 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 $(UTSTREE)/intel/Makefile.files 74 include $(UTSTREE)/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) $(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) $(DEF_BUILDS32) 107 ALL_BUILDS = $(ALL_BUILDS64) $(ALL_BUILDS32) 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 136 ASFLAGS_XARCH_32 = $(i386_ASFLAGS) 137 ASFLAGS_XARCH_64 = $(amd64_ASFLAGS) 138 ASFLAGS_XARCH = $(ASFLAGS_XARCH_$(CLASS)) 139 140 ASFLAGS += $(ASFLAGS_XARCH) 141 AS_INC_PATH += -I$(GENASSYM_DIR)/$(OBJS_DIR) 142 143 # 144 # Define the base directory for installation. 145 # 146 BASE_INS_DIR = $(ROOT) 147 148 # 149 # Debugging level 150 # 151 # Special knowledge of which special debugging options affect which 152 # file is used to optimize the build if these flags are changed. 153 # 154 DEBUG_DEFS_OBJ32 = 155 DEBUG_DEFS_DBG32 = -DDEBUG 156 DEBUG_DEFS_OBJ64 = 157 DEBUG_DEFS_DBG64 = -DDEBUG 158 DEBUG_DEFS = $(DEBUG_DEFS_$(BUILD_TYPE)) 159 160 DEBUG_COND_OBJ32 :sh = echo \\043 161 DEBUG_COND_DBG32 = 162 DEBUG_COND_OBJ64 :sh = echo \\043 163 DEBUG_COND_DBG64 = 164 IF_DEBUG_OBJ = $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/ 165 166 $(IF_DEBUG_OBJ)syscall.o := DEBUG_DEFS += -DSYSCALLTRACE 167 $(IF_DEBUG_OBJ)clock.o := DEBUG_DEFS += -DKSLICE=1 168 169 # 170 # This rather strange collection of definitions ensures that lint sees 171 # 'struct cpu' containing a fully declared embedded 'struct machcpu' 172 # 173 # There's something deeply dissatisfying about this. 174 # 175 LINTMACHFLAGS = -D_MACHDEP -I../../i86pc 176 $(LINTS_DIR)/kcpc.ln := LINTFLAGS += $(LINTMACHFLAGS) 177 $(LINTS_DIR)/kdi.ln := LINTFLAGS += $(LINTMACHFLAGS) 178 $(LINTS_DIR)/msacct.ln := LINTFLAGS += $(LINTMACHFLAGS) 179 $(LINTS_DIR)/thread.ln := LINTFLAGS += $(LINTMACHFLAGS) 180 181 # 182 # Build `options'. These are entirely historical and the need for these 183 # is completely removed by the module technology. 184 # 185 OPTION_DEFS = -DC2_AUDIT 186 187 # 188 # Collect the preprocessor definitions to be associated with *all* 189 # files. 190 # 191 ALL_DEFS = $(DEBUG_DEFS) $(OPTION_DEFS) 192 193 # 194 # The kernels modules which are "implementation architecture" 195 # specific for this machine are enumerated below. Note that most 196 # of these modules must exist (in one form or another) for each 197 # architecture. 198 # 199 # Common Drivers (usually pseudo drivers) (/kernel/drv) 200 # DRV_KMODS are built both 32-bit and 64-bit 201 # DRV_KMODS_32 are built only 32-bit 202 # DRV_KMODS_64 are built only 64-bit 203 # 204 DRV_KMODS += aac 205 DRV_KMODS += aggr 206 DRV_KMODS += ahci 207 DRV_KMODS += amd64_gart 208 DRV_KMODS += amr 209 DRV_KMODS += agpgart 210 DRV_KMODS += agptarget 211 DRV_KMODS += arp 212 DRV_KMODS += asy 213 DRV_KMODS += ata 214 DRV_KMODS += ath 215 DRV_KMODS += audio810 216 DRV_KMODS += audiohd 217 DRV_KMODS += audioixp 218 DRV_KMODS += bl 219 DRV_KMODS += bge 220 DRV_KMODS += bofi 221 DRV_KMODS += clone 222 DRV_KMODS += cmdk 223 DRV_KMODS += cn 224 DRV_KMODS += conskbd 225 DRV_KMODS += consms 226 DRV_KMODS += cpuid 227 DRV_KMODS += crypto 228 DRV_KMODS += cryptoadm 229 DRV_KMODS += devinfo 230 DRV_KMODS += dld 231 DRV_KMODS_32 += dnet 232 DRV_KMODS += dump 233 DRV_KMODS += ecpp 234 DRV_KMODS += fd 235 DRV_KMODS += fdc 236 DRV_KMODS += fssnap 237 DRV_KMODS += i8042 238 DRV_KMODS += i915 239 DRV_KMODS += icmp 240 DRV_KMODS += icmp6 241 DRV_KMODS += ip 242 DRV_KMODS += ip6 243 DRV_KMODS += ipf 244 DRV_KMODS += ippctl 245 DRV_KMODS += ipsecah 246 DRV_KMODS += ipsecesp 247 DRV_KMODS += iwscn 248 DRV_KMODS += kb8042 249 DRV_KMODS += keysock 250 DRV_KMODS += kssl 251 DRV_KMODS += kstat 252 DRV_KMODS += ksyms 253 DRV_KMODS += kmdb 254 DRV_KMODS += llc1 255 DRV_KMODS += lofi 256 DRV_KMODS += log 257 DRV_KMODS += logi 258 DRV_KMODS += logindmux 259 DRV_KMODS += mm 260 DRV_KMODS += mouse8042 261 DRV_KMODS_32 += mscsi 262 DRV_KMODS_32 += msm 263 DRV_KMODS += nca 264 DRV_KMODS += openeepr 265 DRV_KMODS += pci_pci 266 DRV_KMODS += pcic 267 DRV_KMODS += pcie_pci 268 DRV_KMODS += physmem 269 DRV_KMODS += pm 270 DRV_KMODS += poll 271 DRV_KMODS += pool 272 DRV_KMODS += power 273 DRV_KMODS += pseudo 274 DRV_KMODS += ptc 275 DRV_KMODS += ptm 276 DRV_KMODS += pts 277 DRV_KMODS += ptsl 278 DRV_KMODS += ramdisk 279 DRV_KMODS += random 280 DRV_KMODS += rds 281 DRV_KMODS += rpcib 282 DRV_KMODS += rsm 283 DRV_KMODS += rts 284 DRV_KMODS += sad 285 DRV_KMODS += sctp 286 DRV_KMODS += sctp6 287 DRV_KMODS += sd 288 DRV_KMODS += sgen 289 DRV_KMODS += si3124 290 DRV_KMODS += smbios 291 DRV_KMODS += spdsock 292 DRV_KMODS += sppp 293 DRV_KMODS += sppptun 294 DRV_KMODS += st 295 DRV_KMODS += sy 296 DRV_KMODS += sysevent 297 DRV_KMODS += sysmsg 298 DRV_KMODS += tcp 299 DRV_KMODS += tcp6 300 DRV_KMODS += tl 301 DRV_KMODS += tnf 302 DRV_KMODS += udp 303 DRV_KMODS += udp6 304 DRV_KMODS += vgatext 305 DRV_KMODS += vni 306 DRV_KMODS += wc 307 DRV_KMODS += winlock 308 DRV_KMODS += xge 309 DRV_KMODS += zcons 310 311 # 312 # Don't build some of these for OpenSolaris, since they will be 313 # replaced by binaries that are signed by Sun Release Engineering. 314 # 315 $(CLOSED_BUILD)DRV_KMODS += dca 316 317 $(CLOSED_BUILD)CLOSED_DRV_KMODS += audioens 318 $(CLOSED_BUILD)CLOSED_DRV_KMODS += audiovia823x 319 $(CLOSED_BUILD)CLOSED_DRV_KMODS += bmc 320 $(CLOSED_BUILD)CLOSED_DRV_KMODS += bscbus 321 $(CLOSED_BUILD)CLOSED_DRV_KMODS += bscv 322 $(CLOSED_BUILD)CLOSED_DRV_KMODS += chxge 323 $(CLOSED_BUILD)CLOSED_DRV_KMODS += elxl 324 $(CLOSED_BUILD)CLOSED_DRV_KMODS += glm 325 $(CLOSED_BUILD)CLOSED_DRV_KMODS += iprb 326 $(CLOSED_BUILD)CLOSED_DRV_KMODS += llc2 327 $(CLOSED_BUILD)CLOSED_DRV_KMODS += marvell88sx 328 $(CLOSED_BUILD)CLOSED_DRV_KMODS += mpt 329 $(CLOSED_BUILD)CLOSED_DRV_KMODS_32 += ncrs 330 $(CLOSED_BUILD)CLOSED_DRV_KMODS += pcn 331 $(CLOSED_BUILD)CLOSED_DRV_KMODS += rtls 332 $(CLOSED_BUILD)CLOSED_DRV_KMODS_32 += sbpro 333 334 # 335 # Common code drivers 336 # 337 338 DRV_KMODS += e1000g 339 DRV_KMODS += rge 340 $(CLOSED_BUILD)CLOSED_DRV_KMODS += ixgb 341 342 # 343 # DTrace and DTrace Providers 344 # 345 DRV_KMODS += dtrace 346 DRV_KMODS += fbt 347 DRV_KMODS += lockstat 348 DRV_KMODS += profile 349 DRV_KMODS += sdt 350 DRV_KMODS += systrace 351 DRV_KMODS += fasttrap 352 353 # 354 # I/O framework test drivers 355 # 356 DRV_KMODS += pshot 357 DRV_KMODS += gen_drv 358 DRV_KMODS += tvhci tphci tclient 359 DRV_KMODS += emul64 360 361 # 362 # Machine Specific Driver Modules (/kernel/drv): 363 # 364 DRV_KMODS += options 365 $(CLOSED_BUILD)CLOSED_DRV_KMODS += scsi_vhci 366 367 # 368 # PCMCIA specific module(s) 369 # 370 DRV_KMODS += pcs 371 DRV_KMODS += pcata pcmem pcram 372 DRV_KMODS += pem 373 MISC_KMODS += cardbus 374 $(CLOSED_BUILD)CLOSED_DRV_KMODS += pcelx 375 $(CLOSED_BUILD)CLOSED_DRV_KMODS += pcser 376 377 # 378 # I2O specific module(s) 379 # 380 DRV_KMODS_32 += pci_to_i2o i2o_bs i2o_scsi 381 382 # 383 # SCSI Enclosure Services driver 384 # 385 DRV_KMODS += ses 386 387 # 388 # USB specific modules 389 # 390 DRV_KMODS += hid 391 DRV_KMODS += hubd 392 DRV_KMODS += uhci 393 DRV_KMODS += ehci 394 DRV_KMODS += ohci 395 DRV_KMODS += usb_mid 396 DRV_KMODS += usb_ia 397 DRV_KMODS += scsa2usb 398 DRV_KMODS += usbprn 399 DRV_KMODS += ugen 400 DRV_KMODS += usbser 401 DRV_KMODS += usbsacm 402 DRV_KMODS += usbsksp 403 DRV_KMODS += usbsprl 404 DRV_KMODS += usb_ac 405 DRV_KMODS += usb_as 406 DRV_KMODS += usbskel 407 DRV_KMODS += usbvc 408 409 $(CLOSED_BUILD)CLOSED_DRV_KMODS += usbser_edge 410 411 # 412 # 1394 modules 413 # 414 MISC_KMODS += s1394 sbp2 415 DRV_KMODS += hci1394 scsa1394 416 DRV_KMODS += av1394 417 DRV_KMODS += dcam1394 418 419 # 420 # InfiniBand pseudo drivers 421 # 422 DRV_KMODS += ib ibd rdsib sdp 423 424 # 425 # LVM modules 426 # 427 DRV_KMODS += md 428 MISC_KMODS += md_stripe md_hotspares md_mirror md_raid md_trans md_notify 429 MISC_KMODS += md_sp 430 431 # 432 # Brand modules 433 # 434 MISC_KMODS += sn1_brand lx_brand 435 DRV_KMODS += lx_systrace lx_ptm lx_audio 436 STRMOD_KMODS += ldlinux 437 438 # 439 # Exec Class Modules (/kernel/exec): 440 # 441 EXEC_KMODS += elfexec intpexec javaexec 442 443 # 444 # Scheduling Class Modules (/kernel/sched): 445 # 446 SCHED_KMODS += IA RT TS RT_DPTBL TS_DPTBL FSS FX FX_DPTBL 447 448 # 449 # File System Modules (/kernel/fs): 450 # 451 FS_KMODS += autofs cachefs ctfs dev devfs fdfs fifofs hsfs lofs 452 FS_KMODS += lx_afs lx_proc mntfs namefs nfs objfs zfs 453 FS_KMODS += pcfs procfs sockfs specfs tmpfs udfs ufs 454 455 # 456 # Streams Modules (/kernel/strmod): 457 # 458 STRMOD_KMODS += 6to4tun atun bufmod connld dedump ldterm pckt pfmod pipemod 459 STRMOD_KMODS += ptem redirmod rpcmod rlmod telmod timod 460 STRMOD_KMODS += spppasyn spppcomp 461 STRMOD_KMODS += tirdwr ttcompat tun 462 STRMOD_KMODS += usbkbm 463 STRMOD_KMODS += usbms 464 STRMOD_KMODS += usb_ah 465 STRMOD_KMODS += drcompat 466 STRMOD_KMODS += nattymod 467 STRMOD_KMODS += cryptmod 468 STRMOD_KMODS += vuid2ps2 469 STRMOD_KMODS += vuid3ps2 470 STRMOD_KMODS += vuidm3p 471 STRMOD_KMODS += vuidm4p 472 STRMOD_KMODS += vuidm5p 473 474 # 475 # 'System' Modules (/kernel/sys): 476 # 477 SYS_KMODS += c2audit 478 SYS_KMODS += doorfs 479 SYS_KMODS += exacctsys 480 SYS_KMODS += inst_sync 481 SYS_KMODS += kaio 482 SYS_KMODS += msgsys 483 SYS_KMODS += pipe 484 SYS_KMODS += portfs 485 SYS_KMODS += pset 486 SYS_KMODS += semsys 487 SYS_KMODS += shmsys 488 SYS_KMODS += sysacct 489 SYS_KMODS += acctctl 490 491 # 492 # 'Misc' Modules (/kernel/misc) 493 # MISC_KMODS are built both 32-bit and 64-bit 494 # MISC_KMODS_32 are built only 32-bit 495 # MISC_KMODS_64 are built only 64-bit 496 # 497 MISC_KMODS += acpica 498 MISC_KMODS += agpmaster 499 MISC_KMODS += amsrc2 500 MISC_KMODS += audiosup 501 MISC_KMODS += bootdev 502 MISC_KMODS += busra 503 MISC_KMODS += cmlb 504 MISC_KMODS += consconfig 505 MISC_KMODS += ctf 506 MISC_KMODS += dadk 507 MISC_KMODS += diaudio 508 MISC_KMODS += dls 509 MISC_KMODS += drm 510 MISC_KMODS += fssnap_if 511 MISC_KMODS += gda 512 MISC_KMODS += gld 513 MISC_KMODS += hidparser 514 MISC_KMODS += hook 515 MISC_KMODS += hpcsvc 516 MISC_KMODS_32 += i2o_msg 517 MISC_KMODS += ibcm 518 MISC_KMODS += ibdm 519 MISC_KMODS += ibmf 520 MISC_KMODS += ibtl 521 MISC_KMODS += ipc 522 MISC_KMODS += kbtrans 523 MISC_KMODS += kcf 524 MISC_KMODS += kgssapi 525 MISC_KMODS += kmech_dummy 526 MISC_KMODS += kmech_krb5 527 MISC_KMODS += mac 528 MISC_KMODS += mixer 529 MISC_KMODS += net80211 530 MISC_KMODS += nfs_dlboot 531 MISC_KMODS += nfssrv 532 MISC_KMODS += neti 533 MISC_KMODS += pci_autoconfig 534 MISC_KMODS += pcicfg 535 MISC_KMODS += pciehpc 536 MISC_KMODS += pcihp 537 MISC_KMODS += pcmcia 538 MISC_KMODS += rpcsec 539 MISC_KMODS += rpcsec_gss 540 MISC_KMODS += rsmops 541 MISC_KMODS += sata 542 MISC_KMODS += scsi 543 MISC_KMODS += strategy 544 MISC_KMODS += strplumb 545 MISC_KMODS += sysinit 546 MISC_KMODS += tem 547 MISC_KMODS += tlimod 548 MISC_KMODS += usba usba10 usbs49_fw 549 550 $(CLOSED_BUILD)CLOSED_MISC_KMODS += amsrc1 551 $(CLOSED_BUILD)CLOSED_MISC_KMODS += klmmod klmops 552 $(CLOSED_BUILD)CLOSED_MISC_KMODS += phx 553 554 # 555 # Software Cryptographic Providers (/kernel/crypto): 556 # 557 # Don't build some of these for OpenSolaris, since they will be 558 # replaced by binaries that are signed by Sun RE. 559 # 560 $(CLOSED_BUILD)CRYPTO_KMODS += aes 561 $(CLOSED_BUILD)CRYPTO_KMODS += arcfour 562 $(CLOSED_BUILD)CRYPTO_KMODS += blowfish 563 $(CLOSED_BUILD)CRYPTO_KMODS += des 564 CRYPTO_KMODS += md5 565 CRYPTO_KMODS += rsa 566 CRYPTO_KMODS += sha1 567 CRYPTO_KMODS += sha2 568 CRYPTO_KMODS += swrand 569 570 # 571 # IP Policy Modules (/kernel/ipp) 572 # 573 IPP_KMODS += dlcosmk 574 IPP_KMODS += flowacct 575 IPP_KMODS += ipgpc 576 IPP_KMODS += dscpmk 577 IPP_KMODS += tokenmt 578 IPP_KMODS += tswtclmt 579 580 # 581 # generic-unix module (/kernel/genunix): 582 # 583 GENUNIX_KMODS += genunix 584 585 # 586 # SVVS Testing Modules (/kernel/strmod): 587 # 588 # These are streams and driver modules which are not to be 589 # delivered with a released system. However, during development 590 # it is convenient to build and install the SVVS kernel modules. 591 # 592 SVVS_KMODS += lmodb lmode lmodr lmodt lo tidg tivc tmux 593 594 SVVS += svvs 595 596 # 597 # Modules eXcluded from the product: 598 # 599 $(CLOSED_BUILD)CLOSED_XMODS = \ 600 adpu320 \ 601 daplt \ 602 lsimega \ 603 nge \ 604 sdpib \ 605 spwr \ 606 tavor 607 608 609 # 610 # 'Dacf' Modules (/kernel/dacf): 611 # 612 DACF_KMODS += usb_ac_dacf 613 614 # 615 # Performance Counter BackEnd modules (/usr/kernel/pcbe) 616 # 617 PCBE_KMODS += p123_pcbe p4_pcbe opteron_pcbe 618 619 # 620 # MAC-Type Plugin Modules (/kernel/mac) 621 # 622 MAC_KMODS += mac_ether 623 MAC_KMODS += mac_wifi 624 625 # 626 # 'Devname' Modules (kernel/devname) 627 # 628 DEVNAME_KMODS += sdev_nsconfig_mod --- EOF ---