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 (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  24 #
  25 #       This Makefile defines all file modules for the directory uts/sun4v
  26 #       and it's children. These are the source files which are sun4v
  27 #       "implementation architecture" dependent.
  28 #
  29 
  30 #
  31 #       object lists
  32 #
  33 CORE_OBJS +=    bootops.o
  34 CORE_OBJS +=    cmp.o
  35 CORE_OBJS +=    cpc_hwreg.o
  36 CORE_OBJS +=    cpc_subr.o
  37 CORE_OBJS +=    error.o
  38 CORE_OBJS +=    fillsysinfo.o
  39 CORE_OBJS +=    forthdebug.o
  40 CORE_OBJS +=    hardclk.o
  41 CORE_OBJS +=    hat_sfmmu.o
  42 CORE_OBJS +=    hat_kdi.o
  43 CORE_OBJS +=    hsvc.o
  44 CORE_OBJS +=    iscsi_boot.o
  45 CORE_OBJS +=    kldc.o
  46 CORE_OBJS +=    lpad.o
  47 CORE_OBJS +=    mach_cpu_states.o
  48 CORE_OBJS +=    mach_ddi_impl.o
  49 CORE_OBJS +=    mach_descrip.o
  50 CORE_OBJS +=    mach_kpm.o
  51 CORE_OBJS +=    mach_mp_startup.o
  52 CORE_OBJS +=    mach_mp_states.o
  53 CORE_OBJS +=    mach_proc_init.o
  54 CORE_OBJS +=    mach_sfmmu.o
  55 CORE_OBJS +=    mach_startup.o
  56 CORE_OBJS +=    mach_subr_asm.o
  57 CORE_OBJS +=    mach_trap.o
  58 CORE_OBJS +=    mach_vm_dep.o
  59 CORE_OBJS +=    mach_xc.o
  60 CORE_OBJS +=    mem_cage.o
  61 CORE_OBJS +=    mem_config.o
  62 CORE_OBJS +=    memlist_new.o
  63 CORE_OBJS +=    memseg.o
  64 CORE_OBJS +=    mpo.o
  65 CORE_OBJS +=    ppage.o
  66 CORE_OBJS +=    promif_asr.o
  67 CORE_OBJS +=    promif_cpu.o
  68 CORE_OBJS +=    promif_emul.o
  69 CORE_OBJS +=    promif_mon.o
  70 CORE_OBJS +=    promif_io.o
  71 CORE_OBJS +=    promif_interp.o
  72 CORE_OBJS +=    promif_key.o
  73 CORE_OBJS +=    promif_power_off.o
  74 CORE_OBJS +=    promif_prop.o
  75 CORE_OBJS +=    promif_node.o
  76 CORE_OBJS +=    promif_reboot.o
  77 CORE_OBJS +=    promif_stree.o
  78 CORE_OBJS +=    promif_test.o
  79 CORE_OBJS +=    promif_version.o
  80 CORE_OBJS +=    sfmmu_kdi.o
  81 CORE_OBJS +=    suspend.o
  82 CORE_OBJS +=    swtch.o
  83 CORE_OBJS +=    wdt.o
  84 
  85 CORE_OBJS +=    mdesc_diff.o
  86 CORE_OBJS +=    mdesc_findname.o
  87 CORE_OBJS +=    mdesc_findnodeprop.o
  88 CORE_OBJS +=    mdesc_fini.o
  89 CORE_OBJS +=    mdesc_getbinsize.o
  90 CORE_OBJS +=    mdesc_getgen.o
  91 CORE_OBJS +=    mdesc_getpropdata.o
  92 CORE_OBJS +=    mdesc_getpropstr.o
  93 CORE_OBJS +=    mdesc_getpropval.o
  94 CORE_OBJS +=    mdesc_init_intern.o
  95 CORE_OBJS +=    mdesc_nodecount.o
  96 CORE_OBJS +=    mdesc_rootnode.o
  97 CORE_OBJS +=    mdesc_scandag.o
  98 
  99 #
 100 #       Some objects must be linked at the front of the image (or
 101 #       near other objects at the front of the image).
 102 #
 103 SPECIAL_OBJS += trap_table.o
 104 SPECIAL_OBJS += locore.o
 105 SPECIAL_OBJS += mach_locore.o
 106 SPECIAL_OBJS += sfmmu_asm.o
 107 SPECIAL_OBJS += mach_sfmmu_asm.o
 108 SPECIAL_OBJS += interrupt.o
 109 SPECIAL_OBJS += mach_interrupt.o
 110 SPECIAL_OBJS += wbuf.o
 111 SPECIAL_OBJS += hcall.o
 112 SPECIAL_OBJS += intrq.o
 113 
 114 #
 115 #                       driver modules
 116 #
 117 ROOTNEX_OBJS    += mach_rootnex.o
 118 PX_OBJS         += px_lib4v.o px_err.o px_tools_4v.o px_hcall.o px_libhv.o 
 119 FPC_OBJS        += fpc-impl-4v.o fpc-asm-4v.o
 120 N2PIUPC_OBJS    += n2piupc.o n2piupc_tables.o n2piupc_kstats.o \
 121                         n2piupc_biterr.o n2piupc_asm.o
 122 IOSPC_OBJS      += iospc.o rfios_iospc.o rfios_tables.o rfios_asm.o
 123 TRAPSTAT_OBJS   += trapstat.o
 124 NIUMX_OBJS      += niumx.o niumx_tools.o
 125 N2RNG_OBJS      += n2rng.o n2rng_debug.o n2rng_hcall.o n2rng_kcf.o \
 126                    n2rng_entp_algs.o n2rng_entp_setup.o n2rng_kstat.o \
 127                    n2rng_provider.o
 128 
 129 #
 130 #                       CPU/Memory Error Injector (memtest) sun4v driver
 131 #
 132 MEMTEST_OBJS    += memtest.o memtest_asm.o \
 133                         memtest_v.o memtest_v_asm.o \
 134                         memtest_kt.o memtest_kt_asm.o \
 135                         memtest_ni.o memtest_ni_asm.o \
 136                         memtest_n2.o memtest_n2_asm.o \
 137                         memtest_vf.o
 138 
 139 #
 140 #                       sun4v virtual devices
 141 #
 142 QCN_OBJS        = qcn.o
 143 VNEX_OBJS       = vnex.o
 144 CNEX_OBJS       = cnex.o
 145 GLVC_OBJS       = glvc.o glvc_hcall.o
 146 MDESC_OBJS      = mdesc.o
 147 LDC_OBJS        = ldc.o ldc_shm.o vio_util.o vdsk_common.o vgen_stats.o \
 148                         vnet_common.o
 149 NTWDT_OBJS      = ntwdt.o
 150 VLDC_OBJS       = vldc.o
 151 VCC_OBJS        = vcc.o
 152 VNET_OBJS       = vnet.o vnet_gen.o vnet_dds.o vnet_dds_hcall.o         \
 153                         vnet_txdring.o  vnet_rxdring.o
 154 VSW_OBJS        = vsw.o vsw_ldc.o vsw_phys.o vsw_switching.o vsw_hio.o  \
 155                         vsw_txdring.o   vsw_rxdring.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