1 # $FreeBSD$
2
3 .include <kmod.opts.mk>
4
5 KMOD= vmm
6
7 SRCS= opt_acpi.h opt_bhyve_snapshot.h opt_ddb.h
8 SRCS+= device_if.h bus_if.h pci_if.h pcib_if.h acpi_if.h vnode_if.h
9 DPSRCS+= vmx_assym.h svm_assym.h
10 DPSRCS+= vmx_genassym.c svm_genassym.c offset.inc
11
12 CFLAGS+= -DVMM_KEEP_STATS
13 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm
14 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/io
15 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/intel
16 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/amd
17
18 # generic vmm support
19 .PATH: ${SRCTOP}/sys/amd64/vmm
20 SRCS+= vmm.c \
21 vmm_dev.c \
22 vmm_host.c \
23 vmm_instruction_emul.c \
24 vmm_ioport.c \
25 vmm_lapic.c \
26 vmm_mem.c \
27 vmm_stat.c \
28 vmm_util.c \
29 x86.c
30
31 .PATH: ${SRCTOP}/sys/amd64/vmm/io
32 SRCS+= iommu.c \
33 ppt.c \
34 vatpic.c \
35 vatpit.c \
36 vhpet.c \
37 vioapic.c \
38 vlapic.c \
39 vpmtmr.c \
40 vrtc.c
41
42 # intel-specific files
43 .PATH: ${SRCTOP}/sys/amd64/vmm/intel
44 SRCS+= ept.c \
45 vmcs.c \
46 vmx_msr.c \
47 vmx_support.S \
48 vmx.c \
49 vtd.c
50
51 # amd-specific files
52 .PATH: ${SRCTOP}/sys/amd64/vmm/amd
53 SRCS+= vmcb.c \
54 amdiommu.c \
55 ivhd_if.c \
56 ivhd_if.h \
57 svm.c \
58 svm_support.S \
59 npt.c \
60 ivrs_drv.c \
61 amdvi_hw.c \
62 svm_msr.c
63
64 .if ${KERN_OPTS:MBHYVE_SNAPSHOT} != ""
65 SRCS+= vmm_snapshot.c
66 .endif
67
68 CLEANFILES= vmx_assym.h vmx_genassym.o svm_assym.h svm_genassym.o
69
70 OBJS_DEPEND_GUESS.vmx_support.o+= vmx_assym.h
71 OBJS_DEPEND_GUESS.svm_support.o+= svm_assym.h
72
73 vmx_assym.h: vmx_genassym.o
74 sh ${SYSDIR}/kern/genassym.sh vmx_genassym.o > ${.TARGET}
75
76 svm_assym.h: svm_genassym.o
77 sh ${SYSDIR}/kern/genassym.sh svm_genassym.o > ${.TARGET}
78
79 vmx_support.o:
80 ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
81 ${.IMPSRC} -o ${.TARGET}
82
83 svm_support.o:
84 ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
85 ${.IMPSRC} -o ${.TARGET}
86
87 vmx_genassym.o: offset.inc
88 ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC}
89
90 svm_genassym.o: offset.inc
91 ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC}
92
93 .include <bsd.kmod.mk>
Cache object: dc21695f17352f901ca79d9748ee0342
|