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*ae115bc7Smrj# Copyright 2007 Sun Microsystems, Inc. All rights reserved. 247c478bd9Sstevel@tonic-gate# Use is subject to license terms. 257c478bd9Sstevel@tonic-gate# 267c478bd9Sstevel@tonic-gate# ident "%Z%%M% %I% %E% SMI" 277c478bd9Sstevel@tonic-gate# 28fb9f9b97Skupfer# This Makefile defines file modules in the directory uts/i86pc 29fb9f9b97Skupfer# and its children. These are the source files which are i86pc 307c478bd9Sstevel@tonic-gate# "implementation architecture" dependent. 317c478bd9Sstevel@tonic-gate# 327c478bd9Sstevel@tonic-gate 337c478bd9Sstevel@tonic-gate# 347c478bd9Sstevel@tonic-gate# object lists 357c478bd9Sstevel@tonic-gate# 367c478bd9Sstevel@tonic-gateCORE_OBJS += \ 377c478bd9Sstevel@tonic-gate beeper.o \ 387c478bd9Sstevel@tonic-gate biosdisk.o \ 39*ae115bc7Smrj bios_call.o \ 407c478bd9Sstevel@tonic-gate cbe.o \ 417aec1d6eScindi cmi.o \ 427c478bd9Sstevel@tonic-gate confunix.o \ 437c478bd9Sstevel@tonic-gate cpuid.o \ 447c478bd9Sstevel@tonic-gate dis_tables.o \ 457c478bd9Sstevel@tonic-gate ddi_impl.o \ 467c478bd9Sstevel@tonic-gate dtrace_subr.o \ 477c478bd9Sstevel@tonic-gate dvma.o \ 48*ae115bc7Smrj fpu_subr.o \ 49*ae115bc7Smrj fakebop.o \ 507c478bd9Sstevel@tonic-gate graphics.o \ 51*ae115bc7Smrj hardclk.o \ 527c478bd9Sstevel@tonic-gate hat_i86.o \ 537c478bd9Sstevel@tonic-gate hat_kdi.o \ 547c478bd9Sstevel@tonic-gate hment.o \ 55*ae115bc7Smrj hold_page.o \ 567c478bd9Sstevel@tonic-gate hrtimers.o \ 577c478bd9Sstevel@tonic-gate htable.o \ 58*ae115bc7Smrj i8254.o \ 59*ae115bc7Smrj i86_mmu.o \ 607c478bd9Sstevel@tonic-gate instr_size.o \ 617c478bd9Sstevel@tonic-gate intr.o \ 62*ae115bc7Smrj kboot_mmu.o \ 63*ae115bc7Smrj kdi_subr.o \ 64*ae115bc7Smrj kdi_idt.o \ 65*ae115bc7Smrj kdi_idthdl.o \ 66*ae115bc7Smrj kdi_asm.o \ 677c478bd9Sstevel@tonic-gate lgrpplat.o \ 687c478bd9Sstevel@tonic-gate mach_kdi.o \ 697c478bd9Sstevel@tonic-gate mach_sysconfig.o \ 707c478bd9Sstevel@tonic-gate machdep.o \ 717c478bd9Sstevel@tonic-gate mem_config_stubs.o \ 727c478bd9Sstevel@tonic-gate memnode.o \ 737c478bd9Sstevel@tonic-gate mlsetup.o \ 747c478bd9Sstevel@tonic-gate mp_call.o \ 757c478bd9Sstevel@tonic-gate mp_implfuncs.o \ 767c478bd9Sstevel@tonic-gate mp_machdep.o \ 77*ae115bc7Smrj mp_pc.o \ 787c478bd9Sstevel@tonic-gate mp_startup.o \ 797c478bd9Sstevel@tonic-gate memscrub.o \ 807c478bd9Sstevel@tonic-gate mpcore.o \ 817c478bd9Sstevel@tonic-gate notes.o \ 8275bcd456Sjg pci_bios.o \ 83c88420b3Sdmick pci_cfgspace.o \ 84c88420b3Sdmick pci_mech1.o \ 85c88420b3Sdmick pci_mech2.o \ 86c88420b3Sdmick pci_neptune.o \ 87c88420b3Sdmick pci_orion.o \ 887c478bd9Sstevel@tonic-gate pmem.o \ 897c478bd9Sstevel@tonic-gate ppage.o \ 907c478bd9Sstevel@tonic-gate startup.o \ 917c478bd9Sstevel@tonic-gate timestamp.o \ 92*ae115bc7Smrj todpc_subr.o \ 937c478bd9Sstevel@tonic-gate trap.o \ 947c478bd9Sstevel@tonic-gate vm_machdep.o \ 957c478bd9Sstevel@tonic-gate x_call.o 967c478bd9Sstevel@tonic-gate 977c478bd9Sstevel@tonic-gate# 9884ab085aSmws# Add the SMBIOS subsystem object files directly to the list of objects 9984ab085aSmws# built into unix itself; this is all common code except for smb_dev.c. 10084ab085aSmws# 10184ab085aSmwsCORE_OBJS += $(SMBIOS_OBJS) 10284ab085aSmws 10384ab085aSmws# 104*ae115bc7Smrj# These get compiled twice: 105*ae115bc7Smrj# - once in the dboot (direct boot) identity mapped code 106*ae115bc7Smrj# - once for use during early startup in unix 107*ae115bc7Smrj# 108*ae115bc7SmrjBOOT_DRIVER_OBJS = \ 109*ae115bc7Smrj boot_console.o \ 110*ae115bc7Smrj boot_keyboard.o \ 111*ae115bc7Smrj boot_keyboard_table.o \ 112*ae115bc7Smrj boot_vga.o \ 113*ae115bc7Smrj boot_mmu.o 114*ae115bc7Smrj 115*ae115bc7SmrjCORE_OBJS += $(BOOT_DRIVER_OBJS) 116*ae115bc7Smrj 117*ae115bc7Smrj# 1187c478bd9Sstevel@tonic-gate# locore.o is special. It must be the first file relocated so that it 1197c478bd9Sstevel@tonic-gate# it is relocated just where its name implies. 1207c478bd9Sstevel@tonic-gate# 1217c478bd9Sstevel@tonic-gateSPECIAL_OBJS_32 += \ 1227c478bd9Sstevel@tonic-gate locore.o \ 1237c478bd9Sstevel@tonic-gate fast_trap_asm.o \ 1247c478bd9Sstevel@tonic-gate interrupt.o \ 1257c478bd9Sstevel@tonic-gate syscall_asm.o 1267c478bd9Sstevel@tonic-gate 1277c478bd9Sstevel@tonic-gateSPECIAL_OBJS_64 += \ 1287c478bd9Sstevel@tonic-gate locore.o \ 1297c478bd9Sstevel@tonic-gate fast_trap_asm.o \ 1307c478bd9Sstevel@tonic-gate interrupt.o \ 1317c478bd9Sstevel@tonic-gate syscall_asm_amd64.o 1327c478bd9Sstevel@tonic-gate 1337c478bd9Sstevel@tonic-gateSPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS)) 1347c478bd9Sstevel@tonic-gate 1357c478bd9Sstevel@tonic-gate# 136*ae115bc7Smrj# Objects that get compiled into the identity mapped PT_LOAD section of unix 137*ae115bc7Smrj# to handle the earliest part of booting. 1387c478bd9Sstevel@tonic-gate# 139*ae115bc7SmrjDBOOT_OBJS_32 = 140*ae115bc7Smrj 141*ae115bc7SmrjDBOOT_OBJS_64 += dboot_elfload.o 142*ae115bc7Smrj 143*ae115bc7SmrjDBOOT_OBJS += \ 144*ae115bc7Smrj dboot_grub.o \ 145*ae115bc7Smrj dboot_startkern.o \ 146*ae115bc7Smrj dboot_printf.o \ 147*ae115bc7Smrj memcpy.o \ 148*ae115bc7Smrj memset.o \ 149*ae115bc7Smrj muldiv.o \ 150*ae115bc7Smrj string.o \ 151*ae115bc7Smrj $(BOOT_DRIVER_OBJS) \ 152*ae115bc7Smrj $(DBOOT_OBJS_$(CLASS)) 153*ae115bc7Smrj 154*ae115bc7Smrj# 155*ae115bc7Smrj# driver and misc modules 156*ae115bc7Smrj# 157*ae115bc7SmrjGFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ 158*ae115bc7Smrj gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o 1597c478bd9Sstevel@tonic-gateISANEXUS_OBJS += isa.o dma_engine.o i8237A.o 160*ae115bc7SmrjPCI_E_MISC_OBJS += pcie_error.o 161*ae115bc7SmrjPCI_E_NEXUS_OBJS += npe.o npe_misc.o 162*ae115bc7SmrjPCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o 1637a364d25SschwartzPCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o 164*ae115bc7SmrjPCPLUSMP_OBJS += apic.o psm_common.o apic_introp.o mp_platform_common.o 165507c3241Smlf 1667aec1d6eScindiinclude $(SRC)/common/mc/mc-amd/Makefile.mcamd 1677aec1d6eScindiMCAMD_OBJS += \ 1687aec1d6eScindi $(MCAMD_CMN_OBJS) \ 1697aec1d6eScindi mcamd_drv.o \ 1708a40a695Sgavinm mcamd_dimmcfg.o \ 1718a40a695Sgavinm mcamd_subr.o \ 1728a40a695Sgavinm mcamd_pcicfg.o 1737aec1d6eScindi 174*ae115bc7SmrjROOTNEX_OBJS += rootnex.o 175*ae115bc7SmrjTZMON_OBJS += tzmon.o 1767c478bd9Sstevel@tonic-gateUPPC_OBJS += uppc.o psm_common.o 177*ae115bc7SmrjXSVC_OBJS += xsvc.o 178fc1821feSrugrat 1797c478bd9Sstevel@tonic-gate# 1807c478bd9Sstevel@tonic-gate# Build up defines and paths. 1817c478bd9Sstevel@tonic-gate# 1827c478bd9Sstevel@tonic-gateALL_DEFS += -Di86pc 183*ae115bc7SmrjINC_PATH += -I$(UTSBASE)/i86pc -I$(SRC)/common 1847c478bd9Sstevel@tonic-gate 1857c478bd9Sstevel@tonic-gate# 186*ae115bc7Smrj# Since the assym files are derived, the dependencies must be explicit for 1877c478bd9Sstevel@tonic-gate# all files including this file. (This is only actually required in the 1887c478bd9Sstevel@tonic-gate# instance when the .nse_depinfo file does not exist.) It may seem that 1897c478bd9Sstevel@tonic-gate# the lint targets should also have a similar dependency, but they don't 1907c478bd9Sstevel@tonic-gate# since only C headers are included when #defined(__lint) is true. 1917c478bd9Sstevel@tonic-gate# 192*ae115bc7Smrj 1937c478bd9Sstevel@tonic-gateASSYM_DEPS += \ 1947c478bd9Sstevel@tonic-gate copy.o \ 1957c478bd9Sstevel@tonic-gate desctbls_asm.o \ 1967c478bd9Sstevel@tonic-gate ddi_i86_asm.o \ 1977c478bd9Sstevel@tonic-gate exception.o \ 1987c478bd9Sstevel@tonic-gate fast_trap_asm.o \ 1997c478bd9Sstevel@tonic-gate float.o \ 2007c478bd9Sstevel@tonic-gate i86_subr.o \ 2017c478bd9Sstevel@tonic-gate interrupt.o \ 2027c478bd9Sstevel@tonic-gate lock_prim.o \ 2037c478bd9Sstevel@tonic-gate locore.o \ 2047c478bd9Sstevel@tonic-gate mpcore.o \ 2057c478bd9Sstevel@tonic-gate sseblk.o \ 2067c478bd9Sstevel@tonic-gate swtch.o \ 2077c478bd9Sstevel@tonic-gate syscall_asm.o \ 2087c478bd9Sstevel@tonic-gate syscall_asm_amd64.o 209*ae115bc7Smrj 210*ae115bc7Smrj$(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h 211*ae115bc7Smrj 212*ae115bc7SmrjASSYM_DEPS += kdi_asm.o 213