xref: /illumos-gate/usr/src/uts/intel/io/vmm/Makefile.vmm (revision 7f3d7c9289dee6488b3cd2848a68c0b8580d750c)
1#
2# This file and its contents are supplied under the terms of the
3# Common Development and Distribution License ("CDDL"), version 1.0.
4# You may only use this file in accordance with the terms of version
5# 1.0 of the CDDL.
6#
7# A full copy of the text of the CDDL should have accompanied this
8# source.  A copy of the CDDL is also available via the Internet at
9# http://www.illumos.org/license/CDDL.
10#
11
12#
13# Copyright 2019 Joyent, Inc.
14# Copyright 2025 Oxide Computer Company
15#
16
17CONF_SRCDIR	= $(UTSBASE)/intel/io/vmm
18MAPFILE		= $(UTSBASE)/intel/io/vmm/vmm.mapfile
19
20PRE_INC_PATH	= \
21	-I$(COMPAT)/bhyve \
22	-I$(COMPAT)/bhyve/amd64 \
23	-I$(CONTRIB)/bhyve \
24	-I$(CONTRIB)/bhyve/amd64
25
26INC_PATH	+= -I$(UTSBASE)/intel/io/vmm -I$(UTSBASE)/intel/io/vmm/io
27AS_INC_PATH	+= -I$(UTSBASE)/intel/io/vmm -I$(OBJS_DIR)
28
29# enable collection of VMM statistics
30CFLAGS		+= -DVMM_KEEP_STATS
31
32LDFLAGS		+= -N misc/pcie -N fs/dev
33LDFLAGS		+= -M $(MAPFILE)
34
35# vmm_zsd_add_vm() failure unhandled in face of racing zone shutdown
36$(OBJS_DIR)/vmm_sol_dev.o := SMOFF += all_func_returns
37
38OFFSETS_VMX	= $(CONF_SRCDIR)/intel/offsets.in
39OFFSETS_SVM	= $(CONF_SRCDIR)/amd/offsets.in
40ASSYM_VMX	= $(OBJS_DIR)/vmx_assym.h
41ASSYM_SVM	= $(OBJS_DIR)/svm_assym.h
42
43CLEANFILES	+= $(ASSYM_VMX) $(ASSYM_SVM)
44
45VMM_OBJS = \
46	vmm.o \
47	vmm_sol_dev.o \
48	vmm_host.o \
49	vmm_instruction_emul.o \
50	vmm_ioport.o \
51	vmm_lapic.o \
52	vmm_stat.o \
53	vmm_util.o \
54	vmm_cpuid.o \
55	x86.o \
56	iommu.o \
57	vatpic.o \
58	vatpit.o \
59	vhpet.o \
60	vioapic.o \
61	vlapic.o \
62	vrtc.o \
63	vpmtmr.o \
64	vmcs.o \
65	vmx_msr.o \
66	vmx.o \
67	vmx_support.o \
68	svm.o \
69	svm_msr.o \
70	svm_pmu.o \
71	vmcb.o \
72	svm_support.o \
73	vmm_gpt.o \
74	vmm_gpt_indirect.o \
75	seg_vmm.o \
76	vmm_reservoir.o \
77	vmm_sol_glue.o \
78	vmm_sol_ept.o \
79	vmm_sol_rvi.o \
80	vmm_support.o \
81	vmm_vm.o \
82	vmm_zsd.o \
83	vmm_time_support.o
84