xref: /titanic_52/usr/src/uts/i86xpv/Makefile.files (revision 6cefaae1e90a413ba01560575bb3998e1a3df40e)
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