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