Print this page
remove inlines,some other files
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/i86xpv/Makefile.i86xpv
+++ new/usr/src/uts/i86xpv/Makefile.i86xpv
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21
22 22 #
23 23 # uts/i86xpv/Makefile.i86xpv
24 24 #
25 25 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
26 26 # Use is subject to license terms.
27 27 # Copyright (c) 2013 Andrew Stormont. All rights reserved.
28 +# Copyright 2019 Joyent, Inc.
28 29 #
29 30
30 31 #
31 32 # This makefile contains the common definitions for the i86xpv unix
32 33 # and all i86xpv implementation architecture dependent modules.
33 34 #
34 35
35 36 #
36 37 # Machine type (implementation architecture):
37 38 #
38 39 PLATFORM = i86xpv
39 40
40 41 #
41 42 # uname -m value
42 43 #
43 44 UNAME_M = i86pc
44 45
45 46 #
46 47 # Everybody needs to know how to build modstubs.o and to locate unix.o
47 48 #
48 49 UNIX_DIR = $(UTSBASE)/$(PLATFORM)/unix
49 50 GENLIB_DIR = $(UTSBASE)/intel/genunix
50 51 MODSTUBS_DIR = $(UNIX_DIR)
51 52 DSF_DIR = $(UTSBASE)/$(PLATFORM)/genassym
52 53 LINTS_DIR = $(OBJS_DIR)
53 54 LINT_LIB_DIR = $(UTSBASE)/$(PLATFORM)/lint-libs/$(OBJS_DIR)
54 55 GEN_LINT_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)
55 56
56 57 DTRACESTUBS_O = $(OBJS_DIR)/dtracestubs.o
57 58 DTRACESTUBS = $(OBJS_DIR)/libdtracestubs.so
58 59
59 60 SYM_MOD = $(OBJS_DIR)/unix.sym
60 61
61 62 UNIX_O = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
62 63 MODSTUBS_O = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o
63 64 GENLIB = $(GENLIB_DIR)/$(OBJS_DIR)/libgenunix.so
64 65 LINT_LIB = $(LINT_LIB_DIR)/llib-lunix.ln
65 66 DBOOT_LINT_LIB = $(LINT_LIB_DIR)/llib-ldboot.ln
66 67 GEN_LINT_LIB = $(GEN_LINT_LIB_DIR)/llib-lgenunix.ln
67 68
68 69 LINT32_DIRS = $(LINT32_BUILDS:%=$(UTSBASE)/$(PLATFORM)/lint-libs/%)
69 70 LINT32_FILES = $(LINT32_DIRS:%=%/llib-l$(MODULE).ln)
70 71
71 72 #
72 73 # Include the makefiles which define build rule templates, the
73 74 # collection of files per module, and a few specific flags. Note
74 75 # that order is significant, just as with an include path. The
75 76 # first build rule template which matches the files name will be
76 77 # used. By including these in order from most machine dependent
77 78 # to most machine independent, we allow a machine dependent file
78 79 # to be used in preference over a machine independent version
79 80 # (Such as a machine specific optimization, which preserves the
80 81 # interfaces.)
81 82 #
82 83 include $(UTSBASE)/$(PLATFORM)/Makefile.files
83 84 include $(UTSBASE)/intel/Makefile.files
84 85 include $(UTSBASE)/common/Makefile.files
85 86
86 87 #
87 88 # Include machine independent rules. Note that this does not imply
88 89 # that the resulting module from rules in Makefile.uts is machine
89 90 # independent. Only that the build rules are machine independent.
↓ open down ↓ |
52 lines elided |
↑ open up ↑ |
90 91 #
91 92 include $(UTSBASE)/Makefile.uts
92 93
93 94 #
94 95 # Define supported builds
95 96 #
96 97 DEF_BUILDS = $(DEF_BUILDS64)
97 98 ALL_BUILDS = $(ALL_BUILDS64)
98 99
99 100 #
100 -# x86 or amd64 inline templates
101 -#
102 -INLINES_32 = $(UTSBASE)/intel/ia32/ml/ia32.il \
103 - $(UTSBASE)/$(PLATFORM)/ml/ia32.il
104 -INLINES_64 = $(UTSBASE)/intel/amd64/ml/amd64.il \
105 - $(UTSBASE)/$(PLATFORM)/ml/amd64.il
106 -INLINES += $(INLINES_$(CLASS))
107 -
108 -#
109 101 # kernel-specific optimizations; override default in Makefile.master
110 102 #
111 103
112 104 CFLAGS_XARCH_32 = $(i386_CFLAGS)
113 105 CFLAGS_XARCH_64 = $(amd64_CFLAGS)
114 106 CFLAGS_XARCH = $(CFLAGS_XARCH_$(CLASS))
115 107
116 108 COPTFLAG_32 = $(COPTFLAG)
117 109 COPTFLAG_64 = $(COPTFLAG64)
118 110 COPTIMIZE = $(COPTFLAG_$(CLASS))
119 111
120 112 CFLAGS = $(CFLAGS_XARCH)
121 113 CFLAGS += $(COPTIMIZE)
122 -CFLAGS += $(INLINES) -D_ASM_INLINES
114 +CFLAGS += -D_ASM_INLINES
123 115 CFLAGS += $(CCMODE)
124 116 CFLAGS += $(SPACEFLAG)
125 117 CFLAGS += $(CCUNBOUND)
126 118 CFLAGS += $(CFLAGS_uts)
127 119
128 120 ASFLAGS_XARCH_32 = $(i386_ASFLAGS)
129 121 ASFLAGS_XARCH_64 = $(amd64_ASFLAGS)
130 122 ASFLAGS_XARCH = $(ASFLAGS_XARCH_$(CLASS))
131 123
132 124 ASFLAGS += $(ASFLAGS_XARCH)
133 125
134 126 AS_INC_PATH += -I$(DSF_DIR)/$(OBJS_DIR)
135 127
136 128 #
137 129 # The following must be defined for all implementations:
↓ open down ↓ |
5 lines elided |
↑ open up ↑ |
138 130 #
139 131 # MAPFILE: ld mapfile for the build of kernel/unix.
140 132 # MODSTUBS: Module stubs source file.
141 133 # GENASSYM_SRC: genassym.c
142 134
143 135 MAPFILE = $(UTSBASE)/$(PLATFORM)/conf/Mapfile
144 136 MODSTUBS = $(UTSBASE)/intel/ia32/ml/modstubs.s
145 137 GENASSYM_SRC = $(UTSBASE)/i86pc/ml/genassym.c
146 138 OFFSETS_SRC = $(UTSBASE)/i86pc/ml/offsets.in
147 139
148 -#PLATFORM_OFFSETS_32 = $(UTSBASE)/$(PLATFORM)/ml/mach_offsets.in
149 -PLATFORM_OFFSETS_32 = $(UTSBASE)/i86pc/ml/mach_offsets.in
150 -PLATFORM_OFFSETS_64 = $(UTSBASE)/intel/amd64/ml/mach_offsets.in
151 -PLATFORM_OFFSETS_SRC = $(PLATFORM_OFFSETS_$(CLASS))
140 +PLATFORM_OFFSETS_SRC = $(UTSBASE)/intel/amd64/ml/mach_offsets.in
152 141 KDI_OFFSETS_SRC = $(UTSBASE)/intel/kdi/kdi_offsets.in
153 142
154 143 #
155 144 # Define the actual specific platforms
156 145 #
157 146 MACHINE_DEFS = -D__$(PLATFORM) -D__xpv -D_MACHDEP
158 147
159 148 #
160 149 # Software workarounds for hardware "features"
161 150 #
162 151
163 152 include $(UTSBASE)/i86pc/Makefile.workarounds
164 153
165 154 #
166 155 # Debugging level
167 156 #
168 157 # Special knowledge of which special debugging options effect which
169 158 # file is used to optimize the build if these flags are changed.
170 159 #
171 160 # XXX: The above could possibly be done for more flags and files, but
172 161 # is left as an experiment to the interested reader. Be forewarned,
173 162 # that excessive use could lead to maintenance difficulties.
174 163 #
175 164 DEBUG_DEFS_OBJ32 =
176 165 DEBUG_DEFS_DBG32 = -DDEBUG
177 166 DEBUG_DEFS_OBJ64 =
178 167 DEBUG_DEFS_DBG64 = -DDEBUG
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
179 168 DEBUG_DEFS = $(DEBUG_DEFS_$(BUILD_TYPE))
180 169
181 170 DEBUG_COND_OBJ32 = $(POUND_SIGN)
182 171 DEBUG_COND_DBG32 =
183 172 DEBUG_COND_OBJ64 = $(POUND_SIGN)
184 173 DEBUG_COND_DBG64 =
185 174 IF_DEBUG_OBJ = $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/
186 175
187 176 $(IF_DEBUG_OBJ)trap.o := DEBUG_DEFS += -DTRAPDEBUG -DTRAPTRACE
188 177 $(IF_DEBUG_OBJ)syscall_asm.o := DEBUG_DEFS += -DSYSCALLTRACE -DTRAPTRACE
189 -$(IF_DEBUG_OBJ)syscall_asm_amd64.o := DEBUG_DEFS += -DSYSCALLTRACE -DTRAPTRACE
190 178 $(IF_DEBUG_OBJ)fast_trap_asm.o := DEBUG_DEFS += -DTRAPTRACE
191 179 $(IF_DEBUG_OBJ)interrupt.o := DEBUG_DEFS += -DTRAPTRACE
192 180 $(IF_DEBUG_OBJ)intr.o := DEBUG_DEFS += -DTRAPTRACE
193 181 $(IF_DEBUG_OBJ)locore.o := DEBUG_DEFS += -DTRAPTRACE
194 182 $(IF_DEBUG_OBJ)mp_startup.o := DEBUG_DEFS += -DTRAPTRACE
195 183 $(IF_DEBUG_OBJ)machdep.o := DEBUG_DEFS += -DTRAPTRACE
196 184 $(IF_DEBUG_OBJ)exception.o := DEBUG_DEFS += -DTRAPTRACE
197 185 $(IF_DEBUG_OBJ)x_call.o := DEBUG_DEFS += -DTRAPTRACE
198 186 $(IF_DEBUG_OBJ)mp_call.o := DEBUG_DEFS += -DTRAPTRACE
199 187 $(IF_DEBUG_OBJ)cbe.o := DEBUG_DEFS += -DTRAPTRACE
200 188 $(IF_DEBUG_OBJ)hyperevent.o := DEBUG_DEFS += -DTRAPTRACE
201 189 $(IF_DEBUG_OBJ)evtchn.o := DEBUG_DEFS += -DTRAPTRACE
202 190
203 191 #
204 192 # Collect the preprocessor definitions to be associated with *all*
205 193 # files.
206 194 #
207 195 ALL_DEFS = $(MACHINE_DEFS) $(WORKAROUND_DEFS) $(DEBUG_DEFS) \
208 196 $(OPTION_DEFS)
209 197 GENASSYM_DEFS = $(MACHINE_DEFS) $(OPTION_DEFS) \
210 198 -_gcc=-fno-eliminate-unused-debug-symbols \
211 199 -_gcc=-fno-eliminate-unused-debug-types
212 200
213 201 #
214 202 # ----- TRANSITIONAL SECTION --------------------------------------------------
215 203 #
216 204
217 205 #
218 206 # Not everything which *should* be a module is a module yet. The
219 207 # following is a list of such objects which are currently part of
220 208 # the base kernel but should soon become kmods.
221 209 #
222 210 # XXX: $(KMACCT_OBJS) is neither in the MT kernel nor was it ever
223 211 # made into a module. If it is made MT safe before being made
224 212 # into a module, it should be added to this list. It was in
225 213 # this list pre ON-4.0.
226 214 #
227 215 #
228 216 MACH_NOT_YET_KMODS = $(AUTOCONF_OBJS)
229 217
230 218 #
231 219 # ----- END OF TRANSITIONAL SECTION -------------------------------------------
232 220 #
233 221
234 222 #
235 223 # The kernels modules which are "implementation architecture"
236 224 # specific for this machine are enumerated below. Note that most
237 225 # of these modules must exist (in one form or another) for each
238 226 # architecture.
239 227 #
240 228 # Machine Specific Driver Modules (/kernel/drv):
241 229 # DRV_KMODS are built both 32-bit and 64-bit
242 230 # DRV_KMODS_32 are built only 32-bit
243 231 # DRV_KMODS_64 are built only 64-bit
244 232 #
245 233
246 234 DRV_KMODS += rootnex
247 235 DRV_KMODS += ioat
248 236 DRV_KMODS += isa
249 237 DRV_KMODS += pci
250 238 DRV_KMODS += pit_beep
251 239 DRV_KMODS += npe
252 240 DRV_KMODS += pci-ide
253 241 DRV_KMODS += xsvc
254 242 DRV_KMODS += xenbus
255 243 DRV_KMODS += xencons
256 244 DRV_KMODS += xpvd
257 245 DRV_KMODS += xnbe
258 246 DRV_KMODS += xnbo
259 247 DRV_KMODS += xnbu
260 248 DRV_KMODS += xnf
261 249 DRV_KMODS += xdb
262 250 DRV_KMODS += xdf
263 251 DRV_KMODS += privcmd
264 252 DRV_KMODS += domcaps
265 253 DRV_KMODS += evtchn
266 254 DRV_KMODS += balloon
267 255 DRV_KMODS += xpvtap
268 256 DRV_KMODS += xdt
269 257
270 258 #
271 259 # CPU Modules
272 260 #
273 261 CPU_KMODS += generic_cpu
274 262 CPU_KMODS += amd_opteron
275 263 CPU_KMODS += genuineintel
276 264 CPU_KMODS += authenticamd
277 265
278 266 #
279 267 # Exec Class Modules (/kernel/exec):
280 268 #
281 269 EXEC_KMODS +=
282 270
283 271 #
284 272 # Scheduling Class Modules (/kernel/sched):
285 273 #
286 274 SCHED_KMODS +=
287 275
288 276 #
289 277 # File System Modules (/kernel/fs):
290 278 #
291 279 FS_KMODS +=
292 280
293 281 #
294 282 # Streams Modules (/kernel/strmod):
295 283 #
296 284 STRMOD_KMODS +=
297 285
298 286 #
299 287 # 'System' Modules (/kernel/sys):
300 288 #
301 289 SYS_KMODS +=
302 290
303 291 #
304 292 # 'Misc' Modules (/kernel/misc):
305 293 #
306 294 MISC_KMODS += xpv_autoconfig gfx_private xnb
307 295
308 296 # 'Dacf' modules (/kernel/dacf)
309 297 #
310 298 DACF_KMODS += consconfig_dacf
311 299
312 300 #
313 301 # 'Mach' Modules (/kernel/mach):
314 302 #
315 303 MACH_KMODS += xpv_psm xpv_uppc
316 304
317 305 #
318 306 # 'TOD' modules (/platform/.../kernel/tod):
319 307 #
320 308 TOD_KMODS += xpvtod
↓ open down ↓ |
121 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX