# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. # # Copyright 2018 Joyent, Inc. # # This Makefile defines file modules in the directory uts/i86xpv # and its children. These are the source files which are i86xpv # "implementation architecture" dependent. # # # object lists # CORE_OBJS += \ acpi_stubs.o \ balloon.o \ biosdisk.o \ cbe.o \ cmi.o \ cmi_hw.o \ cms.o \ confunix.o \ cpuid.o \ cpuid_subr.o \ cpupm.o \ cpupm_mach.o \ dis_tables.o \ ddi_impl.o \ dtrace_subr.o \ dvma.o \ fakebop.o \ fpu_subr.o \ fastboot.o \ fb_swtch.o \ graphics.o \ hardclk.o \ hat_i86.o \ hat_kdi.o \ hment.o \ hold_page.o \ hrtimers.o \ htable.o \ i86_mmu.o \ ibft.o \ instr_size.o \ intr.o \ kboot_mmu.o \ kdi_idt.o \ kdi_idthdl.o \ kdi_asm.o \ lgrpplat.o \ mach_kdi.o \ mach_sysconfig.o \ machdep.o \ mem_config_stubs.o \ memnode.o \ microcode.o \ mlsetup.o \ mp_call.o \ mp_implfuncs.o \ mp_machdep.o \ mp_startup.o \ memscrub.o \ notes.o \ pci_bios.o \ pci_cfgacc.o \ pci_cfgacc_x86.o \ pci_cfgspace.o \ pci_mech1.o \ pci_mech2.o \ pci_neptune.o \ pci_orion.o \ pmem.o \ ppage.o \ startup.o \ ssp.o \ xpv_timestamp.o \ todpc_subr.o \ trap.o \ vm_machdep.o \ x_call.o # # Add the SMBIOS subsystem object files directly to the list of objects # built into unix itself; this is all common code except for smb_dev.c. # CORE_OBJS += $(SMBIOS_OBJS) # # These get compiled twice: # - once in the dboot (direct boot) identity mapped code # - once for use during early startup in unix # BOOT_DRIVER_OBJS = \ boot_console.o \ boot_keyboard.o \ boot_keyboard_table.o \ boot_mmu.o \ boot_vga.o \ boot_xconsole.o \ dboot_multiboot2.o \ $(FONT_OBJS) CORE_OBJS += $(BOOT_DRIVER_OBJS) # # Extra XEN files separated out for now. # CORE_OBJS += \ cpr_driver.o \ evtchn.o \ gnttab.o \ hypercall.o \ hyperevent.o \ hypersubr.o \ mp_xen.o \ panic_asm.o \ xenguest.o \ xenbus_client.o \ xenbus_comms.o \ xenbus_probe.o \ xenbus_xs.o \ xen_machdep.o \ xen_mmu.o \ xpv_panic.o \ xvdi.o # # locore.o is special. It must be the first file relocated so that it # it is relocated just where its name implies. # SPECIAL_OBJS_32 += \ locore.o \ fast_trap_asm.o \ interrupt.o \ syscall_asm.o SPECIAL_OBJS_64 += \ locore.o \ fast_trap_asm.o \ interrupt.o \ syscall_asm_amd64.o \ kpti_trampolines.o SPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS)) # # object files used to boot into full kernel # DBOOT_OBJS_32 = muldiv.o DBOOT_OBJS_64 = DBOOT_OBJS += \ dboot_asm.o \ dboot_printf.o \ dboot_startkern.o \ dboot_xen.o \ hypercall.o \ hypersubr.o \ memcpy.o \ memset.o \ string.o \ $(BOOT_DRIVER_OBJS) \ $(DBOOT_OBJS_$(CLASS)) # # driver & misc modules # BALLOON_OBJS += balloon_drv.o DOMCAPS_OBJS += domcaps.o EVTCHN_OBJS += evtchn_dev.o GFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o IOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o ISANEXUS_OBJS += isa.o dma_engine.o i8237A.o PCI_E_NEXUS_OBJS += npe.o npe_misc.o PCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o PCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o PRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o ROOTNEX_OBJS += rootnex.o XPVTOD_OBJS += xpvtod.o XPV_AUTOCONFIG_OBJS += xpv_autoconfig.o XPV_PSM_OBJS += xpv_psm.o mp_platform_common.o mp_platform_xpv.o \ apic_regops.o psm_common.o xpv_intr.o XPV_UPPC_OBJS += xpv_uppc.o psm_common.o XENBUS_OBJS += xenbus_dev.o XENCONS_OBJS += xencons.o XPVD_OBJS += xpvd.o XPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o XNB_OBJS += xnb.o XNBE_OBJS += xnbe.o XNBO_OBJS += xnbo.o XNBU_OBJS += xnbu.o XNF_OBJS += xnf.o XSVC_OBJS += xsvc.o XDF_OBJS += xdf.o XDB_OBJS += xdb.o XDT_OBJS += xdt.o # # Build up defines and paths. # INC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/i86pc -I$(SRC)/common \ -I$(UTSBASE)/common/xen # # Since the assym files are derived, the dependencies must be explicit for # all files including this file. (This is only actually required in the # instance when the .nse_depinfo file does not exist.) It may seem that # the lint targets should also have a similar dependency, but they don't # since only C headers are included when #defined(__lint) is true. # ASSYM_DEPS += \ copy.o \ desctbls_asm.o \ ddi_i86_asm.o \ exception.o \ fast_trap_asm.o \ float.o \ hyperevent.o \ i86_subr.o \ kdi_asm.o \ interrupt.o \ lock_prim.o \ locore.o \ panic_asm.o \ sseblk.o \ swtch.o \ syscall_asm.o \ syscall_asm_amd64.o $(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h