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 (c) 2012, Joyent, Inc. All rights reserved.
  25 #
  26 
  27 #
  28 #       This Makefile defines all file modules and build rules for the
  29 # directory uts/intel and its children. These are the source files which
  30 # are specific to x86 processor architectures.
  31 #
  32 
  33 #
  34 #       Core (unix) objects
  35 #
  36 CORE_OBJS +=            \
  37         arch_kdi.o      \
  38         copy.o          \
  39         copy_subr.o     \
  40         cpc_subr.o      \
  41         ddi_arch.o      \
  42         ddi_i86.o       \
  43         ddi_i86_asm.o   \
  44         desctbls.o      \
  45         desctbls_asm.o  \
  46         exception.o     \
  47         float.o         \
  48         fmsmb.o         \
  49         fpu.o           \
  50         i86_subr.o      \
  51         lock_prim.o     \
  52         ovbcopy.o       \
  53         polled_io.o     \
  54         sseblk.o        \
  55         sundep.o        \
  56         swtch.o         \
  57         sysi86.o
  58 
  59 #
  60 # 64-bit multiply/divide compiler helper routines
  61 # used only for ia32
  62 #
  63 
  64 SPECIAL_OBJS_32 +=      \
  65         muldiv.o
  66 
  67 #
  68 #       Generic-unix Module
  69 #
  70 GENUNIX_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 #
  85 GENUNIX_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 #
 100 CORE_OBJS +=            \
 101         prmachdep.o
 102 
 103 #
 104 #       ZFS file system module
 105 #
 106 ZFS_OBJS +=             \
 107         spa_boot.o
 108 
 109 #
 110 #       Decompression code
 111 #
 112 CORE_OBJS += decompress.o
 113 
 114 #
 115 #       Microcode utilities
 116 #
 117 CORE_OBJS += ucode_utils.o
 118 
 119 #
 120 #       Driver modules
 121 #
 122 AGPGART_OBJS += agpgart.o agp_kstat.o
 123 AGPTARGET_OBJS += agptarget.o
 124 AMD64GART_OBJS += amd64_gart.o
 125 ARCMSR_OBJS += arcmsr.o
 126 ATA_OBJS += $(GHD_OBJS) ata_blacklist.o ata_common.o ata_disk.o \
 127         ata_dma.o atapi.o atapi_fsm.o ata_debug.o \
 128         sil3xxx.o
 129 BSCBUS_OBJS += bscbus.o
 130 BSCV_OBJS += bscv.o
 131 CMDK_OBJS += cmdk.o
 132 CMLB_OBJS += cmlb.o
 133 CPUNEX_OBJS += cpunex.o
 134 DADK_OBJS += dadk.o
 135 DCOPY_OBJS += dcopy.o
 136 DNET_OBJS += dnet.o dnet_mii.o
 137 FD_OBJS += fd.o
 138 GDA_OBJS += gda.o
 139 GHD_OBJS += ghd.o ghd_debug.o ghd_dma.o ghd_queue.o ghd_scsa.o \
 140         ghd_scsi.o ghd_timer.o ghd_waitq.o ghd_gcmd.o
 141 I915_OBJS += i915_dma.o i915_drv.o i915_irq.o i915_mem.o \
 142         i915_gem.o i915_gem_debug.o i915_gem_tiling.o
 143 NSKERN_OBJS += nsc_asm.o
 144 PCICFG_OBJS += pcicfg.o
 145 PCI_PCINEXUS_OBJS += pci_pci.o
 146 PCIEB_OBJS += pcieb_x86.o
 147 PIT_BEEP_OBJS += pit_beep.o
 148 POWER_OBJS += power.o
 149 PCI_AUTOCONFIG_OBJS += pci_autoconfig.o pci_boot.o pcie_nvidia.o \
 150                         pci_memlist.o pci_resource.o
 151 RADEON_OBJS += r300_cmdbuf.o radeon_cp.o radeon_drv.o \
 152                         radeon_state.o radeon_irq.o radeon_mem.o
 153 SD_OBJS += sd.o sd_xbuf.o
 154 
 155 HECI_OBJS +=            \
 156         heci_init.o     \
 157         heci_intr.o     \
 158         heci_interface.o \
 159         io_heci.o       \
 160         heci_main.o
 161 
 162 STRATEGY_OBJS += strategy.o
 163 UCODE_OBJS += ucode_drv.o
 164 VGATEXT_OBJS += vgatext.o vgasubr.o
 165 
 166 #
 167 #       Kernel linker
 168 #
 169 KRTLD_OBJS +=           \
 170         bootrd.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 #
 183 ACPICA_OBJS     += dbcmds.o dbdisply.o \
 184                    dbexec.o dbfileio.o dbhistry.o dbinput.o dbstats.o \
 185                    dbutils.o dbxface.o evevent.o evgpe.o evgpeblk.o \
 186                    evmisc.o evregion.o evrgnini.o evsci.o evxface.o \
 187                    evxfevnt.o evxfregn.o hwacpi.o hwgpe.o hwregs.o \
 188                    hwsleep.o hwtimer.o dsfield.o dsinit.o dsmethod.o \
 189                    dsmthdat.o dsobject.o dsopcode.o dsutils.o dswexec.o \
 190                    dswload.o dswscope.o dswstate.o exconfig.o exconvrt.o \
 191                    excreate.o exdump.o exfield.o exfldio.o exmisc.o \
 192                    exmutex.o exnames.o exoparg1.o exoparg2.o exoparg3.o \
 193                    exoparg6.o exprep.o exregion.o exresnte.o exresolv.o \
 194                    exresop.o exstore.o exstoren.o exstorob.o exsystem.o \
 195                    exutils.o psargs.o psopcode.o psparse.o psscope.o \
 196                    pstree.o psutils.o pswalk.o psxface.o nsaccess.o \
 197                    nsalloc.o nsdump.o nsdumpdv.o nseval.o nsinit.o \
 198                    nsload.o nsnames.o nsobject.o nsparse.o nssearch.o \
 199                    nsutils.o nswalk.o nsxfeval.o nsxfname.o nsxfobj.o \
 200                    rsaddr.o rscalc.o rscreate.o rsdump.o \
 201                    rsinfo.o rsio.o rsirq.o rslist.o rsmemory.o rsmisc.o \
 202                    rsutils.o rsxface.o tbfadt.o tbfind.o tbinstal.o  \
 203                    tbutils.o tbxface.o tbxfroot.o \
 204                    utalloc.o utclib.o utcopy.o utdebug.o utdelete.o \
 205                    uteval.o utglobal.o utinit.o utmath.o utmisc.o \
 206                    utobject.o utresrc.o utxface.o acpica.o acpi_enum.o \
 207                    master_ops.o osl.o osl_ml.o acpica_ec.o utcache.o \
 208                    utmutex.o utstate.o dmbuffer.o dmnames.o dmobject.o \
 209                    dmopcode.o dmresrc.o dmresrcl.o dmresrcs.o dmutils.o \
 210                    dmwalk.o psloop.o nspredef.o hwxface.o hwvalid.o \
 211                    utlock.o utids.o nsrepair.o nsrepair2.o \
 212                    dbmethod.o dbnames.o dsargs.o dscontrol.o dswload2.o \
 213                    evglock.o evgpeinit.o evgpeutil.o evxfgpe.o exdebug.o \
 214                    hwpci.o utdecode.o utosi.o utxferror.o
 215 
 216 
 217 AGP_OBJS += agpmaster.o
 218 FBT_OBJS += fbt.o
 219 SDT_OBJS += sdt.o
 220 
 221 #
 222 #       AMD8111 NIC driver module
 223 #
 224 AMD8111S_OBJS += amd8111s_main.o amd8111s_hw.o
 225 
 226 #
 227 #       Pentium Performance Counter BackEnd module
 228 #
 229 P123_PCBE_OBJS = p123_pcbe.o
 230 
 231 #
 232 #       Pentium 4 Performance Counter BackEnd module
 233 #
 234 P4_PCBE_OBJS = p4_pcbe.o
 235 
 236 #
 237 #       AMD Opteron/Athlon64 Performance Counter BackEnd module
 238 #
 239 OPTERON_PCBE_OBJS = opteron_pcbe.o
 240 
 241 #
 242 #       Intel Core Architecture Performance Counter BackEnd module
 243 #
 244 CORE_PCBE_OBJS = core_pcbe.o
 245 
 246 #
 247 #       AMR module
 248 #
 249 AMR_OBJS = amr.o
 250 
 251 #
 252 #       IPMI module
 253 IPMI_OBJS +=    ipmi_main.o ipmi.o ipmi_kcs.o
 254 
 255 #
 256 #       IOMMULIB module
 257 #
 258 IOMMULIB_OBJS = iommulib.o
 259 
 260 #
 261 #       Brand modules
 262 #
 263 SN1_BRAND_OBJS  =       sn1_brand.o sn1_brand_asm.o
 264 S10_BRAND_OBJS  =       s10_brand.o s10_brand_asm.o
 265 
 266 #
 267 #       special files
 268 #
 269 MODSTUB_OBJ +=          \
 270         modstubs.o
 271 
 272 BOOTDEV_OBJS +=         \
 273         bootdev.o
 274 
 275 INC_PATH        += -I$(UTSBASE)/intel
 276 
 277 
 278 CPR_INTEL_OBJS +=       cpr_intel.o
 279 
 280 #
 281 # AMD family 0xf memory controller module
 282 #
 283 include $(SRC)/common/mc/mc-amd/Makefile.mcamd
 284 MCAMD_OBJS      += \
 285         $(MCAMD_CMN_OBJS) \
 286         mcamd_drv.o \
 287         mcamd_dimmcfg.o \
 288         mcamd_subr.o \
 289         mcamd_pcicfg.o
 290 
 291 #
 292 # Intel Nehalem memory controller module
 293 #
 294 INTEL_NHM_OBJS += \
 295         nhm_init.o \
 296         mem_addr.o \
 297         intel_nhmdrv.o \
 298         nhm_pci_cfg.o \
 299         dimm_topo.o \
 300         intel_nhm.o
 301 
 302 #
 303 # Intel 5000/5100/5400/7300 chipset memory controller hub (MCH) module
 304 #
 305 INTEL_NB5000_OBJS += \
 306         intel_nb5000.o \
 307         intel_nbdrv.o \
 308         dimm_addr.o \
 309         nb_pci_cfg.o \
 310         nb5000_init.o