# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. # Copyright 2019 Joyent, Inc. # Copyright 2018 Nexenta Systems, Inc. # Copyright 2019 Peter Tribble. # Copyright 2023 Oxide Computer Company # # # This Makefile defines all file modules and build rules for the # directory uts/intel and its children. These are the source files which # are specific to x86 processor architectures. # # # Core (unix) objects # CORE_OBJS += \ arch_kdi.o \ comm_page_util.o \ copy.o \ copy_subr.o \ cpc_subr.o \ ddi_arch.o \ ddi_i86.o \ ddi_i86_asm.o \ desctbls.o \ desctbls_asm.o \ exception.o \ float.o \ fmsmb.o \ fpu.o \ i86_subr.o \ lock_prim.o \ ovbcopy.o \ polled_io.o \ retpoline.o \ sseblk.o \ sundep.o \ swtch.o \ sysi86.o DBOOT_OBJS += \ retpoline.o # # Generic-unix Module # GENUNIX_OBJS += \ archdep.o \ getcontext.o \ install_utrap.o \ lwp_private.o \ popcountdi2.o \ prom_enter.o \ prom_exit.o \ sendsig.o \ syscall.o # # PROM Routines # GENUNIX_OBJS += \ prom_env.o \ prom_emul.o \ prom_getchar.o \ prom_init.o \ prom_node.o \ prom_printf.o \ prom_prop.o \ prom_putchar.o \ prom_version.o # # file system modules # CORE_OBJS += \ prmachdep.o # # shared hypervisor functionality # CORE_OBJS += \ hma.o \ hma_asm.o \ hma_fpu.o \ smt.o \ # # ZFS file system module # ZFS_OBJS += \ spa_boot.o # # Decompression code # CORE_OBJS += decompress.o # # Microcode # CORE_OBJS += microcode.o # # Driver modules # ARCMSR_OBJS += arcmsr.o ATA_OBJS += $(GHD_OBJS) ata_blacklist.o ata_common.o ata_disk.o \ ata_dma.o atapi.o atapi_fsm.o ata_debug.o \ sil3xxx.o CMDK_OBJS += cmdk.o CMLB_OBJS += cmlb.o CPUNEX_OBJS += cpunex.o DADK_OBJS += dadk.o DCOPY_OBJS += dcopy.o DNET_OBJS += dnet.o dnet_mii.o FD_OBJS += fd.o GDA_OBJS += gda.o GHD_OBJS += ghd.o ghd_debug.o ghd_dma.o ghd_queue.o ghd_scsa.o \ ghd_scsi.o ghd_timer.o ghd_waitq.o ghd_gcmd.o I915_OBJS += i915_dma.o i915_drv.o i915_irq.o i915_mem.o \ i915_gem.o i915_gem_debug.o i915_gem_tiling.o NSKERN_OBJS += nsc_asm.o PCICFG_OBJS += pcicfg.o PCI_PCINEXUS_OBJS += pci_pci.o PCIEB_OBJS += pcieb_x86.o PIT_BEEP_OBJS += pit_beep.o POWER_OBJS += power.o PCI_AUTOCONFIG_OBJS += pci_autoconfig.o pci_boot.o pcie_nvidia.o \ pci_memlist.o RADEON_OBJS += r300_cmdbuf.o radeon_cp.o radeon_drv.o \ radeon_state.o radeon_irq.o radeon_mem.o SD_OBJS += sd.o sd_xbuf.o STRATEGY_OBJS += strategy.o UCODE_OBJS += ucode_drv.o VGATEXT_OBJS += vgatext.o # # Kernel linker # KRTLD_OBJS += \ bootfsops.o \ bootrd.o \ bootrd_cpio.o \ ufsops.o \ hsfs.o \ doreloc.o \ kobj_boot.o \ kobj_convrelstr.o \ kobj_crt.o \ kobj_isa.o \ kobj_reloc.o # # misc. modules # ACPICA_OBJS += \ dmbuffer.o dmcstyle.o dmdeferred.o dmnames.o dmopcode.o \ dmresrc.o dmresrcl.o dmresrcl2.o dmresrcs.o dmutils.o \ dmwalk.o \ \ dsargs.o dscontrol.o dsdebug.o dsfield.o dsinit.o \ dsmethod.o dsmthdat.o dsobject.o dsopcode.o dsutils.o \ dswexec.o dswload.o dswload2.o dswscope.o dswstate.o \ dspkginit.o \ \ evevent.o evglock.o evgpe.o evgpeblk.o evgpeinit.o \ evgpeutil.o evhandler.o evmisc.o evregion.o evrgnini.o \ evsci.o evxface.o evxfevnt.o evxfgpe.o evxfregn.o \ \ exconcat.o exconfig.o exconvrt.o excreate.o exdebug.o \ exdump.o exfield.o exfldio.o exmisc.o exmutex.o exnames.o \ exoparg1.o exoparg2.o exoparg3.o exoparg6.o exprep.o \ exregion.o exresnte.o exresolv.o exresop.o exstore.o \ exstoren.o exstorob.o exsystem.o extrace.o exutils.o \ \ hwacpi.o hwesleep.o hwgpe.o hwpci.o hwregs.o hwsleep.o \ hwtimer.o hwvalid.o hwxface.o hwxfsleep.o \ \ psargs.o psloop.o psobject.o psopcode.o psopinfo.o \ psparse.o psscope.o pstree.o psutils.o pswalk.o psxface.o \ \ nsaccess.o nsalloc.o nsarguments.o nsconvert.o nsdump.o \ nsdumpdv.o nseval.o nsinit.o nsload.o nsnames.o nsobject.o \ nsparse.o nspredef.o nsprepkg.o nsrepair.o nsrepair2.o \ nssearch.o nsutils.o nswalk.o nsxfeval.o nsxfname.o \ nsxfobj.o \ \ rsaddr.o rscalc.o rscreate.o rsdump.o rsdumpinfo.o \ rsinfo.o rsio.o rsirq.o rslist.o rsmemory.o rsmisc.o \ rsserial.o rsutils.o rsxface.o \ \ tbdata.o tbfadt.o tbfind.o tbinstal.o tbprint.o tbutils.o \ tbxface.o tbxfload.o tbxfroot.o \ \ utaddress.o utalloc.o utascii.o utbuffer.o utcache.o \ utclib.o utcopy.o utdebug.o utdecode.o utdelete.o \ uterror.o uteval.o utexcep.o utglobal.o uthex.o utids.o \ utinit.o utlock.o utmath.o utmisc.o utmutex.o utnonansi.o \ utobject.o utosi.o utownerid.o utpredef.o utresrc.o \ utstate.o utstring.o uttrack.o utuuid.o utxface.o \ utxferror.o utxfinit.o utxfmutex.o utresdecode.o \ utstrsuppt.o utstrtoul64.o \ \ acpi_enum.o acpica_ec.o acpica.o ahids.o isapnp_devs.o \ osl_ml.o osl.o FBT_OBJS += fbt.o SDT_OBJS += sdt.o # # AMD8111 NIC driver module # AMD8111S_OBJS += amd8111s_main.o amd8111s_hw.o # # Pentium 4 Performance Counter BackEnd module # P4_PCBE_OBJS = p4_pcbe.o # # AMD Opteron/Athlon64 Performance Counter BackEnd module # OPTERON_PCBE_OBJS = opteron_pcbe.o # # Intel Core Architecture Performance Counter BackEnd module # CORE_PCBE_OBJS = core_pcbe.o # # AMR module # AMR_OBJS = amr.o # # IPMI module IPMI_OBJS += ipmi_main.o ipmi.o ipmi_kcs.o # # IOMMULIB module # IOMMULIB_OBJS = iommulib.o # # Brand modules # SN1_BRAND_OBJS = sn1_brand.o sn1_brand_asm.o S10_BRAND_OBJS = s10_brand.o s10_brand_asm.o BOOTDEV_OBJS += \ bootdev.o INC_PATH += -I$(UTSBASE)/intel CPR_INTEL_OBJS += cpr_intel.o # # AMD family 0xf memory controller module # include $(SRC)/common/mc/mc-amd/Makefile.mcamd MCAMD_OBJS += \ $(MCAMD_CMN_OBJS) \ mcamd_drv.o \ mcamd_dimmcfg.o \ mcamd_subr.o \ mcamd_pcicfg.o # # Intel Nehalem memory controller module # INTEL_NHM_OBJS += \ nhm_init.o \ mem_addr.o \ intel_nhmdrv.o \ nhm_pci_cfg.o \ dimm_topo.o \ intel_nhm.o # # Intel 5000/5100/5400/7300 chipset memory controller hub (MCH) module # INTEL_NB5000_OBJS += \ intel_nb5000.o \ intel_nbdrv.o \ dimm_addr.o \ nb_pci_cfg.o \ nb5000_init.o # # VMware VMXNET3 virtual network device # VMXNET3S_OBJS = vmxnet3_main.o \ vmxnet3_rx.o \ vmxnet3_tx.o \ vmxnet3_utils.o # # Intel Temperature Module # CORETEMP_OBJS = coretemp.o # # Intel Platform Controller Hub Temperature Module # PCHTEMP_OBJS = pchtemp.o # # AMD Family 10h-16h temperature driver # AMDNBTEMP_OBJS = amdnbtemp.o # # AMD Zen Nexus Driver # AMDZEN_OBJS = amdzen.o zen_fabric_utils.o AMDZEN_STUB_OBJS = amdzen_stub.o SMNTEMP_OBJS = smntemp.o USMN_OBJS = usmn.o ZEN_UDF_OBJS = zen_udf.o ZEN_UMC_OBJS = zen_umc.o zen_umc_decode.o zen_umc_dump.o # # Intel Integrated Memory Controller # (Sandy Bridge - Cascade Lake) # IMC_OBJS = imc.o imc_decode.o imc_dump.o IMCSTUB_OBJS = imcstub.o # # viona (VirtIO-Net Accelerated) # VIONA_OBJS = \ viona_main.o \ viona_ring.o \ viona_rx.o \ viona_tx.o \ viona_hook.o # # bhyve PCI-passthru # PPT_OBJS = ppt.o # # bhyve VT-d # VMM_VTD_OBJS = vtd.o # # bhyve drv test interface # VMM_DRV_TEST_OBJS = vmm_drv_test.o