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