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