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# 23*0e751525SEric Saxe# Copyright 2009 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 \ 47*0e751525SEric Saxe cpupm_mach.o \ 48843e1988Sjohnlev dis_tables.o \ 49843e1988Sjohnlev ddi_impl.o \ 50843e1988Sjohnlev dtrace_subr.o \ 51843e1988Sjohnlev dvma.o \ 52843e1988Sjohnlev fakebop.o \ 53843e1988Sjohnlev fpu_subr.o \ 5419397407SSherry Moore fastboot.o \ 5519397407SSherry Moore fb_swtch.o \ 56843e1988Sjohnlev graphics.o \ 57843e1988Sjohnlev hardclk.o \ 58843e1988Sjohnlev hat_i86.o \ 59843e1988Sjohnlev hat_kdi.o \ 60843e1988Sjohnlev hment.o \ 61843e1988Sjohnlev hold_page.o \ 62843e1988Sjohnlev hrtimers.o \ 63843e1988Sjohnlev htable.o \ 64843e1988Sjohnlev i86_mmu.o \ 656cefaae1SJack Meng ibft.o \ 66843e1988Sjohnlev instr_size.o \ 67843e1988Sjohnlev intr.o \ 68843e1988Sjohnlev kboot_mmu.o \ 69843e1988Sjohnlev kdi_subr.o \ 70843e1988Sjohnlev kdi_idt.o \ 71843e1988Sjohnlev kdi_idthdl.o \ 72843e1988Sjohnlev kdi_asm.o \ 73843e1988Sjohnlev lgrpplat.o \ 74843e1988Sjohnlev mach_kdi.o \ 75843e1988Sjohnlev mach_sysconfig.o \ 76843e1988Sjohnlev machdep.o \ 77843e1988Sjohnlev mem_config_stubs.o \ 78843e1988Sjohnlev memnode.o \ 79843e1988Sjohnlev microcode.o \ 80843e1988Sjohnlev mlsetup.o \ 81843e1988Sjohnlev mp_call.o \ 82843e1988Sjohnlev mp_implfuncs.o \ 83843e1988Sjohnlev mp_machdep.o \ 84843e1988Sjohnlev mp_startup.o \ 85843e1988Sjohnlev memscrub.o \ 86843e1988Sjohnlev notes.o \ 87843e1988Sjohnlev pci_bios.o \ 88843e1988Sjohnlev pci_cfgspace.o \ 89843e1988Sjohnlev pci_mech1.o \ 90843e1988Sjohnlev pci_mech2.o \ 91843e1988Sjohnlev pci_neptune.o \ 92843e1988Sjohnlev pci_orion.o \ 93843e1988Sjohnlev pmem.o \ 94843e1988Sjohnlev ppage.o \ 95843e1988Sjohnlev startup.o \ 96843e1988Sjohnlev xpv_timestamp.o \ 97843e1988Sjohnlev todpc_subr.o \ 98843e1988Sjohnlev trap.o \ 99843e1988Sjohnlev vm_machdep.o \ 100843e1988Sjohnlev x_call.o 101843e1988Sjohnlev 102843e1988Sjohnlev# 103843e1988Sjohnlev# Add the SMBIOS subsystem object files directly to the list of objects 104843e1988Sjohnlev# built into unix itself; this is all common code except for smb_dev.c. 105843e1988Sjohnlev# 106843e1988SjohnlevCORE_OBJS += $(SMBIOS_OBJS) 107843e1988Sjohnlev 108843e1988Sjohnlev# 109843e1988Sjohnlev# These get compiled twice: 110843e1988Sjohnlev# - once in the dboot (direct boot) identity mapped code 111843e1988Sjohnlev# - once for use during early startup in unix 112843e1988Sjohnlev# 113843e1988SjohnlevBOOT_DRIVER_OBJS = \ 114843e1988Sjohnlev boot_console.o \ 115843e1988Sjohnlev boot_keyboard.o \ 116843e1988Sjohnlev boot_keyboard_table.o \ 117843e1988Sjohnlev boot_mmu.o \ 118843e1988Sjohnlev boot_vga.o \ 119843e1988Sjohnlev boot_xconsole.o 120843e1988Sjohnlev 121843e1988SjohnlevCORE_OBJS += $(BOOT_DRIVER_OBJS) 122843e1988Sjohnlev 123843e1988Sjohnlev# 124843e1988Sjohnlev# Extra XEN files separated out for now. 125843e1988Sjohnlev# 126843e1988SjohnlevCORE_OBJS += \ 127843e1988Sjohnlev cpr_driver.o \ 128843e1988Sjohnlev evtchn.o \ 129843e1988Sjohnlev gnttab.o \ 130843e1988Sjohnlev hypercall.o \ 131843e1988Sjohnlev hyperevent.o \ 132843e1988Sjohnlev hypersubr.o \ 133843e1988Sjohnlev mp_xen.o \ 134843e1988Sjohnlev panic_asm.o \ 135843e1988Sjohnlev xenguest.o \ 136843e1988Sjohnlev xenbus_client.o \ 137843e1988Sjohnlev xenbus_comms.o \ 138843e1988Sjohnlev xenbus_probe.o \ 139843e1988Sjohnlev xenbus_xs.o \ 140843e1988Sjohnlev xen_machdep.o \ 141843e1988Sjohnlev xen_mmu.o \ 142843e1988Sjohnlev xpv_panic.o \ 143843e1988Sjohnlev xvdi.o 144843e1988Sjohnlev 145843e1988Sjohnlev# 146843e1988Sjohnlev# locore.o is special. It must be the first file relocated so that it 147843e1988Sjohnlev# it is relocated just where its name implies. 148843e1988Sjohnlev# 149843e1988SjohnlevSPECIAL_OBJS_32 += \ 150843e1988Sjohnlev locore.o \ 151843e1988Sjohnlev fast_trap_asm.o \ 152843e1988Sjohnlev interrupt.o \ 153843e1988Sjohnlev syscall_asm.o 154843e1988Sjohnlev 155843e1988SjohnlevSPECIAL_OBJS_64 += \ 156843e1988Sjohnlev locore.o \ 157843e1988Sjohnlev fast_trap_asm.o \ 158843e1988Sjohnlev interrupt.o \ 159843e1988Sjohnlev syscall_asm_amd64.o 160843e1988Sjohnlev 161843e1988SjohnlevSPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS)) 162843e1988Sjohnlev 163843e1988Sjohnlev# 164843e1988Sjohnlev# object files used to boot into full kernel 165843e1988Sjohnlev# 166843e1988SjohnlevDBOOT_OBJS_32 = muldiv.o 167843e1988Sjohnlev 168843e1988SjohnlevDBOOT_OBJS_64 = 169843e1988Sjohnlev 170843e1988SjohnlevDBOOT_OBJS += \ 171843e1988Sjohnlev dboot_asm.o \ 172843e1988Sjohnlev dboot_printf.o \ 173843e1988Sjohnlev dboot_startkern.o \ 174843e1988Sjohnlev dboot_xen.o \ 175843e1988Sjohnlev hypercall.o \ 176843e1988Sjohnlev hypersubr.o \ 177843e1988Sjohnlev memcpy.o \ 178843e1988Sjohnlev memset.o \ 179843e1988Sjohnlev string.o \ 180843e1988Sjohnlev $(BOOT_DRIVER_OBJS) \ 181843e1988Sjohnlev $(DBOOT_OBJS_$(CLASS)) 182843e1988Sjohnlev 183843e1988Sjohnlev# 184843e1988Sjohnlev# driver & misc modules 185843e1988Sjohnlev# 186c6c65e54Sdm120769BALLOON_OBJS += balloon_drv.o 18717169044SbrutusDOMCAPS_OBJS += domcaps.o 188843e1988SjohnlevEVTCHN_OBJS += evtchn_dev.o 189843e1988SjohnlevGFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ 190843e1988Sjohnlev gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o 19117169044SbrutusIOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o 19217169044SbrutusISANEXUS_OBJS += isa.o dma_engine.o i8237A.o 193eae2e508SkrishnaePCI_E_MISC_OBJS += pcie.o pcie_fault.o 194843e1988SjohnlevPCI_E_NEXUS_OBJS += npe.o npe_misc.o 195843e1988SjohnlevPCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o 196843e1988SjohnlevPCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o 197843e1988SjohnlevPRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o 198843e1988SjohnlevROOTNEX_OBJS += rootnex.o 199843e1988SjohnlevXPVTOD_OBJS += xpvtod.o 200843e1988SjohnlevXPV_AUTOCONFIG_OBJS += xpv_autoconfig.o 201b6917abeSmishraXPV_PSM_OBJS += xpv_psm.o mp_platform_common.o apic_introp.o apic_regops.o psm_common.o 202cc7a88b5SmrjXPV_UPPC_OBJS += xpv_uppc.o psm_common.o 203843e1988SjohnlevXENBUS_OBJS += xenbus_dev.o 204843e1988SjohnlevXENCONS_OBJS += xencons.o 205843e1988SjohnlevXPVD_OBJS += xpvd.o 2067eea693dSMark JohnsonXPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o 207843e1988SjohnlevXNB_OBJS += xnb.o 208843e1988SjohnlevXNBE_OBJS += xnbe.o 209843e1988SjohnlevXNBO_OBJS += xnbo.o 210843e1988SjohnlevXNBU_OBJS += xnbu.o 211843e1988SjohnlevXNF_OBJS += xnf.o 212843e1988SjohnlevXSVC_OBJS += xsvc.o 213843e1988SjohnlevXDF_OBJS += xdf.o 214843e1988SjohnlevXDB_OBJS += xdb.o 215c7158ae9StariqXDT_OBJS += xdt.o 216843e1988Sjohnlev 217843e1988Sjohnlev# 218843e1988Sjohnlev# Build up defines and paths. 219843e1988Sjohnlev# 220551bc2a6SmrjINC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/i86pc -I$(SRC)/common \ 221551bc2a6Smrj -I$(UTSBASE)/common/xen 222843e1988Sjohnlev 223843e1988Sjohnlev# 224843e1988Sjohnlev# Since the assym files are derived, the dependencies must be explicit for 225843e1988Sjohnlev# all files including this file. (This is only actually required in the 226843e1988Sjohnlev# instance when the .nse_depinfo file does not exist.) It may seem that 227843e1988Sjohnlev# the lint targets should also have a similar dependency, but they don't 228843e1988Sjohnlev# since only C headers are included when #defined(__lint) is true. 229843e1988Sjohnlev# 230843e1988Sjohnlev 231843e1988SjohnlevASSYM_DEPS += \ 232843e1988Sjohnlev copy.o \ 233843e1988Sjohnlev desctbls_asm.o \ 234843e1988Sjohnlev ddi_i86_asm.o \ 235843e1988Sjohnlev exception.o \ 236843e1988Sjohnlev fast_trap_asm.o \ 237843e1988Sjohnlev float.o \ 238843e1988Sjohnlev hyperevent.o \ 239843e1988Sjohnlev i86_subr.o \ 240843e1988Sjohnlev kdi_asm.o \ 241843e1988Sjohnlev interrupt.o \ 242843e1988Sjohnlev lock_prim.o \ 243843e1988Sjohnlev locore.o \ 244843e1988Sjohnlev panic_asm.o \ 245843e1988Sjohnlev sseblk.o \ 246843e1988Sjohnlev swtch.o \ 247843e1988Sjohnlev syscall_asm.o \ 248843e1988Sjohnlev syscall_asm_amd64.o 249843e1988Sjohnlev 250843e1988Sjohnlev$(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h 251843e1988Sjohnlev 252843e1988SjohnlevASSYM_DEPS += kdi_asm.o 253