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