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 2023 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 pic.o \ 58 polled_io.o \ 59 retpoline.o \ 60 sseblk.o \ 61 sundep.o \ 62 swtch.o \ 63 sysi86.o 64 65DBOOT_OBJS += \ 66 retpoline.o 67 68# 69# Generic-unix Module 70# 71GENUNIX_OBJS += \ 72 archdep.o \ 73 getcontext.o \ 74 install_utrap.o \ 75 lwp_private.o \ 76 popcountdi2.o \ 77 prom_enter.o \ 78 prom_exit.o \ 79 sendsig.o \ 80 syscall.o 81 82 83# 84# PROM Routines 85# 86GENUNIX_OBJS += \ 87 prom_env.o \ 88 prom_emul.o \ 89 prom_getchar.o \ 90 prom_init.o \ 91 prom_node.o \ 92 prom_printf.o \ 93 prom_prop.o \ 94 prom_putchar.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 125# 126CORE_OBJS += microcode.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 142FDC_OBJS += fdc.o 143GDA_OBJS += gda.o 144GHD_OBJS += ghd.o ghd_debug.o ghd_dma.o ghd_queue.o ghd_scsa.o \ 145 ghd_scsi.o ghd_timer.o ghd_waitq.o ghd_gcmd.o 146I915_OBJS += i915_dma.o i915_drv.o i915_irq.o i915_mem.o \ 147 i915_gem.o i915_gem_debug.o i915_gem_tiling.o 148NSKERN_OBJS += nsc_asm.o 149PCICFG_OBJS += pcicfg.o 150PCI_PCINEXUS_OBJS += pci_pci.o 151PCIEB_OBJS += pcieb_x86.o 152PIT_BEEP_OBJS += pit_beep.o 153POWER_OBJS += power.o 154PCI_AUTOCONFIG_OBJS += pci_autoconfig.o pci_boot.o pcie_nvidia.o \ 155 pci_memlist.o 156RADEON_OBJS += r300_cmdbuf.o radeon_cp.o radeon_drv.o \ 157 radeon_state.o radeon_irq.o radeon_mem.o 158SD_OBJS += sd.o sd_xbuf.o 159 160STRATEGY_OBJS += strategy.o 161UCODE_OBJS += ucode_drv.o 162VGATEXT_OBJS += vgatext.o 163 164# 165# Kernel linker 166# 167KRTLD_OBJS += \ 168 bootfsops.o \ 169 bootrd.o \ 170 bootrd_cpio.o \ 171 ufsops.o \ 172 hsfs.o \ 173 doreloc.o \ 174 kobj_boot.o \ 175 kobj_convrelstr.o \ 176 kobj_crt.o \ 177 kobj_isa.o \ 178 kobj_reloc.o 179 180# 181# misc. modules 182# 183ACPICA_OBJS += \ 184 dmbuffer.o dmcstyle.o dmdeferred.o dmnames.o dmopcode.o \ 185 dmresrc.o dmresrcl.o dmresrcl2.o dmresrcs.o dmutils.o \ 186 dmwalk.o \ 187 \ 188 dsargs.o dscontrol.o dsdebug.o dsfield.o dsinit.o \ 189 dsmethod.o dsmthdat.o dsobject.o dsopcode.o dsutils.o \ 190 dswexec.o dswload.o dswload2.o dswscope.o dswstate.o \ 191 dspkginit.o \ 192 \ 193 evevent.o evglock.o evgpe.o evgpeblk.o evgpeinit.o \ 194 evgpeutil.o evhandler.o evmisc.o evregion.o evrgnini.o \ 195 evsci.o evxface.o evxfevnt.o evxfgpe.o evxfregn.o \ 196 \ 197 exconcat.o exconfig.o exconvrt.o excreate.o exdebug.o \ 198 exdump.o exfield.o exfldio.o exmisc.o exmutex.o exnames.o \ 199 exoparg1.o exoparg2.o exoparg3.o exoparg6.o exprep.o \ 200 exregion.o exresnte.o exresolv.o exresop.o exstore.o \ 201 exstoren.o exstorob.o exsystem.o extrace.o exutils.o \ 202 \ 203 hwacpi.o hwesleep.o hwgpe.o hwpci.o hwregs.o hwsleep.o \ 204 hwtimer.o hwvalid.o hwxface.o hwxfsleep.o \ 205 \ 206 psargs.o psloop.o psobject.o psopcode.o psopinfo.o \ 207 psparse.o psscope.o pstree.o psutils.o pswalk.o psxface.o \ 208 \ 209 nsaccess.o nsalloc.o nsarguments.o nsconvert.o nsdump.o \ 210 nsdumpdv.o nseval.o nsinit.o nsload.o nsnames.o nsobject.o \ 211 nsparse.o nspredef.o nsprepkg.o nsrepair.o nsrepair2.o \ 212 nssearch.o nsutils.o nswalk.o nsxfeval.o nsxfname.o \ 213 nsxfobj.o \ 214 \ 215 rsaddr.o rscalc.o rscreate.o rsdump.o rsdumpinfo.o \ 216 rsinfo.o rsio.o rsirq.o rslist.o rsmemory.o rsmisc.o \ 217 rsserial.o rsutils.o rsxface.o \ 218 \ 219 tbdata.o tbfadt.o tbfind.o tbinstal.o tbprint.o tbutils.o \ 220 tbxface.o tbxfload.o tbxfroot.o \ 221 \ 222 utaddress.o utalloc.o utascii.o utbuffer.o utcache.o \ 223 utclib.o utcopy.o utdebug.o utdecode.o utdelete.o \ 224 uterror.o uteval.o utexcep.o utglobal.o uthex.o utids.o \ 225 utinit.o utlock.o utmath.o utmisc.o utmutex.o utnonansi.o \ 226 utobject.o utosi.o utownerid.o utpredef.o utresrc.o \ 227 utstate.o utstring.o uttrack.o utuuid.o utxface.o \ 228 utxferror.o utxfinit.o utxfmutex.o utresdecode.o \ 229 utstrsuppt.o utstrtoul64.o \ 230 \ 231 acpi_enum.o acpica_ec.o acpica.o ahids.o isapnp_devs.o \ 232 osl_ml.o osl.o 233 234 235FBT_OBJS += fbt.o 236SDT_OBJS += sdt.o 237 238# 239# AMD8111 NIC driver module 240# 241AMD8111S_OBJS += amd8111s_main.o amd8111s_hw.o 242 243# 244# Pentium 4 Performance Counter BackEnd module 245# 246P4_PCBE_OBJS = p4_pcbe.o 247 248# 249# AMD Opteron/Athlon64 Performance Counter BackEnd module 250# 251OPTERON_PCBE_OBJS = opteron_pcbe.o 252 253# 254# Intel Core Architecture Performance Counter BackEnd module 255# 256CORE_PCBE_OBJS = core_pcbe.o 257 258# 259# AMR module 260# 261AMR_OBJS = amr.o 262 263# 264# IPMI module 265IPMI_OBJS += ipmi_main.o ipmi.o ipmi_kcs.o 266 267# 268# IOMMULIB module 269# 270IOMMULIB_OBJS = iommulib.o 271 272# 273# Brand modules 274# 275SN1_BRAND_OBJS = sn1_brand.o sn1_brand_asm.o 276S10_BRAND_OBJS = s10_brand.o s10_brand_asm.o 277 278BOOTDEV_OBJS += \ 279 bootdev.o 280 281INC_PATH += -I$(UTSBASE)/intel 282 283 284CPR_INTEL_OBJS += cpr_intel.o 285 286# 287# AMD family 0xf memory controller module 288# 289include $(SRC)/common/mc/mc-amd/Makefile.mcamd 290MCAMD_OBJS += \ 291 $(MCAMD_CMN_OBJS) \ 292 mcamd_drv.o \ 293 mcamd_dimmcfg.o \ 294 mcamd_subr.o \ 295 mcamd_pcicfg.o 296 297# 298# Intel Nehalem memory controller module 299# 300INTEL_NHM_OBJS += \ 301 nhm_init.o \ 302 mem_addr.o \ 303 intel_nhmdrv.o \ 304 nhm_pci_cfg.o \ 305 dimm_topo.o \ 306 intel_nhm.o 307 308# 309# Intel 5000/5100/5400/7300 chipset memory controller hub (MCH) module 310# 311INTEL_NB5000_OBJS += \ 312 intel_nb5000.o \ 313 intel_nbdrv.o \ 314 dimm_addr.o \ 315 nb_pci_cfg.o \ 316 nb5000_init.o 317 318# 319# VMware VMXNET3 virtual network device 320# 321VMXNET3S_OBJS = vmxnet3_main.o \ 322 vmxnet3_rx.o \ 323 vmxnet3_tx.o \ 324 vmxnet3_utils.o 325 326# 327# Intel Temperature Module 328# 329CORETEMP_OBJS = coretemp.o 330 331# 332# Intel Platform Controller Hub Temperature Module 333# 334PCHTEMP_OBJS = pchtemp.o 335 336# 337# AMD Family 10h-16h temperature driver 338# 339AMDNBTEMP_OBJS = amdnbtemp.o 340 341# 342# AMD Zen Nexus Driver 343# 344AMDZEN_OBJS = amdzen.o zen_fabric_utils.o 345AMDZEN_STUB_OBJS = amdzen_stub.o 346SMNTEMP_OBJS = smntemp.o 347USMN_OBJS = usmn.o 348ZEN_UDF_OBJS = zen_udf.o 349ZEN_UMC_OBJS = zen_umc.o zen_umc_decode.o zen_umc_dump.o 350 351# 352# Intel Integrated Memory Controller 353# (Sandy Bridge - Cascade Lake) 354# 355IMC_OBJS = imc.o imc_decode.o imc_dump.o 356IMCSTUB_OBJS = imcstub.o 357 358# 359# viona (VirtIO-Net Accelerated) 360# 361VIONA_OBJS = \ 362 viona_main.o \ 363 viona_ring.o \ 364 viona_rx.o \ 365 viona_tx.o \ 366 viona_hook.o 367 368# 369# bhyve PCI-passthru 370# 371PPT_OBJS = ppt.o 372 373# 374# bhyve VT-d 375# 376VMM_VTD_OBJS = vtd.o 377 378# 379# bhyve drv test interface 380# 381VMM_DRV_TEST_OBJS = vmm_drv_test.o 382