Makefile revision 319182
1166124Srafan# $FreeBSD: stable/11/sys/modules/vmm/Makefile 319182 2017-05-30 04:11:12Z ngie $
2262629Sdelphij
3166124SrafanKMOD=	vmm
4166124Srafan
5166124SrafanSRCS=	opt_acpi.h opt_ddb.h device_if.h bus_if.h pci_if.h
6166124SrafanSRCS+=	vmx_assym.h svm_assym.h
7166124SrafanDPSRCS=	vmx_genassym.c svm_genassym.c
8166124Srafan
9166124SrafanCFLAGS+= -DVMM_KEEP_STATS -DSMP
10166124SrafanCFLAGS+= -I${SRCTOP}/sys/amd64/vmm
11166124SrafanCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/io
12166124SrafanCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/intel
13166124SrafanCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/amd
14166124Srafan
15166124Srafan# generic vmm support
16166124Srafan.PATH: ${SRCTOP}/sys/amd64/vmm
17166124SrafanSRCS+=	vmm.c		\
18166124Srafan	vmm_dev.c	\
19166124Srafan	vmm_host.c	\
20166124Srafan	vmm_instruction_emul.c	\
21166124Srafan	vmm_ioport.c	\
22166124Srafan	vmm_lapic.c	\
23166124Srafan	vmm_mem.c	\
24166124Srafan	vmm_stat.c	\
25166124Srafan	vmm_util.c	\
26166124Srafan	x86.c
27166124Srafan
28166124Srafan.PATH: ${SRCTOP}/sys/amd64/vmm/io
29166124SrafanSRCS+=	iommu.c		\
30166124Srafan	ppt.c           \
31166124Srafan	vatpic.c	\
32166124Srafan	vatpit.c	\
33166124Srafan	vhpet.c		\
34166124Srafan	vioapic.c	\
35262629Sdelphij	vlapic.c	\
36166124Srafan	vpmtmr.c	\
37166124Srafan	vrtc.c
38174993Srafan
39166124Srafan# intel-specific files
40174993Srafan.PATH: ${SRCTOP}/sys/amd64/vmm/intel
41174993SrafanSRCS+=	ept.c		\
42166124Srafan	vmcs.c		\
43166124Srafan	vmx_msr.c	\
44166124Srafan	vmx_support.S	\
45166124Srafan	vmx.c		\
46166124Srafan	vtd.c
47174993Srafan
48174993Srafan# amd-specific files
49174993Srafan.PATH: ${SRCTOP}/sys/amd64/vmm/amd
50166124SrafanSRCS+=	vmcb.c		\
51166124Srafan	svm.c		\
52174993Srafan	svm_support.S	\
53166124Srafan	npt.c		\
54166124Srafan	amdv.c		\
55174993Srafan	svm_msr.c
56166124Srafan
57166124SrafanCLEANFILES=	vmx_assym.h vmx_genassym.o svm_assym.h svm_genassym.o
58166124Srafan
59166124Srafanvmx_assym.h:    vmx_genassym.o
60166124Srafan	sh ${SYSDIR}/kern/genassym.sh vmx_genassym.o > ${.TARGET}
61166124Srafan
62166124Srafansvm_assym.h:    svm_genassym.o
63166124Srafan	sh ${SYSDIR}/kern/genassym.sh svm_genassym.o > ${.TARGET}
64174993Srafan
65174993Srafanvmx_support.o:
66166124Srafan	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
67166124Srafan	    ${.IMPSRC} -o ${.TARGET}
68262629Sdelphij
69166124Srafansvm_support.o:
70166124Srafan	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
71166124Srafan	    ${.IMPSRC} -o ${.TARGET}
72262629Sdelphij
73262629Sdelphijvmx_genassym.o:
74262629Sdelphij	${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
75166124Srafan
76166124Srafansvm_genassym.o:
77166124Srafan	${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
78166124Srafan
79262629Sdelphij.include <bsd.kmod.mk>
80262629Sdelphij