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