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 (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 24 # Copyright 2016, Joyent, Inc. 25 # Copyright 2016 Nexenta Systems, Inc. 26 # 27 28 # 29 # This Makefile defines all file modules and build rules for the 30 # directory uts/intel and its children. These are the source files which 31 # are specific to x86 processor architectures. 32 # 33 34 # 35 # Core (unix) objects 36 # 37 CORE_OBJS += \ 38 arch_kdi.o \ 39 comm_page_util.o \ 40 copy.o \ 41 copy_subr.o \ 42 cpc_subr.o \ 43 ddi_arch.o \ 44 ddi_i86.o \ 45 ddi_i86_asm.o \ 46 desctbls.o \ 47 desctbls_asm.o \ 48 exception.o \ 49 float.o \ 50 fmsmb.o \ 51 fpu.o \ 52 i86_subr.o \ 53 lock_prim.o \ 54 ovbcopy.o \ 55 polled_io.o \ 56 sseblk.o \ 57 sundep.o \ 58 swtch.o \ 59 sysi86.o 60 61 # 62 # 64-bit multiply/divide compiler helper routines 63 # used only for ia32 64 # 65 66 SPECIAL_OBJS_32 += \ 67 muldiv.o 68 69 # 70 # Generic-unix Module 71 # 72 GENUNIX_OBJS += \ 73 archdep.o \ 74 getcontext.o \ 75 install_utrap.o \ 76 lwp_private.o \ 77 prom_enter.o \ 78 prom_exit.o \ 79 prom_panic.o \ 80 sendsig.o \ 81 syscall.o 82 83 84 # 85 # PROM Routines 86 # 87 GENUNIX_OBJS += \ 88 prom_env.o \ 89 prom_emul.o \ 90 prom_getchar.o \ 91 prom_init.o \ 92 prom_node.o \ 93 prom_printf.o \ 94 prom_prop.o \ 95 prom_putchar.o \ 96 prom_reboot.o \ 97 prom_version.o 98 99 # 100 # file system modules 101 # 102 CORE_OBJS += \ 103 prmachdep.o 104 105 LX_CGROUP_OBJS += \ 106 cgrps_node.o \ 107 cgrps_vfsops.o \ 108 cgrps_vnops.o 109 110 LX_DEVFS_OBJS += \ 111 lxd_attrdb.o \ 112 lxd_node.o \ 113 lxd_vfsops.o \ 114 lxd_vnops.o 115 116 LX_PROC_OBJS += \ 117 lx_prsubr.o \ 118 lx_prvfsops.o \ 119 lx_prvnops.o 120 121 LX_SYS_OBJS += \ 122 lx_syssubr.o \ 123 lx_sysvfsops.o \ 124 lx_sysvnops.o 125 126 LX_AUTOFS_OBJS += \ 127 lx_autofs.o 128 129 # 130 # ZFS file system module 131 # 132 ZFS_OBJS += \ 133 spa_boot.o 134 135 # 136 # Decompression code 137 # 138 CORE_OBJS += decompress.o 139 140 # 141 # Microcode utilities 142 # 143 CORE_OBJS += ucode_utils.o 144 145 # 146 # Driver modules 147 # 148 AGPGART_OBJS += agpgart.o agp_kstat.o 149 AGPTARGET_OBJS += agptarget.o 150 AMD64GART_OBJS += amd64_gart.o 151 ARCMSR_OBJS += arcmsr.o 152 ATA_OBJS += $(GHD_OBJS) ata_blacklist.o ata_common.o ata_disk.o \ 153 ata_dma.o atapi.o atapi_fsm.o ata_debug.o \ 154 sil3xxx.o 155 BSCBUS_OBJS += bscbus.o 156 BSCV_OBJS += bscv.o 157 CMDK_OBJS += cmdk.o 158 CMLB_OBJS += cmlb.o 159 CPUNEX_OBJS += cpunex.o 160 DADK_OBJS += dadk.o 161 DCOPY_OBJS += dcopy.o 162 DNET_OBJS += dnet.o dnet_mii.o 163 FD_OBJS += fd.o 164 GDA_OBJS += gda.o 165 GHD_OBJS += ghd.o ghd_debug.o ghd_dma.o ghd_queue.o ghd_scsa.o \ 166 ghd_scsi.o ghd_timer.o ghd_waitq.o ghd_gcmd.o 167 I915_OBJS += i915_dma.o i915_drv.o i915_irq.o i915_mem.o \ 168 i915_gem.o i915_gem_debug.o i915_gem_tiling.o 169 NSKERN_OBJS += nsc_asm.o 170 PCICFG_OBJS += pcicfg.o 171 PCI_PCINEXUS_OBJS += pci_pci.o 172 PCIEB_OBJS += pcieb_x86.o 173 PIT_BEEP_OBJS += pit_beep.o 174 POWER_OBJS += power.o 175 PCI_AUTOCONFIG_OBJS += pci_autoconfig.o pci_boot.o pcie_nvidia.o \ 176 pci_memlist.o pci_resource.o 177 RADEON_OBJS += r300_cmdbuf.o radeon_cp.o radeon_drv.o \ 178 radeon_state.o radeon_irq.o radeon_mem.o 179 SD_OBJS += sd.o sd_xbuf.o 180 181 HECI_OBJS += \ 182 heci_init.o \ 183 heci_intr.o \ 184 heci_interface.o \ 185 io_heci.o \ 186 heci_main.o 187 188 STRATEGY_OBJS += strategy.o 189 UCODE_OBJS += ucode_drv.o 190 VGATEXT_OBJS += vgatext.o vgasubr.o 191 192 # 193 # Kernel linker 194 # 195 KRTLD_OBJS += \ 196 bootfsops.o \ 197 bootrd.o \ 198 ufsops.o \ 199 hsfs.o \ 200 doreloc.o \ 201 kobj_boot.o \ 202 kobj_convrelstr.o \ 203 kobj_crt.o \ 204 kobj_isa.o \ 205 kobj_reloc.o 206 207 # 208 # misc. modules 209 # 210 ACPICA_OBJS += dbcmds.o dbdisply.o \ 211 dbexec.o dbfileio.o dbhistry.o dbinput.o dbstats.o \ 212 dbutils.o dbxface.o evevent.o evgpe.o evgpeblk.o \ 213 evmisc.o evregion.o evrgnini.o evsci.o evxface.o \ 214 evxfevnt.o evxfregn.o hwacpi.o hwgpe.o hwregs.o \ 215 hwsleep.o hwtimer.o dsfield.o dsinit.o dsmethod.o \ 216 dsmthdat.o dsobject.o dsopcode.o dsutils.o dswexec.o \ 217 dswload.o dswscope.o dswstate.o exconfig.o exconvrt.o \ 218 excreate.o exdump.o exfield.o exfldio.o exmisc.o \ 219 exmutex.o exnames.o exoparg1.o exoparg2.o exoparg3.o \ 220 exoparg6.o exprep.o exregion.o exresnte.o exresolv.o \ 221 exresop.o exstore.o exstoren.o exstorob.o exsystem.o \ 222 exutils.o psargs.o psopcode.o psparse.o psscope.o \ 223 pstree.o psutils.o pswalk.o psxface.o nsaccess.o \ 224 nsalloc.o nsdump.o nsdumpdv.o nseval.o nsinit.o \ 225 nsload.o nsnames.o nsobject.o nsparse.o nssearch.o \ 226 nsutils.o nswalk.o nsxfeval.o nsxfname.o nsxfobj.o \ 227 rsaddr.o rscalc.o rscreate.o rsdump.o \ 228 rsinfo.o rsio.o rsirq.o rslist.o rsmemory.o rsmisc.o \ 229 rsutils.o rsxface.o tbfadt.o tbfind.o tbinstal.o \ 230 tbutils.o tbxface.o tbxfroot.o \ 231 utalloc.o utclib.o utcopy.o utdebug.o utdelete.o \ 232 uteval.o utglobal.o utinit.o utmath.o utmisc.o \ 233 utobject.o utresrc.o utxface.o acpica.o acpi_enum.o \ 234 master_ops.o osl.o osl_ml.o acpica_ec.o utcache.o \ 235 utmutex.o utstate.o dmbuffer.o dmnames.o dmobject.o \ 236 dmopcode.o dmresrc.o dmresrcl.o dmresrcs.o dmutils.o \ 237 dmwalk.o psloop.o nspredef.o hwxface.o hwvalid.o \ 238 utlock.o utids.o nsrepair.o nsrepair2.o \ 239 dbmethod.o dbnames.o dsargs.o dscontrol.o dswload2.o \ 240 evglock.o evgpeinit.o evgpeutil.o evxfgpe.o exdebug.o \ 241 hwpci.o utdecode.o utosi.o utxferror.o 242 243 244 AGP_OBJS += agpmaster.o 245 FBT_OBJS += fbt.o 246 SDT_OBJS += sdt.o 247 248 # 249 # AMD8111 NIC driver module 250 # 251 AMD8111S_OBJS += amd8111s_main.o amd8111s_hw.o 252 253 # 254 # Pentium Performance Counter BackEnd module 255 # 256 P123_PCBE_OBJS = p123_pcbe.o 257 258 # 259 # Pentium 4 Performance Counter BackEnd module 260 # 261 P4_PCBE_OBJS = p4_pcbe.o 262 263 # 264 # AMD Opteron/Athlon64 Performance Counter BackEnd module 265 # 266 OPTERON_PCBE_OBJS = opteron_pcbe.o 267 268 # 269 # Intel Core Architecture Performance Counter BackEnd module 270 # 271 CORE_PCBE_OBJS = core_pcbe.o 272 273 # 274 # AMR module 275 # 276 AMR_OBJS = amr.o 277 278 # 279 # IPMI module 280 IPMI_OBJS += ipmi_main.o ipmi.o ipmi_kcs.o 281 282 # 283 # IOMMULIB module 284 # 285 IOMMULIB_OBJS = iommulib.o 286 287 # 288 # Brand modules 289 # 290 SN1_BRAND_OBJS = sn1_brand.o sn1_brand_asm.o 291 S10_BRAND_OBJS = s10_brand.o s10_brand_asm.o 292 LX_BRAND_OBJS = \ 293 lx_access.o \ 294 lx_aio.o \ 295 lx_archdep.o \ 296 lx_auxv.o \ 297 lx_brand.o \ 298 lx_brk.o \ 299 lx_chmod.o \ 300 lx_chown.o \ 301 lx_clone.o \ 302 lx_close.o \ 303 lx_cpu.o \ 304 lx_dup.o \ 305 lx_errno.o \ 306 lx_epoll.o \ 307 lx_fadvise.o \ 308 lx_fallocate.o \ 309 lx_fcntl.o \ 310 lx_futex.o \ 311 lx_getcwd.o \ 312 lx_getdents.o \ 313 lx_getpid.o \ 314 lx_getrandom.o \ 315 lx_id.o \ 316 lx_ioctl.o \ 317 lx_ioprio.o \ 318 lx_kill.o \ 319 lx_link.o \ 320 lx_lseek.o \ 321 lx_misc.o \ 322 lx_miscsys.o \ 323 lx_mkdir.o \ 324 lx_modify_ldt.o \ 325 lx_mount.o \ 326 lx_open.o \ 327 lx_personality.o \ 328 lx_pgrp.o \ 329 lx_pid.o \ 330 lx_pipe.o \ 331 lx_poll.o \ 332 lx_prctl.o \ 333 lx_ptrace.o \ 334 lx_rename.o \ 335 lx_rlimit.o \ 336 lx_rw.o \ 337 lx_sched.o \ 338 lx_signal.o \ 339 lx_signum.o \ 340 lx_socket.o \ 341 lx_stat.o \ 342 lx_sync.o \ 343 lx_syscall.o \ 344 lx_sysinfo.o \ 345 lx_thread_area.o \ 346 lx_timer.o \ 347 lx_umask.o \ 348 lx_uname.o \ 349 lx_wait.o \ 350 lx_xattr.o 351 352 # 353 # special files 354 # 355 MODSTUB_OBJ += \ 356 modstubs.o 357 358 BOOTDEV_OBJS += \ 359 bootdev.o 360 361 INC_PATH += -I$(UTSBASE)/intel 362 363 364 CPR_INTEL_OBJS += cpr_intel.o 365 366 # 367 # AMD family 0xf memory controller module 368 # 369 include $(SRC)/common/mc/mc-amd/Makefile.mcamd 370 MCAMD_OBJS += \ 371 $(MCAMD_CMN_OBJS) \ 372 mcamd_drv.o \ 373 mcamd_dimmcfg.o \ 374 mcamd_subr.o \ 375 mcamd_pcicfg.o 376 377 # 378 # Intel Nehalem memory controller module 379 # 380 INTEL_NHM_OBJS += \ 381 nhm_init.o \ 382 mem_addr.o \ 383 intel_nhmdrv.o \ 384 nhm_pci_cfg.o \ 385 dimm_topo.o \ 386 intel_nhm.o 387 388 # 389 # Intel 5000/5100/5400/7300 chipset memory controller hub (MCH) module 390 # 391 INTEL_NB5000_OBJS += \ 392 intel_nb5000.o \ 393 intel_nbdrv.o \ 394 dimm_addr.o \ 395 nb_pci_cfg.o \ 396 nb5000_init.o 397 398 # 399 # VMware VMXNET3 virtual network device 400 # 401 VMXNET3S_OBJS = vmxnet3_main.o \ 402 vmxnet3_rx.o \ 403 vmxnet3_tx.o \ 404 vmxnet3_utils.o 405 406 # 407 # VMware PVSCSI SCSI Controller 408 # 409 PVSCSI_OBJS = pvscsi.o