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# 235cd376e8SJimmy Vetayases# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 24843e1988Sjohnlev# 25e4b86885SCheng Sean Ye 26843e1988Sjohnlev# This Makefile defines file modules in the directory uts/i86xpv 27843e1988Sjohnlev# and its children. These are the source files which are i86xpv 28843e1988Sjohnlev# "implementation architecture" dependent. 29843e1988Sjohnlev# 30843e1988Sjohnlev 31843e1988Sjohnlev# 32843e1988Sjohnlev# object lists 33843e1988Sjohnlev# 34843e1988SjohnlevCORE_OBJS += \ 352df1fe9cSrandyf acpi_stubs.o \ 36843e1988Sjohnlev balloon.o \ 37843e1988Sjohnlev biosdisk.o \ 38843e1988Sjohnlev cbe.o \ 39843e1988Sjohnlev cmi.o \ 4020c794b3Sgavinm cmi_hw.o \ 4120c794b3Sgavinm cms.o \ 42843e1988Sjohnlev confunix.o \ 43843e1988Sjohnlev cpuid.o \ 44e4b86885SCheng Sean Ye cpuid_subr.o \ 45843e1988Sjohnlev cpupm.o \ 460e751525SEric Saxe cpupm_mach.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 \ 646cefaae1SJack 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 \ 87c0da6274SZhi-Jun Robin Fu pci_cfgacc.o \ 88c0da6274SZhi-Jun Robin Fu pci_cfgacc_x86.o \ 89843e1988Sjohnlev pci_cfgspace.o \ 90843e1988Sjohnlev pci_mech1.o \ 91843e1988Sjohnlev pci_mech2.o \ 92843e1988Sjohnlev pci_neptune.o \ 93843e1988Sjohnlev pci_orion.o \ 94843e1988Sjohnlev pmem.o \ 95843e1988Sjohnlev ppage.o \ 96843e1988Sjohnlev startup.o \ 97*6a59053bSAlex Wilson ssp.o \ 98843e1988Sjohnlev xpv_timestamp.o \ 99843e1988Sjohnlev todpc_subr.o \ 100843e1988Sjohnlev trap.o \ 101843e1988Sjohnlev vm_machdep.o \ 102843e1988Sjohnlev x_call.o 103843e1988Sjohnlev 104843e1988Sjohnlev# 105843e1988Sjohnlev# Add the SMBIOS subsystem object files directly to the list of objects 106843e1988Sjohnlev# built into unix itself; this is all common code except for smb_dev.c. 107843e1988Sjohnlev# 108843e1988SjohnlevCORE_OBJS += $(SMBIOS_OBJS) 109843e1988Sjohnlev 110843e1988Sjohnlev# 111843e1988Sjohnlev# These get compiled twice: 112843e1988Sjohnlev# - once in the dboot (direct boot) identity mapped code 113843e1988Sjohnlev# - once for use during early startup in unix 114843e1988Sjohnlev# 115843e1988SjohnlevBOOT_DRIVER_OBJS = \ 116843e1988Sjohnlev boot_console.o \ 117843e1988Sjohnlev boot_keyboard.o \ 118843e1988Sjohnlev boot_keyboard_table.o \ 119843e1988Sjohnlev boot_mmu.o \ 120843e1988Sjohnlev boot_vga.o \ 121843e1988Sjohnlev boot_xconsole.o 122843e1988Sjohnlev 123843e1988SjohnlevCORE_OBJS += $(BOOT_DRIVER_OBJS) 124843e1988Sjohnlev 125843e1988Sjohnlev# 126843e1988Sjohnlev# Extra XEN files separated out for now. 127843e1988Sjohnlev# 128843e1988SjohnlevCORE_OBJS += \ 129843e1988Sjohnlev cpr_driver.o \ 130843e1988Sjohnlev evtchn.o \ 131843e1988Sjohnlev gnttab.o \ 132843e1988Sjohnlev hypercall.o \ 133843e1988Sjohnlev hyperevent.o \ 134843e1988Sjohnlev hypersubr.o \ 135843e1988Sjohnlev mp_xen.o \ 136843e1988Sjohnlev panic_asm.o \ 137843e1988Sjohnlev xenguest.o \ 138843e1988Sjohnlev xenbus_client.o \ 139843e1988Sjohnlev xenbus_comms.o \ 140843e1988Sjohnlev xenbus_probe.o \ 141843e1988Sjohnlev xenbus_xs.o \ 142843e1988Sjohnlev xen_machdep.o \ 143843e1988Sjohnlev xen_mmu.o \ 144843e1988Sjohnlev xpv_panic.o \ 145843e1988Sjohnlev xvdi.o 146843e1988Sjohnlev 147843e1988Sjohnlev# 148843e1988Sjohnlev# locore.o is special. It must be the first file relocated so that it 149843e1988Sjohnlev# it is relocated just where its name implies. 150843e1988Sjohnlev# 151843e1988SjohnlevSPECIAL_OBJS_32 += \ 152843e1988Sjohnlev locore.o \ 153843e1988Sjohnlev fast_trap_asm.o \ 154843e1988Sjohnlev interrupt.o \ 155843e1988Sjohnlev syscall_asm.o 156843e1988Sjohnlev 157843e1988SjohnlevSPECIAL_OBJS_64 += \ 158843e1988Sjohnlev locore.o \ 159843e1988Sjohnlev fast_trap_asm.o \ 160843e1988Sjohnlev interrupt.o \ 161843e1988Sjohnlev syscall_asm_amd64.o 162843e1988Sjohnlev 163843e1988SjohnlevSPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS)) 164843e1988Sjohnlev 165843e1988Sjohnlev# 166843e1988Sjohnlev# object files used to boot into full kernel 167843e1988Sjohnlev# 168843e1988SjohnlevDBOOT_OBJS_32 = muldiv.o 169843e1988Sjohnlev 170843e1988SjohnlevDBOOT_OBJS_64 = 171843e1988Sjohnlev 172843e1988SjohnlevDBOOT_OBJS += \ 173843e1988Sjohnlev dboot_asm.o \ 174843e1988Sjohnlev dboot_printf.o \ 175843e1988Sjohnlev dboot_startkern.o \ 176843e1988Sjohnlev dboot_xen.o \ 177843e1988Sjohnlev hypercall.o \ 178843e1988Sjohnlev hypersubr.o \ 179843e1988Sjohnlev memcpy.o \ 180843e1988Sjohnlev memset.o \ 181843e1988Sjohnlev string.o \ 182843e1988Sjohnlev $(BOOT_DRIVER_OBJS) \ 183843e1988Sjohnlev $(DBOOT_OBJS_$(CLASS)) 184843e1988Sjohnlev 185843e1988Sjohnlev# 186843e1988Sjohnlev# driver & misc modules 187843e1988Sjohnlev# 188c6c65e54Sdm120769BALLOON_OBJS += balloon_drv.o 18917169044SbrutusDOMCAPS_OBJS += domcaps.o 190843e1988SjohnlevEVTCHN_OBJS += evtchn_dev.o 191843e1988SjohnlevGFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ 192843e1988Sjohnlev gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o 19317169044SbrutusIOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o 19417169044SbrutusISANEXUS_OBJS += isa.o dma_engine.o i8237A.o 195843e1988SjohnlevPCI_E_NEXUS_OBJS += npe.o npe_misc.o 196843e1988SjohnlevPCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o 197843e1988SjohnlevPCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o 198843e1988SjohnlevPRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o 199843e1988SjohnlevROOTNEX_OBJS += rootnex.o 200843e1988SjohnlevXPVTOD_OBJS += xpvtod.o 201843e1988SjohnlevXPV_AUTOCONFIG_OBJS += xpv_autoconfig.o 2027ff178cdSJimmy VetayasesXPV_PSM_OBJS += xpv_psm.o mp_platform_common.o mp_platform_xpv.o \ 2037ff178cdSJimmy Vetayases apic_regops.o psm_common.o xpv_intr.o 204cc7a88b5SmrjXPV_UPPC_OBJS += xpv_uppc.o psm_common.o 205843e1988SjohnlevXENBUS_OBJS += xenbus_dev.o 206843e1988SjohnlevXENCONS_OBJS += xencons.o 207843e1988SjohnlevXPVD_OBJS += xpvd.o 2087eea693dSMark JohnsonXPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o 209843e1988SjohnlevXNB_OBJS += xnb.o 210843e1988SjohnlevXNBE_OBJS += xnbe.o 211843e1988SjohnlevXNBO_OBJS += xnbo.o 212843e1988SjohnlevXNBU_OBJS += xnbu.o 213843e1988SjohnlevXNF_OBJS += xnf.o 214843e1988SjohnlevXSVC_OBJS += xsvc.o 215843e1988SjohnlevXDF_OBJS += xdf.o 216843e1988SjohnlevXDB_OBJS += xdb.o 217c7158ae9StariqXDT_OBJS += xdt.o 218843e1988Sjohnlev 219843e1988Sjohnlev# 220843e1988Sjohnlev# Build up defines and paths. 221843e1988Sjohnlev# 222551bc2a6SmrjINC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/i86pc -I$(SRC)/common \ 223551bc2a6Smrj -I$(UTSBASE)/common/xen 224843e1988Sjohnlev 225843e1988Sjohnlev# 226843e1988Sjohnlev# Since the assym files are derived, the dependencies must be explicit for 227843e1988Sjohnlev# all files including this file. (This is only actually required in the 228843e1988Sjohnlev# instance when the .nse_depinfo file does not exist.) It may seem that 229843e1988Sjohnlev# the lint targets should also have a similar dependency, but they don't 230843e1988Sjohnlev# since only C headers are included when #defined(__lint) is true. 231843e1988Sjohnlev# 232843e1988Sjohnlev 233843e1988SjohnlevASSYM_DEPS += \ 234843e1988Sjohnlev copy.o \ 235843e1988Sjohnlev desctbls_asm.o \ 236843e1988Sjohnlev ddi_i86_asm.o \ 237843e1988Sjohnlev exception.o \ 238843e1988Sjohnlev fast_trap_asm.o \ 239843e1988Sjohnlev float.o \ 240843e1988Sjohnlev hyperevent.o \ 241843e1988Sjohnlev i86_subr.o \ 242843e1988Sjohnlev kdi_asm.o \ 243843e1988Sjohnlev interrupt.o \ 244843e1988Sjohnlev lock_prim.o \ 245843e1988Sjohnlev locore.o \ 246843e1988Sjohnlev panic_asm.o \ 247843e1988Sjohnlev sseblk.o \ 248843e1988Sjohnlev swtch.o \ 249843e1988Sjohnlev syscall_asm.o \ 250843e1988Sjohnlev syscall_asm_amd64.o 251843e1988Sjohnlev 252843e1988Sjohnlev$(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h 253843e1988Sjohnlev 254843e1988SjohnlevASSYM_DEPS += kdi_asm.o 255