Home | History | Annotate | Download | only in sun4v
      1 #
      2 # CDDL HEADER START
      3 #
      4 # The contents of this file are subject to the terms of the
      5 # Common Development and Distribution License (the "License").
      6 # You may not use this file except in compliance with the License.
      7 #
      8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9 # or http://www.opensolaris.org/os/licensing.
     10 # See the License for the specific language governing permissions
     11 # and limitations under the License.
     12 #
     13 # When distributing Covered Code, include this CDDL HEADER in each
     14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15 # If applicable, add the following below this CDDL HEADER, with the
     16 # fields enclosed by brackets "[]" replaced with your own identifying
     17 # information: Portions Copyright [yyyy] [name of copyright owner]
     18 #
     19 # CDDL HEADER END
     20 #
     21 
     22 #
     23 # Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 #	This Makefile defines all file modules for the directory uts/sun4v
     27 #	and it's children. These are the source files which are sun4v
     28 #	"implementation architecture" dependent.
     29 #
     30 
     31 #
     32 #	object lists
     33 #
     34 CORE_OBJS +=	bootops.o
     35 CORE_OBJS +=	cmp.o
     36 CORE_OBJS +=	cpc_hwreg.o
     37 CORE_OBJS +=	cpc_subr.o
     38 CORE_OBJS +=	error.o
     39 CORE_OBJS +=	fillsysinfo.o
     40 CORE_OBJS +=	forthdebug.o
     41 CORE_OBJS +=	hardclk.o
     42 CORE_OBJS +=	hat_sfmmu.o
     43 CORE_OBJS +=	hat_kdi.o
     44 CORE_OBJS +=	hsvc.o
     45 CORE_OBJS +=	iscsi_boot.o
     46 CORE_OBJS +=	kldc.o
     47 CORE_OBJS +=	lpad.o
     48 CORE_OBJS +=	mach_cpu_states.o
     49 CORE_OBJS +=	mach_ddi_impl.o
     50 CORE_OBJS +=	mach_descrip.o
     51 CORE_OBJS +=	mach_kpm.o
     52 CORE_OBJS +=	mach_mp_startup.o
     53 CORE_OBJS +=	mach_mp_states.o
     54 CORE_OBJS +=	mach_proc_init.o
     55 CORE_OBJS +=	mach_sfmmu.o
     56 CORE_OBJS +=	mach_startup.o
     57 CORE_OBJS +=	mach_subr_asm.o
     58 CORE_OBJS +=	mach_trap.o
     59 CORE_OBJS +=	mach_vm_dep.o
     60 CORE_OBJS +=	mach_xc.o
     61 CORE_OBJS +=	mem_cage.o
     62 CORE_OBJS +=	mem_config.o
     63 CORE_OBJS +=	memlist_new.o
     64 CORE_OBJS +=	memseg.o
     65 CORE_OBJS +=	mpo.o
     66 CORE_OBJS +=	ppage.o
     67 CORE_OBJS +=	promif_asr.o
     68 CORE_OBJS +=	promif_cpu.o
     69 CORE_OBJS +=	promif_emul.o
     70 CORE_OBJS +=	promif_mon.o
     71 CORE_OBJS +=	promif_io.o
     72 CORE_OBJS +=	promif_interp.o
     73 CORE_OBJS +=	promif_key.o
     74 CORE_OBJS +=	promif_power_off.o
     75 CORE_OBJS +=	promif_prop.o
     76 CORE_OBJS +=	promif_node.o
     77 CORE_OBJS +=	promif_reboot.o
     78 CORE_OBJS +=	promif_stree.o
     79 CORE_OBJS +=	promif_test.o
     80 CORE_OBJS +=	promif_version.o
     81 CORE_OBJS +=	sfmmu_kdi.o
     82 CORE_OBJS +=	suspend.o
     83 CORE_OBJS +=	swtch.o
     84 CORE_OBJS +=	wdt.o
     85 CORE_OBJS +=	xhat_sfmmu.o
     86 
     87 CORE_OBJS +=	mdesc_diff.o
     88 CORE_OBJS +=	mdesc_findname.o
     89 CORE_OBJS +=	mdesc_findnodeprop.o
     90 CORE_OBJS +=	mdesc_fini.o
     91 CORE_OBJS +=	mdesc_getbinsize.o
     92 CORE_OBJS +=	mdesc_getgen.o
     93 CORE_OBJS +=	mdesc_getpropdata.o
     94 CORE_OBJS +=	mdesc_getpropstr.o
     95 CORE_OBJS +=	mdesc_getpropval.o
     96 CORE_OBJS +=	mdesc_init_intern.o
     97 CORE_OBJS +=	mdesc_nodecount.o
     98 CORE_OBJS +=	mdesc_rootnode.o
     99 CORE_OBJS +=	mdesc_scandag.o
    100 
    101 #
    102 #	Some objects must be linked at the front of the image (or
    103 #	near other objects at the front of the image).
    104 #
    105 SPECIAL_OBJS +=	trap_table.o
    106 SPECIAL_OBJS +=	locore.o
    107 SPECIAL_OBJS +=	mach_locore.o
    108 SPECIAL_OBJS +=	sfmmu_asm.o
    109 SPECIAL_OBJS +=	mach_sfmmu_asm.o
    110 SPECIAL_OBJS +=	interrupt.o
    111 SPECIAL_OBJS +=	mach_interrupt.o
    112 SPECIAL_OBJS +=	wbuf.o
    113 SPECIAL_OBJS += hcall.o
    114 SPECIAL_OBJS += intrq.o
    115 
    116 #
    117 #			driver modules
    118 #
    119 ROOTNEX_OBJS	+= mach_rootnex.o
    120 PX_OBJS		+= px_lib4v.o px_err.o px_tools_4v.o px_hcall.o px_libhv.o 
    121 FPC_OBJS	+= fpc-impl-4v.o fpc-asm-4v.o
    122 N2PIUPC_OBJS	+= n2piupc.o n2piupc_tables.o n2piupc_kstats.o \
    123 			n2piupc_biterr.o n2piupc_asm.o
    124 IOSPC_OBJS	+= iospc.o rfios_iospc.o rfios_tables.o rfios_asm.o
    125 TRAPSTAT_OBJS	+= trapstat.o
    126 NIUMX_OBJS	+= niumx.o niumx_tools.o
    127 N2RNG_OBJS	+= n2rng.o n2rng_debug.o n2rng_hcall.o n2rng_kcf.o \
    128 		   n2rng_entp_algs.o n2rng_entp_setup.o n2rng_kstat.o \
    129 		   n2rng_provider.o
    130 
    131 #
    132 # 			CPU/Memory Error Injector (memtest) sun4v driver
    133 #
    134 MEMTEST_OBJS	+= memtest.o memtest_asm.o \
    135 			memtest_v.o memtest_v_asm.o \
    136 			memtest_kt.o memtest_kt_asm.o \
    137 			memtest_ni.o memtest_ni_asm.o \
    138 			memtest_n2.o memtest_n2_asm.o \
    139 			memtest_vf.o
    140 
    141 #
    142 #			sun4v virtual devices
    143 #
    144 QCN_OBJS	= qcn.o
    145 VNEX_OBJS	= vnex.o
    146 CNEX_OBJS	= cnex.o
    147 GLVC_OBJS	= glvc.o glvc_hcall.o
    148 MDESC_OBJS	= mdesc.o
    149 LDC_OBJS	= ldc.o ldc_shm.o vio_util.o vdsk_common.o vgen_stats.o \
    150 			vnet_common.o
    151 NTWDT_OBJS	= ntwdt.o
    152 VLDC_OBJS	= vldc.o
    153 VCC_OBJS	= vcc.o
    154 VNET_OBJS	= vnet.o vnet_gen.o vnet_dds.o vnet_dds_hcall.o
    155 VSW_OBJS	= vsw.o vsw_ldc.o vsw_phys.o vsw_switching.o vsw_hio.o
    156 VDC_OBJS	= vdc.o
    157 VDS_OBJS	= vds.o
    158 DS_PRI_OBJS	= ds_pri.o ds_pri_hcall.o
    159 DS_SNMP_OBJS	= ds_snmp.o
    160 VLDS_OBJS	= vlds.o
    161 
    162 #
    163 #			Misc modules
    164 #
    165 BOOTDEV_OBJS	+= bootdev.o
    166 DR_CPU_OBJS	+= dr_cpu.o
    167 DR_IO_OBJS	+= dr_io.o
    168 DR_MEM_OBJS	+= dr_mem.o
    169 DRCTL_OBJS	= drctl.o drctl_impl.o dr_util.o
    170 DS_OBJS		= ds_common.o ds_drv.o
    171 FAULT_ISO_OBJS	= fault_iso.o
    172 OBPSYM_OBJS	+= obpsym.o obpsym_1275.o
    173 PLATSVC_OBJS	= platsvc.o mdeg.o
    174 PCIE_MISC_OBJS += pci_cfgacc_4v.o pci_cfgacc_asm.o pci_cfgacc.o
    175 
    176 #
    177 #			Brand modules
    178 #
    179 SN1_BRAND_OBJS		= sn1_brand.o sn1_brand_asm.o
    180 S10_BRAND_OBJS		= s10_brand.o s10_brand_asm.o
    181 
    182 #
    183 #			Performance Counter BackEnd (PCBE) Modules
    184 #
    185 NI_PCBE_OBJS	= niagara_pcbe.o
    186 N2_PCBE_OBJS	= niagara2_pcbe.o
    187 
    188 #
    189 #			cpu modules
    190 #
    191 CPU_OBJ		+= $(OBJS_DIR)/mach_cpu_module.o
    192 GENERIC_OBJS = generic.o generic_copy.o common_asm.o atomic.o
    193 NIAGARACPU_OBJS = niagara.o niagara_copy.o common_asm.o niagara_perfctr.o
    194 NIAGARACPU_OBJS += niagara_asm.o atomic.o
    195 NIAGARA2CPU_OBJS = niagara2.o niagara_copy.o common_asm.o niagara_perfctr.o
    196 NIAGARA2CPU_OBJS += niagara2_asm.o atomic.o
    197 
    198 #
    199 #			platform module
    200 #
    201 PLATMOD_OBJS	= platmod.o
    202 
    203 #	Section 3:	Misc.
    204 #
    205 ALL_DEFS	+= -Dsun4u -Dsun4v
    206 INC_PATH	+= -I$(UTSBASE)/sun4v
    207 #
    208 # Since assym.h is a derived file, the dependency must be explicit for
    209 # all files including this file. (This is only actually required in the
    210 # instance when the .make.state file does not exist.) It may seem that
    211 # the lint targets should also have a similar dependency, but they don't
    212 # since only C headers are included when #defined(lint) is true.
    213 #
    214 ASSYM_DEPS	+= mach_locore.o
    215 ASSYM_DEPS	+= module_sfmmu_asm.o
    216 ASSYM_DEPS	+= generic_asm.o generic_copy.o
    217 ASSYM_DEPS	+= niagara_copy.o niagara_asm.o niagara2_asm.o
    218 ASSYM_DEPS	+= mach_subr_asm.o swtch.o
    219 ASSYM_DEPS	+= mach_interrupt.o mach_xc.o
    220 ASSYM_DEPS	+= trap_table.o wbuf.o
    221 ASSYM_DEPS	+= mach_sfmmu_asm.o sfmmu_asm.o
    222 
    223 #
    224 #			kernel cryptographic framework
    225 #
    226 
    227 ARCFOUR_OBJS	+= arcfour.o arcfour_crypt.o
    228 
    229