1 5084 johnlev # 2 5084 johnlev # CDDL HEADER START 3 5084 johnlev # 4 5084 johnlev # The contents of this file are subject to the terms of the 5 5084 johnlev # Common Development and Distribution License (the "License"). 6 5084 johnlev # You may not use this file except in compliance with the License. 7 5084 johnlev # 8 5084 johnlev # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 5084 johnlev # or http://www.opensolaris.org/os/licensing. 10 5084 johnlev # See the License for the specific language governing permissions 11 5084 johnlev # and limitations under the License. 12 5084 johnlev # 13 5084 johnlev # When distributing Covered Code, include this CDDL HEADER in each 14 5084 johnlev # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 5084 johnlev # If applicable, add the following below this CDDL HEADER, with the 16 5084 johnlev # fields enclosed by brackets "[]" replaced with your own identifying 17 5084 johnlev # information: Portions Copyright [yyyy] [name of copyright owner] 18 5084 johnlev # 19 5084 johnlev # CDDL HEADER END 20 5084 johnlev # 21 5084 johnlev 22 5084 johnlev # 23 8906 Eric # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 5084 johnlev # Use is subject to license terms. 25 5084 johnlev # 26 7532 Sean 27 5084 johnlev # This Makefile defines file modules in the directory uts/i86xpv 28 5084 johnlev # and its children. These are the source files which are i86xpv 29 5084 johnlev # "implementation architecture" dependent. 30 5084 johnlev # 31 5084 johnlev 32 5084 johnlev # 33 5084 johnlev # object lists 34 5084 johnlev # 35 5084 johnlev CORE_OBJS += \ 36 5295 randyf acpi_stubs.o \ 37 5084 johnlev balloon.o \ 38 5084 johnlev biosdisk.o \ 39 5084 johnlev cbe.o \ 40 5084 johnlev cmi.o \ 41 5254 gavinm cmi_hw.o \ 42 5254 gavinm cms.o \ 43 5084 johnlev confunix.o \ 44 5084 johnlev cpuid.o \ 45 7532 Sean cpuid_subr.o \ 46 5084 johnlev cpupm.o \ 47 8906 Eric cpupm_mach.o \ 48 5084 johnlev dis_tables.o \ 49 5084 johnlev ddi_impl.o \ 50 5084 johnlev dtrace_subr.o \ 51 5084 johnlev dvma.o \ 52 5084 johnlev fakebop.o \ 53 5084 johnlev fpu_subr.o \ 54 7656 Sherry fastboot.o \ 55 7656 Sherry fb_swtch.o \ 56 5084 johnlev graphics.o \ 57 5084 johnlev hardclk.o \ 58 5084 johnlev hat_i86.o \ 59 5084 johnlev hat_kdi.o \ 60 5084 johnlev hment.o \ 61 5084 johnlev hold_page.o \ 62 5084 johnlev hrtimers.o \ 63 5084 johnlev htable.o \ 64 5084 johnlev i86_mmu.o \ 65 8194 Jack ibft.o \ 66 5084 johnlev instr_size.o \ 67 5084 johnlev intr.o \ 68 5084 johnlev kboot_mmu.o \ 69 5084 johnlev kdi_subr.o \ 70 5084 johnlev kdi_idt.o \ 71 5084 johnlev kdi_idthdl.o \ 72 5084 johnlev kdi_asm.o \ 73 5084 johnlev lgrpplat.o \ 74 5084 johnlev mach_kdi.o \ 75 5084 johnlev mach_sysconfig.o \ 76 5084 johnlev machdep.o \ 77 5084 johnlev mem_config_stubs.o \ 78 5084 johnlev memnode.o \ 79 5084 johnlev microcode.o \ 80 5084 johnlev mlsetup.o \ 81 5084 johnlev mp_call.o \ 82 5084 johnlev mp_implfuncs.o \ 83 5084 johnlev mp_machdep.o \ 84 5084 johnlev mp_startup.o \ 85 5084 johnlev memscrub.o \ 86 5084 johnlev notes.o \ 87 5084 johnlev pci_bios.o \ 88 5084 johnlev pci_cfgspace.o \ 89 5084 johnlev pci_mech1.o \ 90 5084 johnlev pci_mech2.o \ 91 5084 johnlev pci_neptune.o \ 92 5084 johnlev pci_orion.o \ 93 5084 johnlev pmem.o \ 94 5084 johnlev ppage.o \ 95 5084 johnlev startup.o \ 96 5084 johnlev xpv_timestamp.o \ 97 5084 johnlev todpc_subr.o \ 98 5084 johnlev trap.o \ 99 5084 johnlev vm_machdep.o \ 100 5084 johnlev x_call.o 101 5084 johnlev 102 5084 johnlev # 103 5084 johnlev # Add the SMBIOS subsystem object files directly to the list of objects 104 5084 johnlev # built into unix itself; this is all common code except for smb_dev.c. 105 5084 johnlev # 106 5084 johnlev CORE_OBJS += $(SMBIOS_OBJS) 107 5084 johnlev 108 5084 johnlev # 109 5084 johnlev # These get compiled twice: 110 5084 johnlev # - once in the dboot (direct boot) identity mapped code 111 5084 johnlev # - once for use during early startup in unix 112 5084 johnlev # 113 5084 johnlev BOOT_DRIVER_OBJS = \ 114 5084 johnlev boot_console.o \ 115 5084 johnlev boot_keyboard.o \ 116 5084 johnlev boot_keyboard_table.o \ 117 5084 johnlev boot_mmu.o \ 118 5084 johnlev boot_vga.o \ 119 5084 johnlev boot_xconsole.o 120 5084 johnlev 121 5084 johnlev CORE_OBJS += $(BOOT_DRIVER_OBJS) 122 5084 johnlev 123 5084 johnlev # 124 5084 johnlev # Extra XEN files separated out for now. 125 5084 johnlev # 126 5084 johnlev CORE_OBJS += \ 127 5084 johnlev cpr_driver.o \ 128 5084 johnlev evtchn.o \ 129 5084 johnlev gnttab.o \ 130 5084 johnlev hypercall.o \ 131 5084 johnlev hyperevent.o \ 132 5084 johnlev hypersubr.o \ 133 5084 johnlev mp_xen.o \ 134 5084 johnlev panic_asm.o \ 135 5084 johnlev xenguest.o \ 136 5084 johnlev xenbus_client.o \ 137 5084 johnlev xenbus_comms.o \ 138 5084 johnlev xenbus_probe.o \ 139 5084 johnlev xenbus_xs.o \ 140 5084 johnlev xen_machdep.o \ 141 5084 johnlev xen_mmu.o \ 142 5084 johnlev xpv_panic.o \ 143 5084 johnlev xvdi.o 144 5084 johnlev 145 5084 johnlev # 146 5084 johnlev # locore.o is special. It must be the first file relocated so that it 147 5084 johnlev # it is relocated just where its name implies. 148 5084 johnlev # 149 5084 johnlev SPECIAL_OBJS_32 += \ 150 5084 johnlev locore.o \ 151 5084 johnlev fast_trap_asm.o \ 152 5084 johnlev interrupt.o \ 153 5084 johnlev syscall_asm.o 154 5084 johnlev 155 5084 johnlev SPECIAL_OBJS_64 += \ 156 5084 johnlev locore.o \ 157 5084 johnlev fast_trap_asm.o \ 158 5084 johnlev interrupt.o \ 159 5084 johnlev syscall_asm_amd64.o 160 5084 johnlev 161 5084 johnlev SPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS)) 162 5084 johnlev 163 5084 johnlev # 164 5084 johnlev # object files used to boot into full kernel 165 5084 johnlev # 166 5084 johnlev DBOOT_OBJS_32 = muldiv.o 167 5084 johnlev 168 5084 johnlev DBOOT_OBJS_64 = 169 5084 johnlev 170 5084 johnlev DBOOT_OBJS += \ 171 5084 johnlev dboot_asm.o \ 172 5084 johnlev dboot_printf.o \ 173 5084 johnlev dboot_startkern.o \ 174 5084 johnlev dboot_xen.o \ 175 5084 johnlev hypercall.o \ 176 5084 johnlev hypersubr.o \ 177 5084 johnlev memcpy.o \ 178 5084 johnlev memset.o \ 179 5084 johnlev string.o \ 180 5084 johnlev $(BOOT_DRIVER_OBJS) \ 181 5084 johnlev $(DBOOT_OBJS_$(CLASS)) 182 5084 johnlev 183 5084 johnlev # 184 5084 johnlev # driver & misc modules 185 5084 johnlev # 186 6707 brutus BALLOON_OBJS += balloon_drv.o 187 6487 dm120769 DOMCAPS_OBJS += domcaps.o 188 5084 johnlev EVTCHN_OBJS += evtchn_dev.o 189 5084 johnlev GFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ 190 5084 johnlev gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o 191 6707 brutus IOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o 192 6707 brutus ISANEXUS_OBJS += isa.o dma_engine.o i8237A.o 193 5084 johnlev PCI_E_NEXUS_OBJS += npe.o npe_misc.o 194 5084 johnlev PCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o 195 5084 johnlev PCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o 196 5084 johnlev PRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o 197 5084 johnlev ROOTNEX_OBJS += rootnex.o 198 5084 johnlev XPVTOD_OBJS += xpvtod.o 199 5084 johnlev XPV_AUTOCONFIG_OBJS += xpv_autoconfig.o 200 7282 mishra XPV_PSM_OBJS += xpv_psm.o mp_platform_common.o apic_introp.o apic_regops.o psm_common.o 201 6356 mrj XPV_UPPC_OBJS += xpv_uppc.o psm_common.o 202 5084 johnlev XENBUS_OBJS += xenbus_dev.o 203 5084 johnlev XENCONS_OBJS += xencons.o 204 5084 johnlev XPVD_OBJS += xpvd.o 205 7756 Mark XPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o 206 5084 johnlev XNB_OBJS += xnb.o 207 5084 johnlev XNBE_OBJS += xnbe.o 208 5084 johnlev XNBO_OBJS += xnbo.o 209 5084 johnlev XNBU_OBJS += xnbu.o 210 5084 johnlev XNF_OBJS += xnf.o 211 5084 johnlev XSVC_OBJS += xsvc.o 212 5084 johnlev XDF_OBJS += xdf.o 213 5084 johnlev XDB_OBJS += xdb.o 214 6670 tariq XDT_OBJS += xdt.o 215 5084 johnlev 216 5084 johnlev # 217 5084 johnlev # Build up defines and paths. 218 5084 johnlev # 219 5741 mrj INC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/i86pc -I$(SRC)/common \ 220 5741 mrj -I$(UTSBASE)/common/xen 221 5084 johnlev 222 5084 johnlev # 223 5084 johnlev # Since the assym files are derived, the dependencies must be explicit for 224 5084 johnlev # all files including this file. (This is only actually required in the 225 5084 johnlev # instance when the .nse_depinfo file does not exist.) It may seem that 226 5084 johnlev # the lint targets should also have a similar dependency, but they don't 227 5084 johnlev # since only C headers are included when #defined(__lint) is true. 228 5084 johnlev # 229 5084 johnlev 230 5084 johnlev ASSYM_DEPS += \ 231 5084 johnlev copy.o \ 232 5084 johnlev desctbls_asm.o \ 233 5084 johnlev ddi_i86_asm.o \ 234 5084 johnlev exception.o \ 235 5084 johnlev fast_trap_asm.o \ 236 5084 johnlev float.o \ 237 5084 johnlev hyperevent.o \ 238 5084 johnlev i86_subr.o \ 239 5084 johnlev kdi_asm.o \ 240 5084 johnlev interrupt.o \ 241 5084 johnlev lock_prim.o \ 242 5084 johnlev locore.o \ 243 5084 johnlev panic_asm.o \ 244 5084 johnlev sseblk.o \ 245 5084 johnlev swtch.o \ 246 5084 johnlev syscall_asm.o \ 247 5084 johnlev syscall_asm_amd64.o 248 5084 johnlev 249 5084 johnlev $(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h 250 5084 johnlev 251 5084 johnlev ASSYM_DEPS += kdi_asm.o 252