17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 54ab75253Smrj# Common Development and Distribution License (the "License"). 64ab75253Smrj# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 214ab75253Smrj 227c478bd9Sstevel@tonic-gate# 23*8d7fafffSZhi-Jun Robin Fu# Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. 247c478bd9Sstevel@tonic-gate# 25fb9f9b97Skupfer# This Makefile defines file modules in the directory uts/i86pc 26fb9f9b97Skupfer# and its children. These are the source files which are i86pc 277c478bd9Sstevel@tonic-gate# "implementation architecture" dependent. 287c478bd9Sstevel@tonic-gate# 297c478bd9Sstevel@tonic-gate 307c478bd9Sstevel@tonic-gate# 317c478bd9Sstevel@tonic-gate# object lists 327c478bd9Sstevel@tonic-gate# 337c478bd9Sstevel@tonic-gateCORE_OBJS += \ 342df1fe9cSrandyf acpi_stubs.o \ 357c478bd9Sstevel@tonic-gate biosdisk.o \ 36ae115bc7Smrj bios_call.o \ 377c478bd9Sstevel@tonic-gate cbe.o \ 387aec1d6eScindi cmi.o \ 3920c794b3Sgavinm cmi_hw.o \ 4020c794b3Sgavinm cms.o \ 417c478bd9Sstevel@tonic-gate confunix.o \ 420e751525SEric Saxe cpu_idle.o \ 437c478bd9Sstevel@tonic-gate cpuid.o \ 44e4b86885SCheng Sean Ye cpuid_subr.o \ 455cff7825Smh27603 cpupm.o \ 460e751525SEric Saxe cpupm_mach.o \ 470e751525SEric Saxe cpupm_amd.o \ 480e751525SEric Saxe cpupm_intel.o \ 490e751525SEric Saxe cpupm_throttle.o \ 500e751525SEric Saxe cpu_acpi.o \ 517c478bd9Sstevel@tonic-gate dis_tables.o \ 527c478bd9Sstevel@tonic-gate ddi_impl.o \ 537c478bd9Sstevel@tonic-gate dtrace_subr.o \ 547c478bd9Sstevel@tonic-gate dvma.o \ 55ae115bc7Smrj fpu_subr.o \ 56ae115bc7Smrj fakebop.o \ 5719397407SSherry Moore fastboot.o \ 5819397407SSherry Moore fb_swtch.o \ 597c478bd9Sstevel@tonic-gate graphics.o \ 60ae115bc7Smrj hardclk.o \ 617c478bd9Sstevel@tonic-gate hat_i86.o \ 627c478bd9Sstevel@tonic-gate hat_kdi.o \ 637c478bd9Sstevel@tonic-gate hment.o \ 64ae115bc7Smrj hold_page.o \ 657c478bd9Sstevel@tonic-gate hrtimers.o \ 667c478bd9Sstevel@tonic-gate htable.o \ 67349b53ddSStuart Maybee hypercall.o \ 68349b53ddSStuart Maybee hypersubr.o \ 69ae115bc7Smrj i86_mmu.o \ 706cefaae1SJack Meng ibft.o \ 717c478bd9Sstevel@tonic-gate instr_size.o \ 727c478bd9Sstevel@tonic-gate intr.o \ 73ae115bc7Smrj kboot_mmu.o \ 74ae115bc7Smrj kdi_subr.o \ 75ae115bc7Smrj kdi_idt.o \ 76ae115bc7Smrj kdi_idthdl.o \ 77ae115bc7Smrj kdi_asm.o \ 787c478bd9Sstevel@tonic-gate lgrpplat.o \ 797c478bd9Sstevel@tonic-gate mach_kdi.o \ 807c478bd9Sstevel@tonic-gate mach_sysconfig.o \ 817c478bd9Sstevel@tonic-gate machdep.o \ 82a3114836SGerry Liu mem_config.o \ 837c478bd9Sstevel@tonic-gate mem_config_stubs.o \ 84a3114836SGerry Liu mem_config_arch.o \ 85a3114836SGerry Liu memlist_new.o \ 867c478bd9Sstevel@tonic-gate memnode.o \ 872449e17fSsherrym microcode.o \ 88843e1988Sjohnlev microfind.o \ 897c478bd9Sstevel@tonic-gate mlsetup.o \ 907c478bd9Sstevel@tonic-gate mp_call.o \ 917c478bd9Sstevel@tonic-gate mp_implfuncs.o \ 927c478bd9Sstevel@tonic-gate mp_machdep.o \ 93ae115bc7Smrj mp_pc.o \ 947c478bd9Sstevel@tonic-gate mp_startup.o \ 957c478bd9Sstevel@tonic-gate memscrub.o \ 967c478bd9Sstevel@tonic-gate mpcore.o \ 977c478bd9Sstevel@tonic-gate notes.o \ 9875bcd456Sjg pci_bios.o \ 99c0da6274SZhi-Jun Robin Fu pci_cfgacc.o \ 100c0da6274SZhi-Jun Robin Fu pci_cfgacc_x86.o \ 101c88420b3Sdmick pci_cfgspace.o \ 102c88420b3Sdmick pci_mech1.o \ 103*8d7fafffSZhi-Jun Robin Fu pci_mech1_amd.o \ 104c88420b3Sdmick pci_mech2.o \ 105c88420b3Sdmick pci_neptune.o \ 106c88420b3Sdmick pci_orion.o \ 1077c478bd9Sstevel@tonic-gate pmem.o \ 1087c478bd9Sstevel@tonic-gate ppage.o \ 1090e751525SEric Saxe pwrnow.o \ 1100e751525SEric Saxe speedstep.o \ 1117c478bd9Sstevel@tonic-gate startup.o \ 1127c478bd9Sstevel@tonic-gate timestamp.o \ 113ae115bc7Smrj todpc_subr.o \ 1147c478bd9Sstevel@tonic-gate trap.o \ 1157c478bd9Sstevel@tonic-gate vm_machdep.o \ 116349b53ddSStuart Maybee xpv_platform.o \ 1177c478bd9Sstevel@tonic-gate x_call.o 1187c478bd9Sstevel@tonic-gate 1197c478bd9Sstevel@tonic-gate# 12084ab085aSmws# Add the SMBIOS subsystem object files directly to the list of objects 12184ab085aSmws# built into unix itself; this is all common code except for smb_dev.c. 12284ab085aSmws# 12384ab085aSmwsCORE_OBJS += $(SMBIOS_OBJS) 12484ab085aSmws 12584ab085aSmws# 126ae115bc7Smrj# These get compiled twice: 127ae115bc7Smrj# - once in the dboot (direct boot) identity mapped code 128ae115bc7Smrj# - once for use during early startup in unix 129ae115bc7Smrj# 130ae115bc7SmrjBOOT_DRIVER_OBJS = \ 131ae115bc7Smrj boot_console.o \ 132ae115bc7Smrj boot_keyboard.o \ 133ae115bc7Smrj boot_keyboard_table.o \ 134ae115bc7Smrj boot_vga.o \ 135ae115bc7Smrj boot_mmu.o 136ae115bc7Smrj 137ae115bc7SmrjCORE_OBJS += $(BOOT_DRIVER_OBJS) 138ae115bc7Smrj 139ae115bc7Smrj# 1407c478bd9Sstevel@tonic-gate# locore.o is special. It must be the first file relocated so that it 1417c478bd9Sstevel@tonic-gate# it is relocated just where its name implies. 1427c478bd9Sstevel@tonic-gate# 1437c478bd9Sstevel@tonic-gateSPECIAL_OBJS_32 += \ 1447c478bd9Sstevel@tonic-gate locore.o \ 1457c478bd9Sstevel@tonic-gate fast_trap_asm.o \ 1467c478bd9Sstevel@tonic-gate interrupt.o \ 1477c478bd9Sstevel@tonic-gate syscall_asm.o 1487c478bd9Sstevel@tonic-gate 1497c478bd9Sstevel@tonic-gateSPECIAL_OBJS_64 += \ 1507c478bd9Sstevel@tonic-gate locore.o \ 1517c478bd9Sstevel@tonic-gate fast_trap_asm.o \ 1527c478bd9Sstevel@tonic-gate interrupt.o \ 1537c478bd9Sstevel@tonic-gate syscall_asm_amd64.o 1547c478bd9Sstevel@tonic-gate 1557c478bd9Sstevel@tonic-gateSPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS)) 1567c478bd9Sstevel@tonic-gate 1577c478bd9Sstevel@tonic-gate# 158ae115bc7Smrj# Objects that get compiled into the identity mapped PT_LOAD section of unix 159ae115bc7Smrj# to handle the earliest part of booting. 1607c478bd9Sstevel@tonic-gate# 161ae115bc7SmrjDBOOT_OBJS_32 = 162ae115bc7Smrj 163ae115bc7SmrjDBOOT_OBJS_64 += dboot_elfload.o 164ae115bc7Smrj 165ae115bc7SmrjDBOOT_OBJS += \ 166843e1988Sjohnlev dboot_asm.o \ 167ae115bc7Smrj dboot_grub.o \ 168ae115bc7Smrj dboot_printf.o \ 169843e1988Sjohnlev dboot_startkern.o \ 170ae115bc7Smrj memcpy.o \ 171ae115bc7Smrj memset.o \ 172ae115bc7Smrj muldiv.o \ 173ae115bc7Smrj string.o \ 174ae115bc7Smrj $(BOOT_DRIVER_OBJS) \ 175ae115bc7Smrj $(DBOOT_OBJS_$(CLASS)) 176ae115bc7Smrj 177ae115bc7Smrj# 178ae115bc7Smrj# driver and misc modules 179ae115bc7Smrj# 180ae115bc7SmrjGFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ 181ae115bc7Smrj gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o 182eca2601cSRandy FishelFIPE_OBJS += fipe_drv.o fipe_pm.o 18317169044SbrutusIOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o 1847c478bd9Sstevel@tonic-gateISANEXUS_OBJS += isa.o dma_engine.o i8237A.o 18526947304SEvan YanPCIE_MISC_OBJS += pcie_acpi.o pciehpc_acpi.o pcie_x86.o 186ae115bc7SmrjPCI_E_NEXUS_OBJS += npe.o npe_misc.o 187ae115bc7SmrjPCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o 1887a364d25SschwartzPCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o 1890e751525SEric SaxePCPLUSMP_OBJS += apic.o apic_regops.o psm_common.o apic_introp.o \ 1900e751525SEric Saxe mp_platform_common.o hpet_acpi.o 191507c3241Smlf 1922d6b5ea7SGuoli ShuACPI_DRV_OBJS += acpi_drv.o acpi_video.o 193a3114836SGerry LiuACPINEX_OBJS += acpinex_drv.o acpinex_event.o 1947aec1d6eScindi 1957f606aceSMark HaywoodCPUDRV_OBJS += \ 1967f606aceSMark Haywood cpudrv.o \ 1970e751525SEric Saxe cpudrv_mach.o 1987f606aceSMark Haywood 1995cff7825Smh27603PPM_OBJS += ppm_subr.o ppm.o ppm_plat.o 2005cff7825Smh27603 2012df1fe9cSrandyfACPIPPM_OBJS += acpippm.o acpisleep.o 202b72d5b75SMichael CorcoranACPIDEV_OBJS += acpidev_drv.o \ 203b72d5b75SMichael Corcoran acpidev_scope.o acpidev_device.o \ 204b72d5b75SMichael Corcoran acpidev_container.o \ 205b72d5b75SMichael Corcoran acpidev_cpu.o \ 206a3114836SGerry Liu acpidev_dr.o \ 207b72d5b75SMichael Corcoran acpidev_memory.o \ 208a3114836SGerry Liu acpidev_pci.o \ 209b72d5b75SMichael Corcoran acpidev_resource.o \ 210b72d5b75SMichael Corcoran acpidev_util.o 2112df1fe9cSrandyf 212a3114836SGerry LiuDRMACH_ACPI_OBJS += drmach_acpi.o dr_util.o drmach_err.o 213a3114836SGerry Liu 214a3114836SGerry LiuDR_OBJS += dr.o dr_cpu.o dr_err.o dr_io.o dr_mem_acpi.o dr_quiesce.o dr_util.o 215a3114836SGerry Liu 2163a634bfcSVikram HegdeROOTNEX_OBJS += rootnex.o immu.o immu_dmar.o immu_dvma.o \ 2173a634bfcSVikram Hegde immu_intrmap.o immu_qinv.o immu_regs.o 2183a634bfcSVikram Hegde 219ae115bc7SmrjTZMON_OBJS += tzmon.o 2207c478bd9Sstevel@tonic-gateUPPC_OBJS += uppc.o psm_common.o 221ae115bc7SmrjXSVC_OBJS += xsvc.o 2226732dbb3SVikram HegdeAMD_IOMMU_OBJS += amd_iommu.o amd_iommu_impl.o amd_iommu_acpi.o \ 2236732dbb3SVikram Hegde amd_iommu_cmd.o amd_iommu_log.o amd_iommu_page_tables.o 224fc1821feSrugrat 2257c478bd9Sstevel@tonic-gate# 2267c478bd9Sstevel@tonic-gate# Build up defines and paths. 2277c478bd9Sstevel@tonic-gate# 2287c478bd9Sstevel@tonic-gateALL_DEFS += -Di86pc 229ae115bc7SmrjINC_PATH += -I$(UTSBASE)/i86pc -I$(SRC)/common 230349b53ddSStuart MaybeeINC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/common/xen 2317c478bd9Sstevel@tonic-gate 2327c478bd9Sstevel@tonic-gate# 233ae115bc7Smrj# Since the assym files are derived, the dependencies must be explicit for 2347c478bd9Sstevel@tonic-gate# all files including this file. (This is only actually required in the 2357c478bd9Sstevel@tonic-gate# instance when the .nse_depinfo file does not exist.) It may seem that 2367c478bd9Sstevel@tonic-gate# the lint targets should also have a similar dependency, but they don't 2377c478bd9Sstevel@tonic-gate# since only C headers are included when #defined(__lint) is true. 2387c478bd9Sstevel@tonic-gate# 239ae115bc7Smrj 2407c478bd9Sstevel@tonic-gateASSYM_DEPS += \ 2417c478bd9Sstevel@tonic-gate copy.o \ 2427c478bd9Sstevel@tonic-gate desctbls_asm.o \ 2437c478bd9Sstevel@tonic-gate ddi_i86_asm.o \ 2447c478bd9Sstevel@tonic-gate exception.o \ 2457c478bd9Sstevel@tonic-gate fast_trap_asm.o \ 2467c478bd9Sstevel@tonic-gate float.o \ 2477c478bd9Sstevel@tonic-gate i86_subr.o \ 2487c478bd9Sstevel@tonic-gate interrupt.o \ 2497c478bd9Sstevel@tonic-gate lock_prim.o \ 2507c478bd9Sstevel@tonic-gate locore.o \ 2517c478bd9Sstevel@tonic-gate mpcore.o \ 2527c478bd9Sstevel@tonic-gate sseblk.o \ 2537c478bd9Sstevel@tonic-gate swtch.o \ 2547c478bd9Sstevel@tonic-gate syscall_asm.o \ 2552df1fe9cSrandyf syscall_asm_amd64.o \ 2562df1fe9cSrandyf cpr_wakecode.o 2572df1fe9cSrandyf 2582df1fe9cSrandyfCPR_IMPL_OBJS = cpr_impl.o cpr_wakecode.o 259ae115bc7Smrj 260ae115bc7Smrj$(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h 261ae115bc7Smrj 262ae115bc7SmrjASSYM_DEPS += kdi_asm.o 263