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 2019 Joyent, Inc. 25 # Copyright 2018 Nexenta Systems, Inc. 26 # Copyright 2019 Peter Tribble. 27 # 28 29 # 30 # This Makefile defines all file modules and build rules for the 31 # directory uts/intel and its children. These are the source files which 32 # are specific to x86 processor architectures. 33 # 34 35 # 36 # Core (unix) objects 37 # 38 CORE_OBJS += \ 39 arch_kdi.o \ 40 comm_page_util.o \ 41 copy.o \ 42 copy_subr.o \ 43 cpc_subr.o \ 44 ddi_arch.o \ 45 ddi_i86.o \ 46 ddi_i86_asm.o \ 47 desctbls.o \ 48 desctbls_asm.o \ 49 exception.o \ 50 float.o \ 51 fmsmb.o \ 52 fpu.o \ 53 i86_subr.o \ 54 lock_prim.o \ 55 ovbcopy.o \ 56 polled_io.o \ 57 retpoline.o \ 58 sseblk.o \ 59 sundep.o \ 60 swtch.o \ 61 sysi86.o 62 63 DBOOT_OBJS += \ 64 retpoline.o 65 66 # 67 # Generic-unix Module 68 # 69 GENUNIX_OBJS += \ 70 archdep.o \ 71 getcontext.o \ 72 install_utrap.o \ 73 lwp_private.o \ 74 prom_enter.o \ 75 prom_exit.o \ 76 prom_panic.o \ 77 sendsig.o \ 78 syscall.o 79 80 81 # 82 # PROM Routines 83 # 84 GENUNIX_OBJS += \ 85 prom_env.o \ 86 prom_emul.o \ 87 prom_getchar.o \ 88 prom_init.o \ 89 prom_node.o \ 90 prom_printf.o \ 91 prom_prop.o \ 92 prom_putchar.o \ 93 prom_reboot.o \ 94 prom_version.o 95 96 # 97 # file system modules 98 # 99 CORE_OBJS += \ 100 prmachdep.o 101 102 # 103 # ZFS file system module 104 # 105 ZFS_OBJS += \ 106 spa_boot.o 107 108 # 109 # Decompression code 110 # 111 CORE_OBJS += decompress.o 112 113 # 114 # Microcode utilities 115 # 116 CORE_OBJS += ucode_utils.o 117 118 # 119 # Driver modules 120 # 121 ARCMSR_OBJS += arcmsr.o 122 ATA_OBJS += $(GHD_OBJS) ata_blacklist.o ata_common.o ata_disk.o \ 123 ata_dma.o atapi.o atapi_fsm.o ata_debug.o \ 124 sil3xxx.o 125 CMDK_OBJS += cmdk.o 126 CMLB_OBJS += cmlb.o 127 CPUNEX_OBJS += cpunex.o 128 DADK_OBJS += dadk.o 129 DCOPY_OBJS += dcopy.o 130 DNET_OBJS += dnet.o dnet_mii.o 131 FD_OBJS += fd.o 132 GDA_OBJS += gda.o 133 GHD_OBJS += ghd.o ghd_debug.o ghd_dma.o ghd_queue.o ghd_scsa.o \ 134 ghd_scsi.o ghd_timer.o ghd_waitq.o ghd_gcmd.o 135 I915_OBJS += i915_dma.o i915_drv.o i915_irq.o i915_mem.o \ 136 i915_gem.o i915_gem_debug.o i915_gem_tiling.o 137 NSKERN_OBJS += nsc_asm.o 138 PCICFG_OBJS += pcicfg.o 139 PCI_PCINEXUS_OBJS += pci_pci.o 140 PCIEB_OBJS += pcieb_x86.o 141 PIT_BEEP_OBJS += pit_beep.o 142 POWER_OBJS += power.o 143 PCI_AUTOCONFIG_OBJS += pci_autoconfig.o pci_boot.o pcie_nvidia.o \ 144 pci_memlist.o pci_resource.o 145 RADEON_OBJS += r300_cmdbuf.o radeon_cp.o radeon_drv.o \ 146 radeon_state.o radeon_irq.o radeon_mem.o 147 SD_OBJS += sd.o sd_xbuf.o 148 149 STRATEGY_OBJS += strategy.o 150 UCODE_OBJS += ucode_drv.o 151 VGATEXT_OBJS += vgatext.o 152 153 # 154 # Kernel linker 155 # 156 KRTLD_OBJS += \ 157 bootfsops.o \ 158 bootrd.o \ 159 bootrd_cpio.o \ 160 ufsops.o \ 161 hsfs.o \ 162 doreloc.o \ 163 kobj_boot.o \ 164 kobj_convrelstr.o \ 165 kobj_crt.o \ 166 kobj_isa.o \ 167 kobj_reloc.o 168 169 # 170 # misc. modules 171 # 172 ACPICA_OBJS += \ 173 dmbuffer.o dmcstyle.o dmdeferred.o dmnames.o dmopcode.o \ 174 dmresrc.o dmresrcl.o dmresrcl2.o dmresrcs.o dmutils.o \ 175 dmwalk.o \ 176 \ 177 dsargs.o dscontrol.o dsdebug.o dsfield.o dsinit.o \ 178 dsmethod.o dsmthdat.o dsobject.o dsopcode.o dsutils.o \ 179 dswexec.o dswload.o dswload2.o dswscope.o dswstate.o \ 180 dspkginit.o \ 181 \ 182 evevent.o evglock.o evgpe.o evgpeblk.o evgpeinit.o \ 183 evgpeutil.o evhandler.o evmisc.o evregion.o evrgnini.o \ 184 evsci.o evxface.o evxfevnt.o evxfgpe.o evxfregn.o \ 185 \ 186 exconcat.o exconfig.o exconvrt.o excreate.o exdebug.o \ 187 exdump.o exfield.o exfldio.o exmisc.o exmutex.o exnames.o \ 188 exoparg1.o exoparg2.o exoparg3.o exoparg6.o exprep.o \ 189 exregion.o exresnte.o exresolv.o exresop.o exstore.o \ 190 exstoren.o exstorob.o exsystem.o extrace.o exutils.o \ 191 \ 192 hwacpi.o hwesleep.o hwgpe.o hwpci.o hwregs.o hwsleep.o \ 193 hwtimer.o hwvalid.o hwxface.o hwxfsleep.o \ 194 \ 195 psargs.o psloop.o psobject.o psopcode.o psopinfo.o \ 196 psparse.o psscope.o pstree.o psutils.o pswalk.o psxface.o \ 197 \ 198 nsaccess.o nsalloc.o nsarguments.o nsconvert.o nsdump.o \ 199 nsdumpdv.o nseval.o nsinit.o nsload.o nsnames.o nsobject.o \ 200 nsparse.o nspredef.o nsprepkg.o nsrepair.o nsrepair2.o \ 201 nssearch.o nsutils.o nswalk.o nsxfeval.o nsxfname.o \ 202 nsxfobj.o \ 203 \ 204 rsaddr.o rscalc.o rscreate.o rsdump.o rsdumpinfo.o \ 205 rsinfo.o rsio.o rsirq.o rslist.o rsmemory.o rsmisc.o \ 206 rsserial.o rsutils.o rsxface.o \ 207 \ 208 tbdata.o tbfadt.o tbfind.o tbinstal.o tbprint.o tbutils.o \ 209 tbxface.o tbxfload.o tbxfroot.o \ 210 \ 211 utaddress.o utalloc.o utascii.o utbuffer.o utcache.o \ 212 utclib.o utcopy.o utdebug.o utdecode.o utdelete.o \ 213 uterror.o uteval.o utexcep.o utglobal.o uthex.o utids.o \ 214 utinit.o utlock.o utmath.o utmisc.o utmutex.o utnonansi.o \ 215 utobject.o utosi.o utownerid.o utpredef.o utresrc.o \ 216 utstate.o utstring.o uttrack.o utuuid.o utxface.o \ 217 utxferror.o utxfinit.o utxfmutex.o utresdecode.o \ 218 utstrsuppt.o utstrtoul64.o \ 219 \ 220 acpi_enum.o acpica_ec.o acpica.o ahids.o master_ops.o \ 221 osl_ml.o osl.o 222 223 224 FBT_OBJS += fbt.o 225 SDT_OBJS += sdt.o 226 227 # 228 # AMD8111 NIC driver module 229 # 230 AMD8111S_OBJS += amd8111s_main.o amd8111s_hw.o 231 232 # 233 # Pentium 4 Performance Counter BackEnd module 234 # 235 P4_PCBE_OBJS = p4_pcbe.o 236 237 # 238 # AMD Opteron/Athlon64 Performance Counter BackEnd module 239 # 240 OPTERON_PCBE_OBJS = opteron_pcbe.o 241 242 # 243 # Intel Core Architecture Performance Counter BackEnd module 244 # 245 CORE_PCBE_OBJS = core_pcbe.o 246 247 # 248 # AMR module 249 # 250 AMR_OBJS = amr.o 251 252 # 253 # IPMI module 254 IPMI_OBJS += ipmi_main.o ipmi.o ipmi_kcs.o 255 256 # 257 # IOMMULIB module 258 # 259 IOMMULIB_OBJS = iommulib.o 260 261 # 262 # Brand modules 263 # 264 SN1_BRAND_OBJS = sn1_brand.o sn1_brand_asm.o 265 S10_BRAND_OBJS = s10_brand.o s10_brand_asm.o 266 267 # 268 # special files 269 # 270 MODSTUB_OBJ += \ 271 modstubs.o 272 273 BOOTDEV_OBJS += \ 274 bootdev.o 275 276 INC_PATH += -I$(UTSBASE)/intel 277 278 279 CPR_INTEL_OBJS += cpr_intel.o 280 281 # 282 # AMD family 0xf memory controller module 283 # 284 include $(SRC)/common/mc/mc-amd/Makefile.mcamd 285 MCAMD_OBJS += \ 286 $(MCAMD_CMN_OBJS) \ 287 mcamd_drv.o \ 288 mcamd_dimmcfg.o \ 289 mcamd_subr.o \ 290 mcamd_pcicfg.o 291 292 # 293 # Intel Nehalem memory controller module 294 # 295 INTEL_NHM_OBJS += \ 296 nhm_init.o \ 297 mem_addr.o \ 298 intel_nhmdrv.o \ 299 nhm_pci_cfg.o \ 300 dimm_topo.o \ 301 intel_nhm.o 302 303 # 304 # Intel 5000/5100/5400/7300 chipset memory controller hub (MCH) module 305 # 306 INTEL_NB5000_OBJS += \ 307 intel_nb5000.o \ 308 intel_nbdrv.o \ 309 dimm_addr.o \ 310 nb_pci_cfg.o \ 311 nb5000_init.o 312 313 # 314 # VMware VMXNET3 virtual network device 315 # 316 VMXNET3S_OBJS = vmxnet3_main.o \ 317 vmxnet3_rx.o \ 318 vmxnet3_tx.o \ 319 vmxnet3_utils.o 320 321 # 322 # VMware PVSCSI SCSI Controller 323 # 324 PVSCSI_OBJS = pvscsi.o 325 326 # 327 # Intel Temperature Module 328 # 329 CORETEMP_OBJS = coretemp.o 330 331 # 332 # AMD Family 17 northbridge driver 333 # 334 AMDF17NBDF_OBJS = amdf17nbdf.o 335 336 # 337 # Intel Platform Controller Hub Temperature Module 338 # 339 PCHTEMP_OBJS = pchtemp.o 340 341 # 342 # AMD Family 10h-16h temperature driver 343 # 344 AMDNBTEMP_OBJS = amdnbtemp.o