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 2008 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 sun4u
     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 +=	lpad.o
     46 CORE_OBJS +=	mach_cpu_states.o
     47 CORE_OBJS +=	mach_ddi_impl.o
     48 CORE_OBJS +=	mach_descrip.o
     49 CORE_OBJS +=	mach_kpm.o
     50 CORE_OBJS +=	mach_mp_startup.o
     51 CORE_OBJS +=	mach_mp_states.o
     52 CORE_OBJS +=	mach_proc_init.o
     53 CORE_OBJS +=	mach_sfmmu.o
     54 CORE_OBJS +=	mach_startup.o
     55 CORE_OBJS +=	mach_subr_asm.o
     56 CORE_OBJS +=	mach_trap.o
     57 CORE_OBJS +=	mach_vm_dep.o
     58 CORE_OBJS +=	mach_xc.o
     59 CORE_OBJS +=	mem_cage.o
     60 CORE_OBJS +=	mem_config.o
     61 CORE_OBJS +=	memlist_new.o
     62 CORE_OBJS +=	mpo.o
     63 CORE_OBJS +=	ppage.o
     64 CORE_OBJS +=	promif_asr.o
     65 CORE_OBJS +=	promif_cpu.o
     66 CORE_OBJS +=	promif_emul.o
     67 CORE_OBJS +=	promif_mon.o
     68 CORE_OBJS +=	promif_io.o
     69 CORE_OBJS +=	promif_interp.o
     70 CORE_OBJS +=	promif_key.o
     71 CORE_OBJS +=	promif_power_off.o
     72 CORE_OBJS +=	promif_prop.o
     73 CORE_OBJS +=	promif_node.o
     74 CORE_OBJS +=	promif_reboot.o
     75 CORE_OBJS +=	promif_stree.o
     76 CORE_OBJS +=	promif_test.o
     77 CORE_OBJS +=	promif_version.o
     78 CORE_OBJS +=	sfmmu_kdi.o
     79 CORE_OBJS +=	swtch.o
     80 CORE_OBJS +=	wdt.o
     81 CORE_OBJS +=	xhat_sfmmu.o
     82 
     83 CORE_OBJS +=	mdesc_diff.o
     84 CORE_OBJS +=	mdesc_findname.o
     85 CORE_OBJS +=	mdesc_findnodeprop.o
     86 CORE_OBJS +=	mdesc_fini.o
     87 CORE_OBJS +=	mdesc_getbinsize.o
     88 CORE_OBJS +=	mdesc_getgen.o
     89 CORE_OBJS +=	mdesc_getpropdata.o
     90 CORE_OBJS +=	mdesc_getpropstr.o
     91 CORE_OBJS +=	mdesc_getpropval.o
     92 CORE_OBJS +=	mdesc_init_intern.o
     93 CORE_OBJS +=	mdesc_nodecount.o
     94 CORE_OBJS +=	mdesc_rootnode.o
     95 CORE_OBJS +=	mdesc_scandag.o
     96 
     97 #
     98 #	Some objects must be linked at the front of the image (or
     99 #	near other objects at the front of the image).
    100 #
    101 SPECIAL_OBJS +=	trap_table.o
    102 SPECIAL_OBJS +=	locore.o
    103 SPECIAL_OBJS +=	mach_locore.o
    104 SPECIAL_OBJS +=	sfmmu_asm.o
    105 SPECIAL_OBJS +=	mach_sfmmu_asm.o
    106 SPECIAL_OBJS +=	interrupt.o
    107 SPECIAL_OBJS +=	mach_interrupt.o
    108 SPECIAL_OBJS +=	wbuf.o
    109 SPECIAL_OBJS += hcall.o
    110 SPECIAL_OBJS += intrq.o
    111 
    112 #
    113 #			driver modules
    114 #
    115 ROOTNEX_OBJS	+= mach_rootnex.o
    116 PX_OBJS		+= px_lib4v.o px_err.o px_tools_4v.o px_hcall.o px_libhv.o 
    117 FPC_OBJS	+= fpc-impl-4v.o fpc-asm-4v.o
    118 N2PIUPC_OBJS	+= n2piupc.o n2piupc_tables.o n2piupc_kstats.o \
    119 			n2piupc_biterr.o n2piupc_asm.o
    120 TRAPSTAT_OBJS	+= trapstat.o
    121 NIUMX_OBJS	+= niumx.o
    122 N2RNG_OBJS	+= n2rng.o n2rng_debug.o n2rng_hcall.o n2rng_kcf.o \
    123 		   n2rng_entp_algs.o n2rng_entp_setup.o n2rng_kstat.o \
    124 		   n2rng_provider.o
    125 
    126 #
    127 # 			CPU/Memory Error Injector (memtest) sun4v driver
    128 #
    129 MEMTEST_OBJS	+= memtest.o memtest_asm.o \
    130 			memtest_v.o memtest_v_asm.o \
    131 			memtest_ni.o memtest_ni_asm.o \
    132 			memtest_n2.o memtest_n2_asm.o \
    133 			memtest_vf.o
    134 
    135 #
    136 #			sun4v virtual devices
    137 #
    138 QCN_OBJS	= qcn.o
    139 VNEX_OBJS	= vnex.o
    140 CNEX_OBJS	= cnex.o
    141 GLVC_OBJS	= glvc.o glvc_hcall.o
    142 MDESC_OBJS	= mdesc.o
    143 LDC_OBJS	= ldc.o ldc_shm.o vio_util.o vdsk_common.o vgen_stats.o \
    144 			vnet_common.o
    145 NTWDT_OBJS	= ntwdt.o
    146 VLDC_OBJS	= vldc.o
    147 VCC_OBJS	= vcc.o
    148 VNET_OBJS	= vnet.o vnet_gen.o vnet_dds.o vnet_dds_hcall.o
    149 VSW_OBJS	= vsw.o vsw_ldc.o vsw_phys.o vsw_switching.o vsw_hio.o
    150 VDC_OBJS	= vdc.o
    151 VDS_OBJS	= vds.o
    152 DS_PRI_OBJS	= ds_pri.o
    153 DS_SNMP_OBJS	= ds_snmp.o
    154 VLDS_OBJS	= vlds.o
    155 
    156 #
    157 #			Misc modules
    158 #
    159 BOOTDEV_OBJS	+= bootdev.o
    160 DR_CPU_OBJS	+= dr_cpu.o
    161 DR_IO_OBJS	+= dr_io.o
    162 DRCTL_OBJS	= drctl.o drctl_impl.o dr_util.o
    163 DS_OBJS		= ds_common.o ds_drv.o
    164 FAULT_ISO_OBJS	= fault_iso.o
    165 OBPSYM_OBJS	+= obpsym.o obpsym_1275.o
    166 PLATSVC_OBJS	= platsvc.o mdeg.o
    167 
    168 #
    169 #			Brand modules
    170 #
    171 SN1_BRAND_OBJS		= sn1_brand.o sn1_brand_asm.o
    172 
    173 #
    174 #			Performance Counter BackEnd (PCBE) Modules
    175 #
    176 NI_PCBE_OBJS	= niagara_pcbe.o
    177 N2_PCBE_OBJS	= niagara2_pcbe.o
    178 RK_PCBE_OBJS	= rock_pcbe.o
    179 
    180 #
    181 #			cpu modules
    182 #
    183 CPU_OBJ		+= $(OBJS_DIR)/mach_cpu_module.o
    184 GENERIC_OBJS = generic.o generic_copy.o common_asm.o atomic.o
    185 NIAGARACPU_OBJS = niagara.o niagara_copy.o common_asm.o niagara_perfctr.o
    186 NIAGARACPU_OBJS += niagara_asm.o atomic.o
    187 NIAGARA2CPU_OBJS = niagara2.o niagara_copy.o common_asm.o niagara_perfctr.o
    188 NIAGARA2CPU_OBJS += niagara2_asm.o atomic.o
    189 ROCKCPU_OBJS = rock.o rock_copy.o common_asm.o rock_atomic.o rock_asm.o 
    190 
    191 #
    192 #			platform module
    193 #
    194 PLATMOD_OBJS	= platmod.o
    195 
    196 #	Section 3:	Misc.
    197 #
    198 ALL_DEFS	+= -Dsun4u -Dsun4v
    199 INC_PATH	+= -I$(UTSBASE)/sun4v
    200 #
    201 # Since assym.h is a derived file, the dependency must be explicit for
    202 # all files including this file. (This is only actually required in the
    203 # instance when the .make.state file does not exist.) It may seem that
    204 # the lint targets should also have a similar dependency, but they don't
    205 # since only C headers are included when #defined(lint) is true.
    206 #
    207 ASSYM_DEPS	+= mach_locore.o
    208 ASSYM_DEPS	+= module_sfmmu_asm.o
    209 ASSYM_DEPS	+= generic_asm.o generic_copy.o
    210 ASSYM_DEPS	+= niagara_copy.o niagara_asm.o niagara2_asm.o
    211 ASSYM_DEPS	+= mach_subr_asm.o swtch.o
    212 ASSYM_DEPS	+= mach_interrupt.o mach_xc.o
    213 ASSYM_DEPS	+= trap_table.o wbuf.o
    214 ASSYM_DEPS	+= mach_sfmmu_asm.o sfmmu_asm.o
    215 
    216 #
    217 #			kernel cryptographic framework
    218 #
    219 
    220 ARCFOUR_OBJS	+= arcfour.o arcfour_crypt.o
    221 
    222