Print this page
11787 Kernel needs to be built with retpolines
11788 Kernel needs to generally use RSB stuffing
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: John Levon <john.levon@joyent.com>
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/intel/Makefile.files
+++ new/usr/src/uts/intel/Makefile.files
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]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21
22 22 #
23 23 # Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
24 24 # Copyright 2019 Joyent, Inc.
25 25 # Copyright 2018 Nexenta Systems, Inc.
26 26 #
27 27
28 28 #
29 29 # This Makefile defines all file modules and build rules for the
30 30 # directory uts/intel and its children. These are the source files which
31 31 # are specific to x86 processor architectures.
32 32 #
33 33
34 34 #
35 35 # Core (unix) objects
36 36 #
37 37 CORE_OBJS += \
38 38 arch_kdi.o \
39 39 comm_page_util.o \
40 40 copy.o \
41 41 copy_subr.o \
42 42 cpc_subr.o \
43 43 ddi_arch.o \
44 44 ddi_i86.o \
45 45 ddi_i86_asm.o \
↓ open down ↓ |
45 lines elided |
↑ open up ↑ |
46 46 desctbls.o \
47 47 desctbls_asm.o \
48 48 exception.o \
49 49 float.o \
50 50 fmsmb.o \
51 51 fpu.o \
52 52 i86_subr.o \
53 53 lock_prim.o \
54 54 ovbcopy.o \
55 55 polled_io.o \
56 + retpoline.o \
56 57 sseblk.o \
57 58 sundep.o \
58 59 swtch.o \
59 60 sysi86.o
60 61
62 +DBOOT_OBJS += \
63 + retpoline.o
64 +
61 65 #
62 66 # 64-bit multiply/divide compiler helper routines
63 67 # used only for ia32
64 68 #
65 69
66 70 SPECIAL_OBJS_32 += \
67 71 muldiv.o
68 72
69 73 #
70 74 # Generic-unix Module
71 75 #
72 76 GENUNIX_OBJS += \
73 77 archdep.o \
74 78 getcontext.o \
75 79 install_utrap.o \
76 80 lwp_private.o \
77 81 prom_enter.o \
78 82 prom_exit.o \
79 83 prom_panic.o \
80 84 sendsig.o \
81 85 syscall.o
82 86
83 87
84 88 #
85 89 # PROM Routines
86 90 #
87 91 GENUNIX_OBJS += \
88 92 prom_env.o \
89 93 prom_emul.o \
90 94 prom_getchar.o \
91 95 prom_init.o \
92 96 prom_node.o \
93 97 prom_printf.o \
94 98 prom_prop.o \
95 99 prom_putchar.o \
96 100 prom_reboot.o \
97 101 prom_version.o
98 102
99 103 #
100 104 # file system modules
101 105 #
102 106 CORE_OBJS += \
103 107 prmachdep.o
104 108
105 109 #
106 110 # ZFS file system module
107 111 #
108 112 ZFS_OBJS += \
109 113 spa_boot.o
110 114
111 115 #
112 116 # Decompression code
113 117 #
114 118 CORE_OBJS += decompress.o
115 119
116 120 #
117 121 # Microcode utilities
118 122 #
119 123 CORE_OBJS += ucode_utils.o
120 124
121 125 #
122 126 # Driver modules
123 127 #
124 128 ARCMSR_OBJS += arcmsr.o
125 129 ATA_OBJS += $(GHD_OBJS) ata_blacklist.o ata_common.o ata_disk.o \
126 130 ata_dma.o atapi.o atapi_fsm.o ata_debug.o \
127 131 sil3xxx.o
128 132 BSCBUS_OBJS += bscbus.o
129 133 BSCV_OBJS += bscv.o
130 134 CMDK_OBJS += cmdk.o
131 135 CMLB_OBJS += cmlb.o
132 136 CPUNEX_OBJS += cpunex.o
133 137 DADK_OBJS += dadk.o
134 138 DCOPY_OBJS += dcopy.o
135 139 DNET_OBJS += dnet.o dnet_mii.o
136 140 FD_OBJS += fd.o
137 141 GDA_OBJS += gda.o
138 142 GHD_OBJS += ghd.o ghd_debug.o ghd_dma.o ghd_queue.o ghd_scsa.o \
139 143 ghd_scsi.o ghd_timer.o ghd_waitq.o ghd_gcmd.o
140 144 I915_OBJS += i915_dma.o i915_drv.o i915_irq.o i915_mem.o \
141 145 i915_gem.o i915_gem_debug.o i915_gem_tiling.o
142 146 NSKERN_OBJS += nsc_asm.o
143 147 PCICFG_OBJS += pcicfg.o
144 148 PCI_PCINEXUS_OBJS += pci_pci.o
145 149 PCIEB_OBJS += pcieb_x86.o
146 150 PIT_BEEP_OBJS += pit_beep.o
147 151 POWER_OBJS += power.o
148 152 PCI_AUTOCONFIG_OBJS += pci_autoconfig.o pci_boot.o pcie_nvidia.o \
149 153 pci_memlist.o pci_resource.o
150 154 RADEON_OBJS += r300_cmdbuf.o radeon_cp.o radeon_drv.o \
151 155 radeon_state.o radeon_irq.o radeon_mem.o
152 156 SD_OBJS += sd.o sd_xbuf.o
153 157
154 158 STRATEGY_OBJS += strategy.o
155 159 UCODE_OBJS += ucode_drv.o
156 160 VGATEXT_OBJS += vgatext.o
157 161
158 162 #
159 163 # Kernel linker
160 164 #
161 165 KRTLD_OBJS += \
162 166 bootfsops.o \
163 167 bootrd.o \
164 168 bootrd_cpio.o \
165 169 ufsops.o \
166 170 hsfs.o \
167 171 doreloc.o \
168 172 kobj_boot.o \
169 173 kobj_convrelstr.o \
170 174 kobj_crt.o \
171 175 kobj_isa.o \
172 176 kobj_reloc.o
173 177
174 178 #
175 179 # misc. modules
176 180 #
177 181 ACPICA_OBJS += \
178 182 dmbuffer.o dmcstyle.o dmdeferred.o dmnames.o dmopcode.o \
179 183 dmresrc.o dmresrcl.o dmresrcl2.o dmresrcs.o dmutils.o \
180 184 dmwalk.o \
181 185 \
182 186 dsargs.o dscontrol.o dsdebug.o dsfield.o dsinit.o \
183 187 dsmethod.o dsmthdat.o dsobject.o dsopcode.o dsutils.o \
184 188 dswexec.o dswload.o dswload2.o dswscope.o dswstate.o \
185 189 dspkginit.o \
186 190 \
187 191 evevent.o evglock.o evgpe.o evgpeblk.o evgpeinit.o \
188 192 evgpeutil.o evhandler.o evmisc.o evregion.o evrgnini.o \
189 193 evsci.o evxface.o evxfevnt.o evxfgpe.o evxfregn.o \
190 194 \
191 195 exconcat.o exconfig.o exconvrt.o excreate.o exdebug.o \
192 196 exdump.o exfield.o exfldio.o exmisc.o exmutex.o exnames.o \
193 197 exoparg1.o exoparg2.o exoparg3.o exoparg6.o exprep.o \
194 198 exregion.o exresnte.o exresolv.o exresop.o exstore.o \
195 199 exstoren.o exstorob.o exsystem.o extrace.o exutils.o \
196 200 \
197 201 hwacpi.o hwesleep.o hwgpe.o hwpci.o hwregs.o hwsleep.o \
198 202 hwtimer.o hwvalid.o hwxface.o hwxfsleep.o \
199 203 \
200 204 psargs.o psloop.o psobject.o psopcode.o psopinfo.o \
201 205 psparse.o psscope.o pstree.o psutils.o pswalk.o psxface.o \
202 206 \
203 207 nsaccess.o nsalloc.o nsarguments.o nsconvert.o nsdump.o \
204 208 nsdumpdv.o nseval.o nsinit.o nsload.o nsnames.o nsobject.o \
205 209 nsparse.o nspredef.o nsprepkg.o nsrepair.o nsrepair2.o \
206 210 nssearch.o nsutils.o nswalk.o nsxfeval.o nsxfname.o \
207 211 nsxfobj.o \
208 212 \
209 213 rsaddr.o rscalc.o rscreate.o rsdump.o rsdumpinfo.o \
210 214 rsinfo.o rsio.o rsirq.o rslist.o rsmemory.o rsmisc.o \
211 215 rsserial.o rsutils.o rsxface.o \
212 216 \
213 217 tbdata.o tbfadt.o tbfind.o tbinstal.o tbprint.o tbutils.o \
214 218 tbxface.o tbxfload.o tbxfroot.o \
215 219 \
216 220 utaddress.o utalloc.o utascii.o utbuffer.o utcache.o \
217 221 utclib.o utcopy.o utdebug.o utdecode.o utdelete.o \
218 222 uterror.o uteval.o utexcep.o utglobal.o uthex.o utids.o \
219 223 utinit.o utlock.o utmath.o utmisc.o utmutex.o utnonansi.o \
220 224 utobject.o utosi.o utownerid.o utpredef.o utresrc.o \
221 225 utstate.o utstring.o uttrack.o utuuid.o utxface.o \
222 226 utxferror.o utxfinit.o utxfmutex.o utresdecode.o \
223 227 utstrsuppt.o utstrtoul64.o \
224 228 \
225 229 acpi_enum.o acpica_ec.o acpica.o ahids.o master_ops.o \
226 230 osl_ml.o osl.o
227 231
228 232
229 233 FBT_OBJS += fbt.o
230 234 SDT_OBJS += sdt.o
231 235
232 236 #
233 237 # AMD8111 NIC driver module
234 238 #
235 239 AMD8111S_OBJS += amd8111s_main.o amd8111s_hw.o
236 240
237 241 #
238 242 # Pentium 4 Performance Counter BackEnd module
239 243 #
240 244 P4_PCBE_OBJS = p4_pcbe.o
241 245
242 246 #
243 247 # AMD Opteron/Athlon64 Performance Counter BackEnd module
244 248 #
245 249 OPTERON_PCBE_OBJS = opteron_pcbe.o
246 250
247 251 #
248 252 # Intel Core Architecture Performance Counter BackEnd module
249 253 #
250 254 CORE_PCBE_OBJS = core_pcbe.o
251 255
252 256 #
253 257 # AMR module
254 258 #
255 259 AMR_OBJS = amr.o
256 260
257 261 #
258 262 # IPMI module
259 263 IPMI_OBJS += ipmi_main.o ipmi.o ipmi_kcs.o
260 264
261 265 #
262 266 # IOMMULIB module
263 267 #
264 268 IOMMULIB_OBJS = iommulib.o
265 269
266 270 #
267 271 # Brand modules
268 272 #
269 273 SN1_BRAND_OBJS = sn1_brand.o sn1_brand_asm.o
270 274 S10_BRAND_OBJS = s10_brand.o s10_brand_asm.o
271 275
272 276 #
273 277 # special files
274 278 #
275 279 MODSTUB_OBJ += \
276 280 modstubs.o
277 281
278 282 BOOTDEV_OBJS += \
279 283 bootdev.o
280 284
281 285 INC_PATH += -I$(UTSBASE)/intel
282 286
283 287
284 288 CPR_INTEL_OBJS += cpr_intel.o
285 289
286 290 #
287 291 # AMD family 0xf memory controller module
288 292 #
289 293 include $(SRC)/common/mc/mc-amd/Makefile.mcamd
290 294 MCAMD_OBJS += \
291 295 $(MCAMD_CMN_OBJS) \
292 296 mcamd_drv.o \
293 297 mcamd_dimmcfg.o \
294 298 mcamd_subr.o \
295 299 mcamd_pcicfg.o
296 300
297 301 #
298 302 # Intel Nehalem memory controller module
299 303 #
300 304 INTEL_NHM_OBJS += \
301 305 nhm_init.o \
302 306 mem_addr.o \
303 307 intel_nhmdrv.o \
304 308 nhm_pci_cfg.o \
305 309 dimm_topo.o \
306 310 intel_nhm.o
307 311
308 312 #
309 313 # Intel 5000/5100/5400/7300 chipset memory controller hub (MCH) module
310 314 #
311 315 INTEL_NB5000_OBJS += \
312 316 intel_nb5000.o \
313 317 intel_nbdrv.o \
314 318 dimm_addr.o \
315 319 nb_pci_cfg.o \
316 320 nb5000_init.o
317 321
318 322 #
319 323 # VMware VMXNET3 virtual network device
320 324 #
321 325 VMXNET3S_OBJS = vmxnet3_main.o \
322 326 vmxnet3_rx.o \
323 327 vmxnet3_tx.o \
324 328 vmxnet3_utils.o
325 329
326 330 #
327 331 # VMware PVSCSI SCSI Controller
328 332 #
329 333 PVSCSI_OBJS = pvscsi.o
330 334
331 335 #
332 336 # Intel Temperature Module
333 337 #
334 338 CORETEMP_OBJS = coretemp.o
335 339
336 340 #
337 341 # AMD Family 17 northbridge driver
338 342 #
339 343 AMDF17NBDF_OBJS = amdf17nbdf.o
340 344
341 345 #
342 346 # Intel Platform Controller Hub Temperature Module
343 347 #
344 348 PCHTEMP_OBJS = pchtemp.o
↓ open down ↓ |
274 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX