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# 23843e1988Sjohnlev# Copyright 2007 Sun Microsystems, Inc. All rights reserved. 24843e1988Sjohnlev# Use is subject to license terms. 25843e1988Sjohnlev# 26843e1988Sjohnlev#ident "%Z%%M% %I% %E% SMI" 27843e1988Sjohnlev# 28843e1988Sjohnlev# This Makefile defines file modules in the directory uts/i86xpv 29843e1988Sjohnlev# and its children. These are the source files which are i86xpv 30843e1988Sjohnlev# "implementation architecture" dependent. 31843e1988Sjohnlev# 32843e1988Sjohnlev 33843e1988Sjohnlev# 34843e1988Sjohnlev# object lists 35843e1988Sjohnlev# 36843e1988SjohnlevCORE_OBJS += \ 372df1fe9cSrandyf acpi_stubs.o \ 38843e1988Sjohnlev balloon.o \ 39843e1988Sjohnlev biosdisk.o \ 40843e1988Sjohnlev cbe.o \ 41843e1988Sjohnlev cmi.o \ 4220c794b3Sgavinm cmi_hw.o \ 4320c794b3Sgavinm cms.o \ 44843e1988Sjohnlev confunix.o \ 45843e1988Sjohnlev cpuid.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 \ 53843e1988Sjohnlev graphics.o \ 54843e1988Sjohnlev hardclk.o \ 55843e1988Sjohnlev hat_i86.o \ 56843e1988Sjohnlev hat_kdi.o \ 57843e1988Sjohnlev hment.o \ 58843e1988Sjohnlev hold_page.o \ 59843e1988Sjohnlev hrtimers.o \ 60843e1988Sjohnlev htable.o \ 61843e1988Sjohnlev i86_mmu.o \ 62843e1988Sjohnlev instr_size.o \ 63843e1988Sjohnlev intr.o \ 64843e1988Sjohnlev kboot_mmu.o \ 65843e1988Sjohnlev kdi_subr.o \ 66843e1988Sjohnlev kdi_idt.o \ 67843e1988Sjohnlev kdi_idthdl.o \ 68843e1988Sjohnlev kdi_asm.o \ 69843e1988Sjohnlev lgrpplat.o \ 70843e1988Sjohnlev mach_kdi.o \ 71843e1988Sjohnlev mach_sysconfig.o \ 72843e1988Sjohnlev machdep.o \ 73843e1988Sjohnlev mem_config_stubs.o \ 74843e1988Sjohnlev memnode.o \ 75843e1988Sjohnlev microcode.o \ 76843e1988Sjohnlev mlsetup.o \ 77843e1988Sjohnlev mp_call.o \ 78843e1988Sjohnlev mp_implfuncs.o \ 79843e1988Sjohnlev mp_machdep.o \ 80843e1988Sjohnlev mp_startup.o \ 81843e1988Sjohnlev memscrub.o \ 82843e1988Sjohnlev notes.o \ 83843e1988Sjohnlev pci_bios.o \ 84843e1988Sjohnlev pci_cfgspace.o \ 85843e1988Sjohnlev pci_mech1.o \ 86843e1988Sjohnlev pci_mech2.o \ 87843e1988Sjohnlev pci_neptune.o \ 88843e1988Sjohnlev pci_orion.o \ 89843e1988Sjohnlev pmem.o \ 90843e1988Sjohnlev ppage.o \ 91843e1988Sjohnlev startup.o \ 92843e1988Sjohnlev xpv_timestamp.o \ 93843e1988Sjohnlev todpc_subr.o \ 94843e1988Sjohnlev trap.o \ 95843e1988Sjohnlev vm_machdep.o \ 96843e1988Sjohnlev x_call.o 97843e1988Sjohnlev 98843e1988Sjohnlev# 99843e1988Sjohnlev# Add the SMBIOS subsystem object files directly to the list of objects 100843e1988Sjohnlev# built into unix itself; this is all common code except for smb_dev.c. 101843e1988Sjohnlev# 102843e1988SjohnlevCORE_OBJS += $(SMBIOS_OBJS) 103843e1988Sjohnlev 104843e1988Sjohnlev# 105843e1988Sjohnlev# These get compiled twice: 106843e1988Sjohnlev# - once in the dboot (direct boot) identity mapped code 107843e1988Sjohnlev# - once for use during early startup in unix 108843e1988Sjohnlev# 109843e1988SjohnlevBOOT_DRIVER_OBJS = \ 110843e1988Sjohnlev boot_console.o \ 111843e1988Sjohnlev boot_keyboard.o \ 112843e1988Sjohnlev boot_keyboard_table.o \ 113843e1988Sjohnlev boot_mmu.o \ 114843e1988Sjohnlev boot_vga.o \ 115843e1988Sjohnlev boot_xconsole.o 116843e1988Sjohnlev 117843e1988SjohnlevCORE_OBJS += $(BOOT_DRIVER_OBJS) 118843e1988Sjohnlev 119843e1988Sjohnlev# 120843e1988Sjohnlev# Extra XEN files separated out for now. 121843e1988Sjohnlev# 122843e1988SjohnlevCORE_OBJS += \ 123843e1988Sjohnlev cpr_driver.o \ 124843e1988Sjohnlev evtchn.o \ 125843e1988Sjohnlev gnttab.o \ 126843e1988Sjohnlev hypercall.o \ 127843e1988Sjohnlev hyperevent.o \ 128843e1988Sjohnlev hypersubr.o \ 129843e1988Sjohnlev mp_xen.o \ 130843e1988Sjohnlev panic_asm.o \ 131843e1988Sjohnlev xenguest.o \ 132843e1988Sjohnlev xenbus_client.o \ 133843e1988Sjohnlev xenbus_comms.o \ 134843e1988Sjohnlev xenbus_probe.o \ 135843e1988Sjohnlev xenbus_xs.o \ 136843e1988Sjohnlev xen_machdep.o \ 137843e1988Sjohnlev xen_mmu.o \ 138843e1988Sjohnlev xpv_panic.o \ 139843e1988Sjohnlev xvdi.o 140843e1988Sjohnlev 141843e1988Sjohnlev# 142843e1988Sjohnlev# locore.o is special. It must be the first file relocated so that it 143843e1988Sjohnlev# it is relocated just where its name implies. 144843e1988Sjohnlev# 145843e1988SjohnlevSPECIAL_OBJS_32 += \ 146843e1988Sjohnlev locore.o \ 147843e1988Sjohnlev fast_trap_asm.o \ 148843e1988Sjohnlev interrupt.o \ 149843e1988Sjohnlev syscall_asm.o 150843e1988Sjohnlev 151843e1988SjohnlevSPECIAL_OBJS_64 += \ 152843e1988Sjohnlev locore.o \ 153843e1988Sjohnlev fast_trap_asm.o \ 154843e1988Sjohnlev interrupt.o \ 155843e1988Sjohnlev syscall_asm_amd64.o 156843e1988Sjohnlev 157843e1988SjohnlevSPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS)) 158843e1988Sjohnlev 159843e1988Sjohnlev# 160843e1988Sjohnlev# object files used to boot into full kernel 161843e1988Sjohnlev# 162843e1988SjohnlevDBOOT_OBJS_32 = muldiv.o 163843e1988Sjohnlev 164843e1988SjohnlevDBOOT_OBJS_64 = 165843e1988Sjohnlev 166843e1988SjohnlevDBOOT_OBJS += \ 167843e1988Sjohnlev dboot_asm.o \ 168843e1988Sjohnlev dboot_printf.o \ 169843e1988Sjohnlev dboot_startkern.o \ 170843e1988Sjohnlev dboot_xen.o \ 171843e1988Sjohnlev hypercall.o \ 172843e1988Sjohnlev hypersubr.o \ 173843e1988Sjohnlev memcpy.o \ 174843e1988Sjohnlev memset.o \ 175843e1988Sjohnlev string.o \ 176843e1988Sjohnlev $(BOOT_DRIVER_OBJS) \ 177843e1988Sjohnlev $(DBOOT_OBJS_$(CLASS)) 178843e1988Sjohnlev 179843e1988Sjohnlev# 180843e1988Sjohnlev# driver & misc modules 181843e1988Sjohnlev# 182843e1988SjohnlevISANEXUS_OBJS += isa.o dma_engine.o i8237A.o 183843e1988SjohnlevDOMCAPS_OBJS += domcaps.o 184843e1988SjohnlevBALLOON_OBJS += balloon_drv.o 185843e1988SjohnlevEVTCHN_OBJS += evtchn_dev.o 186843e1988SjohnlevGFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ 187843e1988Sjohnlev gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o 188843e1988SjohnlevPCI_E_MISC_OBJS += pcie_error.o 189843e1988SjohnlevPCI_E_NEXUS_OBJS += npe.o npe_misc.o 190843e1988SjohnlevPCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o 191843e1988SjohnlevPCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o 192843e1988SjohnlevPRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o 193843e1988SjohnlevROOTNEX_OBJS += rootnex.o 194843e1988SjohnlevXPVTOD_OBJS += xpvtod.o 195843e1988SjohnlevXPV_AUTOCONFIG_OBJS += xpv_autoconfig.o 196843e1988SjohnlevXPV_PSM_OBJS += xpv_psm.o mp_platform_common.o apic_introp.o psm_common.o 197843e1988SjohnlevXENBUS_OBJS += xenbus_dev.o 198843e1988SjohnlevXENCONS_OBJS += xencons.o 199843e1988SjohnlevXPVD_OBJS += xpvd.o 200843e1988SjohnlevXNB_OBJS += xnb.o 201843e1988SjohnlevXNBE_OBJS += xnbe.o 202843e1988SjohnlevXNBO_OBJS += xnbo.o 203843e1988SjohnlevXNBU_OBJS += xnbu.o 204843e1988SjohnlevXNF_OBJS += xnf.o 205843e1988SjohnlevXSVC_OBJS += xsvc.o 206843e1988SjohnlevXDF_OBJS += xdf.o 207843e1988SjohnlevXDB_OBJS += xdb.o 208843e1988Sjohnlev 209843e1988Sjohnlev# 210843e1988Sjohnlev# Build up defines and paths. 211843e1988Sjohnlev# 212*551bc2a6SmrjINC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/i86pc -I$(SRC)/common \ 213*551bc2a6Smrj -I$(UTSBASE)/common/xen 214843e1988Sjohnlev 215843e1988Sjohnlev# 216843e1988Sjohnlev# Since the assym files are derived, the dependencies must be explicit for 217843e1988Sjohnlev# all files including this file. (This is only actually required in the 218843e1988Sjohnlev# instance when the .nse_depinfo file does not exist.) It may seem that 219843e1988Sjohnlev# the lint targets should also have a similar dependency, but they don't 220843e1988Sjohnlev# since only C headers are included when #defined(__lint) is true. 221843e1988Sjohnlev# 222843e1988Sjohnlev 223843e1988SjohnlevASSYM_DEPS += \ 224843e1988Sjohnlev copy.o \ 225843e1988Sjohnlev desctbls_asm.o \ 226843e1988Sjohnlev ddi_i86_asm.o \ 227843e1988Sjohnlev exception.o \ 228843e1988Sjohnlev fast_trap_asm.o \ 229843e1988Sjohnlev float.o \ 230843e1988Sjohnlev hyperevent.o \ 231843e1988Sjohnlev i86_subr.o \ 232843e1988Sjohnlev kdi_asm.o \ 233843e1988Sjohnlev interrupt.o \ 234843e1988Sjohnlev lock_prim.o \ 235843e1988Sjohnlev locore.o \ 236843e1988Sjohnlev panic_asm.o \ 237843e1988Sjohnlev sseblk.o \ 238843e1988Sjohnlev swtch.o \ 239843e1988Sjohnlev syscall_asm.o \ 240843e1988Sjohnlev syscall_asm_amd64.o 241843e1988Sjohnlev 242843e1988Sjohnlev$(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h 243843e1988Sjohnlev 244843e1988SjohnlevASSYM_DEPS += kdi_asm.o 245