summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel/io/vmm/Makefile.vmm
blob: 920da5dee6e133fa3862f43c943f175042b1c941 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#

#
# Copyright 2019 Joyent, Inc.
# Copyright 2022 Oxide Computer Company
#

CONF_SRCDIR	= $(UTSBASE)/intel/io/vmm
MAPFILE		= $(UTSBASE)/intel/io/vmm/vmm.mapfile

PRE_INC_PATH	= \
	-I$(COMPAT)/bhyve \
	-I$(COMPAT)/bhyve/amd64 \
	-I$(CONTRIB)/bhyve \
	-I$(CONTRIB)/bhyve/amd64

INC_PATH	+= -I$(UTSBASE)/intel/io/vmm -I$(UTSBASE)/intel/io/vmm/io
AS_INC_PATH	+= -I$(UTSBASE)/intel/io/vmm -I$(OBJS_DIR)

# enable collection of VMM statistics
CFLAGS		+= -DVMM_KEEP_STATS

LDFLAGS		+= -N misc/acpica -N misc/pcie -N fs/dev
LDFLAGS		+= -M $(MAPFILE)

# 3rd party code
SMOFF		+= all_func_returns

# needs work
$(OBJS_DIR)/vmm_sol_dev.o := SMOFF += signed_integer_overflow_check

OFFSETS_VMX	= $(CONF_SRCDIR)/intel/offsets.in
OFFSETS_SVM	= $(CONF_SRCDIR)/amd/offsets.in
ASSYM_VMX	= $(OBJS_DIR)/vmx_assym.h
ASSYM_SVM	= $(OBJS_DIR)/svm_assym.h

CLEANFILES	+= $(ASSYM_VMX) $(ASSYM_SVM)

VMM_OBJS = \
	vmm.o \
	vmm_sol_dev.o \
	vmm_host.o \
	vmm_instruction_emul.o \
	vmm_ioport.o \
	vmm_lapic.o \
	vmm_stat.o \
	vmm_util.o \
	x86.o \
	iommu.o \
	vatpic.o \
	vatpit.o \
	vhpet.o \
	vioapic.o \
	vlapic.o \
	vrtc.o \
	vpmtmr.o \
	vmcs.o \
	vmx_msr.o \
	vmx.o \
	vmx_support.o \
	vtd.o \
	vtd_sol.o \
	svm.o \
	svm_msr.o \
	vmcb.o \
	svm_support.o \
	amdv.o \
	vmm_gpt.o \
	seg_vmm.o \
	vmm_reservoir.o \
	vmm_sol_glue.o \
	vmm_sol_ept.o \
	vmm_sol_rvi.o \
	vmm_support.o \
	vmm_vm.o \
	vmm_zsd.o