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.
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.
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]
23 # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
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.
33 CORE_OBJS += bootops.o
35 CORE_OBJS += cpc_hwreg.o
36 CORE_OBJS += cpc_subr.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
44 CORE_OBJS += iscsi_boot.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
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
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
100 # Some objects must be linked at the front of the image (or
101 # near other objects at the front of the image).
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
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 \
130 # CPU/Memory Error Injector (memtest) sun4v driver
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 \
140 # sun4v virtual devices
145 GLVC_OBJS = glvc.o glvc_hcall.o
147 LDC_OBJS = ldc.o ldc_shm.o vio_util.o vdsk_common.o vgen_stats.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
158 DS_PRI_OBJS = ds_pri.o ds_pri_hcall.o
159 DS_SNMP_OBJS = ds_snmp.o
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
179 SN1_BRAND_OBJS = sn1_brand.o sn1_brand_asm.o
180 S10_BRAND_OBJS = s10_brand.o s10_brand_asm.o
183 # Performance Counter BackEnd (PCBE) Modules
185 NI_PCBE_OBJS = niagara_pcbe.o
186 N2_PCBE_OBJS = niagara2_pcbe.o
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
201 PLATMOD_OBJS = platmod.o
205 ALL_DEFS += -Dsun4u -Dsun4v
206 INC_PATH += -I$(UTSBASE)/sun4v
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.
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
224 # kernel cryptographic framework
227 ARCFOUR_OBJS += arcfour.o arcfour_crypt.o