Home | History | Annotate | Download | only in i86xpv
      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