xref: /illumos-gate/usr/src/uts/intel/io/vmm/Makefile.vmm (revision 7c8c0b82)
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 2022 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/acpica -N misc/pcie -N fs/dev
33LDFLAGS		+= -M $(MAPFILE)
34
35# 3rd party code
36SMOFF		+= all_func_returns
37
38# needs work
39$(OBJS_DIR)/vmm_sol_dev.o := SMOFF += signed_integer_overflow_check
40
41OFFSETS_VMX	= $(CONF_SRCDIR)/intel/offsets.in
42OFFSETS_SVM	= $(CONF_SRCDIR)/amd/offsets.in
43ASSYM_VMX	= $(OBJS_DIR)/vmx_assym.h
44ASSYM_SVM	= $(OBJS_DIR)/svm_assym.h
45
46CLEANFILES	+= $(ASSYM_VMX) $(ASSYM_SVM)
47
48VMM_OBJS = \
49	vmm.o \
50	vmm_sol_dev.o \
51	vmm_host.o \
52	vmm_instruction_emul.o \
53	vmm_ioport.o \
54	vmm_lapic.o \
55	vmm_stat.o \
56	vmm_util.o \
57	x86.o \
58	iommu.o \
59	vatpic.o \
60	vatpit.o \
61	vhpet.o \
62	vioapic.o \
63	vlapic.o \
64	vrtc.o \
65	vpmtmr.o \
66	vmcs.o \
67	vmx_msr.o \
68	vmx.o \
69	vmx_support.o \
70	vtd.o \
71	vtd_sol.o \
72	svm.o \
73	svm_msr.o \
74	vmcb.o \
75	svm_support.o \
76	amdv.o \
77	vmm_gpt.o \
78	seg_vmm.o \
79	vmm_reservoir.o \
80	vmm_sol_glue.o \
81	vmm_sol_ept.o \
82	vmm_sol_rvi.o \
83	vmm_support.o \
84	vmm_vm.o \
85	vmm_zsd.o
86