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