1843e1988Sjohnlev# 2843e1988Sjohnlev# CDDL HEADER START 3843e1988Sjohnlev# 4843e1988Sjohnlev# The contents of this file are subject to the terms of the 5843e1988Sjohnlev# Common Development and Distribution License (the "License"). 6843e1988Sjohnlev# You may not use this file except in compliance with the License. 7843e1988Sjohnlev# 8843e1988Sjohnlev# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9843e1988Sjohnlev# or http://www.opensolaris.org/os/licensing. 10843e1988Sjohnlev# See the License for the specific language governing permissions 11843e1988Sjohnlev# and limitations under the License. 12843e1988Sjohnlev# 13843e1988Sjohnlev# When distributing Covered Code, include this CDDL HEADER in each 14843e1988Sjohnlev# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15843e1988Sjohnlev# If applicable, add the following below this CDDL HEADER, with the 16843e1988Sjohnlev# fields enclosed by brackets "[]" replaced with your own identifying 17843e1988Sjohnlev# information: Portions Copyright [yyyy] [name of copyright owner] 18843e1988Sjohnlev# 19843e1988Sjohnlev# CDDL HEADER END 20843e1988Sjohnlev# 21843e1988Sjohnlev 22843e1988Sjohnlev# 23eae2e508Skrishnae# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24843e1988Sjohnlev# Use is subject to license terms. 25843e1988Sjohnlev# 26e4b86885SCheng Sean Ye 27843e1988Sjohnlev# This Makefile defines file modules in the directory uts/i86xpv 28843e1988Sjohnlev# and its children. These are the source files which are i86xpv 29843e1988Sjohnlev# "implementation architecture" dependent. 30843e1988Sjohnlev# 31843e1988Sjohnlev 32843e1988Sjohnlev# 33843e1988Sjohnlev# object lists 34843e1988Sjohnlev# 35843e1988SjohnlevCORE_OBJS += \ 362df1fe9cSrandyf acpi_stubs.o \ 37843e1988Sjohnlev balloon.o \ 38843e1988Sjohnlev biosdisk.o \ 39843e1988Sjohnlev cbe.o \ 40843e1988Sjohnlev cmi.o \ 4120c794b3Sgavinm cmi_hw.o \ 4220c794b3Sgavinm cms.o \ 43843e1988Sjohnlev confunix.o \ 44843e1988Sjohnlev cpuid.o \ 45e4b86885SCheng Sean Ye cpuid_subr.o \ 46843e1988Sjohnlev cpupm.o \ 47843e1988Sjohnlev dis_tables.o \ 48843e1988Sjohnlev ddi_impl.o \ 49843e1988Sjohnlev dtrace_subr.o \ 50843e1988Sjohnlev dvma.o \ 51843e1988Sjohnlev fakebop.o \ 52843e1988Sjohnlev fpu_subr.o \ 5319397407SSherry Moore fastboot.o \ 5419397407SSherry Moore fb_swtch.o \ 55843e1988Sjohnlev graphics.o \ 56843e1988Sjohnlev hardclk.o \ 57843e1988Sjohnlev hat_i86.o \ 58843e1988Sjohnlev hat_kdi.o \ 59843e1988Sjohnlev hment.o \ 60843e1988Sjohnlev hold_page.o \ 61843e1988Sjohnlev hrtimers.o \ 62843e1988Sjohnlev htable.o \ 63843e1988Sjohnlev i86_mmu.o \ 64*6cefaae1SJack Meng ibft.o \ 65843e1988Sjohnlev instr_size.o \ 66843e1988Sjohnlev intr.o \ 67843e1988Sjohnlev kboot_mmu.o \ 68843e1988Sjohnlev kdi_subr.o \ 69843e1988Sjohnlev kdi_idt.o \ 70843e1988Sjohnlev kdi_idthdl.o \ 71843e1988Sjohnlev kdi_asm.o \ 72843e1988Sjohnlev lgrpplat.o \ 73843e1988Sjohnlev mach_kdi.o \ 74843e1988Sjohnlev mach_sysconfig.o \ 75843e1988Sjohnlev machdep.o \ 76843e1988Sjohnlev mem_config_stubs.o \ 77843e1988Sjohnlev memnode.o \ 78843e1988Sjohnlev microcode.o \ 79843e1988Sjohnlev mlsetup.o \ 80843e1988Sjohnlev mp_call.o \ 81843e1988Sjohnlev mp_implfuncs.o \ 82843e1988Sjohnlev mp_machdep.o \ 83843e1988Sjohnlev mp_startup.o \ 84843e1988Sjohnlev memscrub.o \ 85843e1988Sjohnlev notes.o \ 86843e1988Sjohnlev pci_bios.o \ 87843e1988Sjohnlev pci_cfgspace.o \ 88843e1988Sjohnlev pci_mech1.o \ 89843e1988Sjohnlev pci_mech2.o \ 90843e1988Sjohnlev pci_neptune.o \ 91843e1988Sjohnlev pci_orion.o \ 92843e1988Sjohnlev pmem.o \ 93843e1988Sjohnlev ppage.o \ 94843e1988Sjohnlev startup.o \ 95843e1988Sjohnlev xpv_timestamp.o \ 96843e1988Sjohnlev todpc_subr.o \ 97843e1988Sjohnlev trap.o \ 98843e1988Sjohnlev vm_machdep.o \ 99843e1988Sjohnlev x_call.o 100843e1988Sjohnlev 101843e1988Sjohnlev# 102843e1988Sjohnlev# Add the SMBIOS subsystem object files directly to the list of objects 103843e1988Sjohnlev# built into unix itself; this is all common code except for smb_dev.c. 104843e1988Sjohnlev# 105843e1988SjohnlevCORE_OBJS += $(SMBIOS_OBJS) 106843e1988Sjohnlev 107843e1988Sjohnlev# 108843e1988Sjohnlev# These get compiled twice: 109843e1988Sjohnlev# - once in the dboot (direct boot) identity mapped code 110843e1988Sjohnlev# - once for use during early startup in unix 111843e1988Sjohnlev# 112843e1988SjohnlevBOOT_DRIVER_OBJS = \ 113843e1988Sjohnlev boot_console.o \ 114843e1988Sjohnlev boot_keyboard.o \ 115843e1988Sjohnlev boot_keyboard_table.o \ 116843e1988Sjohnlev boot_mmu.o \ 117843e1988Sjohnlev boot_vga.o \ 118843e1988Sjohnlev boot_xconsole.o 119843e1988Sjohnlev 120843e1988SjohnlevCORE_OBJS += $(BOOT_DRIVER_OBJS) 121843e1988Sjohnlev 122843e1988Sjohnlev# 123843e1988Sjohnlev# Extra XEN files separated out for now. 124843e1988Sjohnlev# 125843e1988SjohnlevCORE_OBJS += \ 126843e1988Sjohnlev cpr_driver.o \ 127843e1988Sjohnlev evtchn.o \ 128843e1988Sjohnlev gnttab.o \ 129843e1988Sjohnlev hypercall.o \ 130843e1988Sjohnlev hyperevent.o \ 131843e1988Sjohnlev hypersubr.o \ 132843e1988Sjohnlev mp_xen.o \ 133843e1988Sjohnlev panic_asm.o \ 134843e1988Sjohnlev xenguest.o \ 135843e1988Sjohnlev xenbus_client.o \ 136843e1988Sjohnlev xenbus_comms.o \ 137843e1988Sjohnlev xenbus_probe.o \ 138843e1988Sjohnlev xenbus_xs.o \ 139843e1988Sjohnlev xen_machdep.o \ 140843e1988Sjohnlev xen_mmu.o \ 141843e1988Sjohnlev xpv_panic.o \ 142843e1988Sjohnlev xvdi.o 143843e1988Sjohnlev 144843e1988Sjohnlev# 145843e1988Sjohnlev# locore.o is special. It must be the first file relocated so that it 146843e1988Sjohnlev# it is relocated just where its name implies. 147843e1988Sjohnlev# 148843e1988SjohnlevSPECIAL_OBJS_32 += \ 149843e1988Sjohnlev locore.o \ 150843e1988Sjohnlev fast_trap_asm.o \ 151843e1988Sjohnlev interrupt.o \ 152843e1988Sjohnlev syscall_asm.o 153843e1988Sjohnlev 154843e1988SjohnlevSPECIAL_OBJS_64 += \ 155843e1988Sjohnlev locore.o \ 156843e1988Sjohnlev fast_trap_asm.o \ 157843e1988Sjohnlev interrupt.o \ 158843e1988Sjohnlev syscall_asm_amd64.o 159843e1988Sjohnlev 160843e1988SjohnlevSPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS)) 161843e1988Sjohnlev 162843e1988Sjohnlev# 163843e1988Sjohnlev# object files used to boot into full kernel 164843e1988Sjohnlev# 165843e1988SjohnlevDBOOT_OBJS_32 = muldiv.o 166843e1988Sjohnlev 167843e1988SjohnlevDBOOT_OBJS_64 = 168843e1988Sjohnlev 169843e1988SjohnlevDBOOT_OBJS += \ 170843e1988Sjohnlev dboot_asm.o \ 171843e1988Sjohnlev dboot_printf.o \ 172843e1988Sjohnlev dboot_startkern.o \ 173843e1988Sjohnlev dboot_xen.o \ 174843e1988Sjohnlev hypercall.o \ 175843e1988Sjohnlev hypersubr.o \ 176843e1988Sjohnlev memcpy.o \ 177843e1988Sjohnlev memset.o \ 178843e1988Sjohnlev string.o \ 179843e1988Sjohnlev $(BOOT_DRIVER_OBJS) \ 180843e1988Sjohnlev $(DBOOT_OBJS_$(CLASS)) 181843e1988Sjohnlev 182843e1988Sjohnlev# 183843e1988Sjohnlev# driver & misc modules 184843e1988Sjohnlev# 185c6c65e54Sdm120769BALLOON_OBJS += balloon_drv.o 18617169044SbrutusDOMCAPS_OBJS += domcaps.o 187843e1988SjohnlevEVTCHN_OBJS += evtchn_dev.o 188843e1988SjohnlevGFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ 189843e1988Sjohnlev gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o 19017169044SbrutusIOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o 19117169044SbrutusISANEXUS_OBJS += isa.o dma_engine.o i8237A.o 192eae2e508SkrishnaePCI_E_MISC_OBJS += pcie.o pcie_fault.o 193843e1988SjohnlevPCI_E_NEXUS_OBJS += npe.o npe_misc.o 194843e1988SjohnlevPCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o 195843e1988SjohnlevPCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o 196843e1988SjohnlevPRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o 197843e1988SjohnlevROOTNEX_OBJS += rootnex.o 198843e1988SjohnlevXPVTOD_OBJS += xpvtod.o 199843e1988SjohnlevXPV_AUTOCONFIG_OBJS += xpv_autoconfig.o 200b6917abeSmishraXPV_PSM_OBJS += xpv_psm.o mp_platform_common.o apic_introp.o apic_regops.o psm_common.o 201cc7a88b5SmrjXPV_UPPC_OBJS += xpv_uppc.o psm_common.o 202843e1988SjohnlevXENBUS_OBJS += xenbus_dev.o 203843e1988SjohnlevXENCONS_OBJS += xencons.o 204843e1988SjohnlevXPVD_OBJS += xpvd.o 2057eea693dSMark JohnsonXPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o 206843e1988SjohnlevXNB_OBJS += xnb.o 207843e1988SjohnlevXNBE_OBJS += xnbe.o 208843e1988SjohnlevXNBO_OBJS += xnbo.o 209843e1988SjohnlevXNBU_OBJS += xnbu.o 210843e1988SjohnlevXNF_OBJS += xnf.o 211843e1988SjohnlevXSVC_OBJS += xsvc.o 212843e1988SjohnlevXDF_OBJS += xdf.o 213843e1988SjohnlevXDB_OBJS += xdb.o 214c7158ae9StariqXDT_OBJS += xdt.o 215843e1988Sjohnlev 216843e1988Sjohnlev# 217843e1988Sjohnlev# Build up defines and paths. 218843e1988Sjohnlev# 219551bc2a6SmrjINC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/i86pc -I$(SRC)/common \ 220551bc2a6Smrj -I$(UTSBASE)/common/xen 221843e1988Sjohnlev 222843e1988Sjohnlev# 223843e1988Sjohnlev# Since the assym files are derived, the dependencies must be explicit for 224843e1988Sjohnlev# all files including this file. (This is only actually required in the 225843e1988Sjohnlev# instance when the .nse_depinfo file does not exist.) It may seem that 226843e1988Sjohnlev# the lint targets should also have a similar dependency, but they don't 227843e1988Sjohnlev# since only C headers are included when #defined(__lint) is true. 228843e1988Sjohnlev# 229843e1988Sjohnlev 230843e1988SjohnlevASSYM_DEPS += \ 231843e1988Sjohnlev copy.o \ 232843e1988Sjohnlev desctbls_asm.o \ 233843e1988Sjohnlev ddi_i86_asm.o \ 234843e1988Sjohnlev exception.o \ 235843e1988Sjohnlev fast_trap_asm.o \ 236843e1988Sjohnlev float.o \ 237843e1988Sjohnlev hyperevent.o \ 238843e1988Sjohnlev i86_subr.o \ 239843e1988Sjohnlev kdi_asm.o \ 240843e1988Sjohnlev interrupt.o \ 241843e1988Sjohnlev lock_prim.o \ 242843e1988Sjohnlev locore.o \ 243843e1988Sjohnlev panic_asm.o \ 244843e1988Sjohnlev sseblk.o \ 245843e1988Sjohnlev swtch.o \ 246843e1988Sjohnlev syscall_asm.o \ 247843e1988Sjohnlev syscall_asm_amd64.o 248843e1988Sjohnlev 249843e1988Sjohnlev$(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h 250843e1988Sjohnlev 251843e1988SjohnlevASSYM_DEPS += kdi_asm.o 252