OS-7125 Need mitigation of L1TF (CVE-2018-3646)
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
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) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
24 #
25 # Copyright 2018 Joyent, Inc.
26 #
27
28 # This Makefile defines file modules in the directory uts/i86xpv
29 # and its children. These are the source files which are i86xpv
30 # "implementation architecture" dependent.
31 #
32
33 #
34 # object lists
35 #
36 CORE_OBJS += \
37 acpi_stubs.o \
38 balloon.o \
39 biosdisk.o \
40 cbe.o \
41 cmi.o \
42 cmi_hw.o \
43 cms.o \
44 confunix.o \
45 cpuid.o \
46 cpuid_subr.o \
47 cpupm.o \
48 cpupm_mach.o \
49 dis_tables.o \
50 ddi_impl.o \
51 dtrace_subr.o \
52 dvma.o \
53 fakebop.o \
54 fpu_subr.o \
55 fastboot.o \
56 fb_swtch.o \
57 graphics.o \
58 hardclk.o \
59 hat_i86.o \
60 hat_kdi.o \
61 hment.o \
62 hold_page.o \
63 hrtimers.o \
64 ht.o \
65 htable.o \
66 i86_mmu.o \
67 ibft.o \
68 instr_size.o \
69 intr.o \
70 kboot_mmu.o \
71 kdi_idt.o \
72 kdi_idthdl.o \
73 kdi_asm.o \
74 lgrpplat.o \
75 mach_kdi.o \
76 mach_sysconfig.o \
77 machdep.o \
78 mem_config_stubs.o \
79 memnode.o \
80 microcode.o \
81 mlsetup.o \
82 mp_call.o \
83 mp_implfuncs.o \
84 mp_machdep.o \
85 mp_startup.o \
86 memscrub.o \
87 notes.o \
88 pci_bios.o \
89 pci_cfgacc.o \
90 pci_cfgacc_x86.o \
91 pci_cfgspace.o \
92 pci_mech1.o \
93 pci_mech2.o \
94 pci_neptune.o \
95 pci_orion.o \
96 pmem.o \
97 ppage.o \
98 startup.o \
99 ssp.o \
100 xpv_timestamp.o \
101 todpc_subr.o \
102 trap.o \
103 vm_machdep.o \
104 x_call.o
105
106 #
107 # Add the SMBIOS subsystem object files directly to the list of objects
108 # built into unix itself; this is all common code except for smb_dev.c.
109 #
110 CORE_OBJS += $(SMBIOS_OBJS)
111
112 #
113 # These get compiled twice:
114 # - once in the dboot (direct boot) identity mapped code
115 # - once for use during early startup in unix
116 #
117 BOOT_DRIVER_OBJS = \
118 boot_console.o \
119 boot_keyboard.o \
120 boot_keyboard_table.o \
121 boot_mmu.o \
122 boot_vga.o \
123 boot_fb.o \
124 boot_xconsole.o \
125 dboot_multiboot2.o \
126 $(FONT_OBJS)
127
128 CORE_OBJS += $(BOOT_DRIVER_OBJS)
129
130 #
131 # Extra XEN files separated out for now.
132 #
133 CORE_OBJS += \
134 cpr_driver.o \
135 evtchn.o \
136 gnttab.o \
137 hypercall.o \
138 hyperevent.o \
139 hypersubr.o \
140 mp_xen.o \
141 panic_asm.o \
142 xenguest.o \
143 xenbus_client.o \
144 xenbus_comms.o \
145 xenbus_probe.o \
146 xenbus_xs.o \
147 xen_machdep.o \
148 xen_mmu.o \
149 xpv_panic.o \
150 xvdi.o
151
152 #
153 # locore.o is special. It must be the first file relocated so that it
154 # it is relocated just where its name implies.
155 #
156 SPECIAL_OBJS_32 += \
157 locore.o \
158 fast_trap_asm.o \
159 interrupt.o \
160 syscall_asm.o
161
162 SPECIAL_OBJS_64 += \
163 locore.o \
164 fast_trap_asm.o \
165 interrupt.o \
166 syscall_asm_amd64.o \
167 kpti_trampolines.o
168
169 SPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS))
170
171 #
172 # object files used to boot into full kernel
173 #
174 DBOOT_OBJS_32 = muldiv.o
175
176 DBOOT_OBJS_64 =
177
178 DBOOT_OBJS += \
179 dboot_asm.o \
180 dboot_printf.o \
181 dboot_startkern.o \
182 dboot_xen.o \
183 hypercall.o \
184 hypersubr.o \
185 memcpy.o \
186 memset.o \
187 string.o \
188 $(BOOT_DRIVER_OBJS) \
189 $(DBOOT_OBJS_$(CLASS))
190
191 #
192 # driver & misc modules
193 #
194 BALLOON_OBJS += balloon_drv.o
195 DOMCAPS_OBJS += domcaps.o
196 EVTCHN_OBJS += evtchn_dev.o
197 GFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \
198 gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o \
199 gfxp_fb.o gfxp_bitmap.o
200 IOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o
201 ISANEXUS_OBJS += isa.o dma_engine.o i8237A.o
202 PCI_E_NEXUS_OBJS += npe.o npe_misc.o
203 PCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o
204 PCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o
205 PRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o
206 ROOTNEX_OBJS += rootnex.o
207 XPVTOD_OBJS += xpvtod.o
208 XPV_AUTOCONFIG_OBJS += xpv_autoconfig.o
209 XPV_PSM_OBJS += xpv_psm.o mp_platform_common.o mp_platform_xpv.o \
210 apic_regops.o psm_common.o xpv_intr.o
211 XPV_UPPC_OBJS += xpv_uppc.o psm_common.o
212 XENBUS_OBJS += xenbus_dev.o
213 XENCONS_OBJS += xencons.o
214 XPVD_OBJS += xpvd.o
215 XPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o
216 XNB_OBJS += xnb.o
217 XNBE_OBJS += xnbe.o
218 XNBO_OBJS += xnbo.o
219 XNBU_OBJS += xnbu.o
220 XNF_OBJS += xnf.o
221 XSVC_OBJS += xsvc.o
222 XDF_OBJS += xdf.o
223 XDB_OBJS += xdb.o
224 XDT_OBJS += xdt.o
225
226 #
227 # Build up defines and paths.
228 #
229 INC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/i86pc -I$(SRC)/common \
230 -I$(UTSBASE)/common/xen
231
232 #
233 # Since the assym files are derived, the dependencies must be explicit for
234 # all files including this file. (This is only actually required in the
235 # instance when the .nse_depinfo file does not exist.) It may seem that
236 # the lint targets should also have a similar dependency, but they don't
237 # since only C headers are included when #defined(__lint) is true.
238 #
239
240 ASSYM_DEPS += \
241 copy.o \
242 desctbls_asm.o \
243 ddi_i86_asm.o \
244 exception.o \
245 fast_trap_asm.o \
246 float.o \
247 hyperevent.o \
248 i86_subr.o \
249 kdi_asm.o \
250 interrupt.o \
251 lock_prim.o \
252 locore.o \
253 panic_asm.o \
254 sseblk.o \
255 swtch.o \
256 syscall_asm.o \
257 syscall_asm_amd64.o
258
259 $(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h
--- EOF ---