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# 33CORE_OBJS += bootops.o 34CORE_OBJS += cmp.o 35CORE_OBJS += cpc_hwreg.o 36CORE_OBJS += cpc_subr.o 37CORE_OBJS += error.o 38CORE_OBJS += fillsysinfo.o 39CORE_OBJS += forthdebug.o 40CORE_OBJS += hardclk.o 41CORE_OBJS += hat_sfmmu.o 42CORE_OBJS += hat_kdi.o 43CORE_OBJS += hsvc.o 44CORE_OBJS += iscsi_boot.o 45CORE_OBJS += kldc.o 46CORE_OBJS += lpad.o 47CORE_OBJS += mach_cpu_states.o 48CORE_OBJS += mach_ddi_impl.o 49CORE_OBJS += mach_descrip.o 50CORE_OBJS += mach_kpm.o 51CORE_OBJS += mach_mp_startup.o 52CORE_OBJS += mach_mp_states.o 53CORE_OBJS += mach_proc_init.o 54CORE_OBJS += mach_sfmmu.o 55CORE_OBJS += mach_startup.o 56CORE_OBJS += mach_subr_asm.o 57CORE_OBJS += mach_trap.o 58CORE_OBJS += mach_vm_dep.o 59CORE_OBJS += mach_xc.o 60CORE_OBJS += mem_cage.o 61CORE_OBJS += kflt_mem_stubs.o 62CORE_OBJS += mem_config.o 63CORE_OBJS += memlist_new.o 64CORE_OBJS += memseg.o 65CORE_OBJS += mpo.o 66CORE_OBJS += ppage.o 67CORE_OBJS += promif_asr.o 68CORE_OBJS += promif_cpu.o 69CORE_OBJS += promif_emul.o 70CORE_OBJS += promif_mon.o 71CORE_OBJS += promif_io.o 72CORE_OBJS += promif_interp.o 73CORE_OBJS += promif_key.o 74CORE_OBJS += promif_power_off.o 75CORE_OBJS += promif_prop.o 76CORE_OBJS += promif_node.o 77CORE_OBJS += promif_reboot.o 78CORE_OBJS += promif_stree.o 79CORE_OBJS += promif_test.o 80CORE_OBJS += promif_version.o 81CORE_OBJS += sfmmu_kdi.o 82CORE_OBJS += suspend.o 83CORE_OBJS += swtch.o 84CORE_OBJS += wdt.o 85CORE_OBJS += xhat_sfmmu.o 86 87CORE_OBJS += mdesc_diff.o 88CORE_OBJS += mdesc_findname.o 89CORE_OBJS += mdesc_findnodeprop.o 90CORE_OBJS += mdesc_fini.o 91CORE_OBJS += mdesc_getbinsize.o 92CORE_OBJS += mdesc_getgen.o 93CORE_OBJS += mdesc_getpropdata.o 94CORE_OBJS += mdesc_getpropstr.o 95CORE_OBJS += mdesc_getpropval.o 96CORE_OBJS += mdesc_init_intern.o 97CORE_OBJS += mdesc_nodecount.o 98CORE_OBJS += mdesc_rootnode.o 99CORE_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# 105SPECIAL_OBJS += trap_table.o 106SPECIAL_OBJS += locore.o 107SPECIAL_OBJS += mach_locore.o 108SPECIAL_OBJS += sfmmu_asm.o 109SPECIAL_OBJS += mach_sfmmu_asm.o 110SPECIAL_OBJS += interrupt.o 111SPECIAL_OBJS += mach_interrupt.o 112SPECIAL_OBJS += wbuf.o 113SPECIAL_OBJS += hcall.o 114SPECIAL_OBJS += intrq.o 115 116# 117# driver modules 118# 119ROOTNEX_OBJS += mach_rootnex.o 120PX_OBJS += px_lib4v.o px_err.o px_tools_4v.o px_hcall.o px_libhv.o 121FPC_OBJS += fpc-impl-4v.o fpc-asm-4v.o 122N2PIUPC_OBJS += n2piupc.o n2piupc_tables.o n2piupc_kstats.o \ 123 n2piupc_biterr.o n2piupc_asm.o 124IOSPC_OBJS += iospc.o rfios_iospc.o rfios_tables.o rfios_asm.o 125TRAPSTAT_OBJS += trapstat.o 126NIUMX_OBJS += niumx.o niumx_tools.o 127N2RNG_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# 134MEMTEST_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# 144QCN_OBJS = qcn.o 145VNEX_OBJS = vnex.o 146CNEX_OBJS = cnex.o 147GLVC_OBJS = glvc.o glvc_hcall.o 148MDESC_OBJS = mdesc.o 149LDC_OBJS = ldc.o ldc_shm.o vio_util.o vdsk_common.o vgen_stats.o \ 150 vnet_common.o 151NTWDT_OBJS = ntwdt.o 152VLDC_OBJS = vldc.o 153VCC_OBJS = vcc.o 154VNET_OBJS = vnet.o vnet_gen.o vnet_dds.o vnet_dds_hcall.o \ 155 vnet_txdring.o vnet_rxdring.o 156VSW_OBJS = vsw.o vsw_ldc.o vsw_phys.o vsw_switching.o vsw_hio.o \ 157 vsw_txdring.o vsw_rxdring.o 158VDC_OBJS = vdc.o 159VDS_OBJS = vds.o 160DS_PRI_OBJS = ds_pri.o ds_pri_hcall.o 161DS_SNMP_OBJS = ds_snmp.o 162VLDS_OBJS = vlds.o 163 164# 165# Misc modules 166# 167BOOTDEV_OBJS += bootdev.o 168DR_CPU_OBJS += dr_cpu.o 169DR_IO_OBJS += dr_io.o 170DR_MEM_OBJS += dr_mem.o 171DRCTL_OBJS = drctl.o drctl_impl.o dr_util.o 172DS_OBJS = ds_common.o ds_drv.o 173FAULT_ISO_OBJS = fault_iso.o 174OBPSYM_OBJS += obpsym.o obpsym_1275.o 175PLATSVC_OBJS = platsvc.o mdeg.o 176PCIE_MISC_OBJS += pci_cfgacc_4v.o pci_cfgacc_asm.o pci_cfgacc.o 177 178# 179# Brand modules 180# 181SN1_BRAND_OBJS = sn1_brand.o sn1_brand_asm.o 182S10_BRAND_OBJS = s10_brand.o s10_brand_asm.o 183 184# 185# Performance Counter BackEnd (PCBE) Modules 186# 187NI_PCBE_OBJS = niagara_pcbe.o 188N2_PCBE_OBJS = niagara2_pcbe.o 189 190# 191# cpu modules 192# 193CPU_OBJ += $(OBJS_DIR)/mach_cpu_module.o 194GENERIC_OBJS = generic.o generic_copy.o common_asm.o atomic.o 195NIAGARACPU_OBJS = niagara.o niagara_copy.o common_asm.o niagara_perfctr.o 196NIAGARACPU_OBJS += niagara_asm.o atomic.o 197NIAGARA2CPU_OBJS = niagara2.o niagara_copy.o common_asm.o niagara_perfctr.o 198NIAGARA2CPU_OBJS += niagara2_asm.o atomic.o 199 200# 201# platform module 202# 203PLATMOD_OBJS = platmod.o 204 205# Section 3: Misc. 206# 207ALL_DEFS += -Dsun4u -Dsun4v 208INC_PATH += -I$(UTSBASE)/sun4v 209# 210# Since assym.h is a derived file, the dependency must be explicit for 211# all files including this file. (This is only actually required in the 212# instance when the .make.state file does not exist.) It may seem that 213# the lint targets should also have a similar dependency, but they don't 214# since only C headers are included when #defined(lint) is true. 215# 216ASSYM_DEPS += mach_locore.o 217ASSYM_DEPS += module_sfmmu_asm.o 218ASSYM_DEPS += generic_asm.o generic_copy.o 219ASSYM_DEPS += niagara_copy.o niagara_asm.o niagara2_asm.o 220ASSYM_DEPS += mach_subr_asm.o swtch.o 221ASSYM_DEPS += mach_interrupt.o mach_xc.o 222ASSYM_DEPS += trap_table.o wbuf.o 223ASSYM_DEPS += mach_sfmmu_asm.o sfmmu_asm.o 224 225# 226# kernel cryptographic framework 227# 228 229ARCFOUR_OBJS += arcfour.o arcfour_crypt.o 230 231