xref: /freebsd-14.2/sys/modules/vmm/Makefile (revision df5e6de3)
1# $FreeBSD$
2
3KMOD=	vmm
4
5SRCS=	opt_ddb.h device_if.h bus_if.h pci_if.h
6
7CFLAGS+= -DVMM_KEEP_STATS -DSMP
8CFLAGS+= -I${.CURDIR}/../../amd64/vmm
9CFLAGS+= -I${.CURDIR}/../../amd64/vmm/io
10CFLAGS+= -I${.CURDIR}/../../amd64/vmm/intel
11CFLAGS+= -I${.CURDIR}/../../amd64/vmm/amd
12
13# generic vmm support
14.PATH: ${.CURDIR}/../../amd64/vmm
15SRCS+=	vmm.c		\
16	vmm_dev.c	\
17	vmm_host.c	\
18	vmm_instruction_emul.c	\
19	vmm_ipi.c	\
20	vmm_lapic.c	\
21	vmm_mem.c	\
22	vmm_msr.c	\
23	vmm_stat.c	\
24	vmm_util.c	\
25	x86.c		\
26	vmm_support.S
27
28.PATH: ${.CURDIR}/../../amd64/vmm/io
29SRCS+=	iommu.c		\
30	ppt.c           \
31	vdev.c		\
32	vlapic.c
33
34# intel-specific files
35.PATH: ${.CURDIR}/../../amd64/vmm/intel
36SRCS+=	ept.c		\
37	vmcs.c		\
38	vmx_msr.c	\
39	vmx.c		\
40	vtd.c
41
42# amd-specific files
43.PATH: ${.CURDIR}/../../amd64/vmm/amd
44SRCS+=	vmcb.c		\
45	svm.c		\
46	npt.c		\
47	amdv.c
48
49OBJS=	vmx_support.o svm_support.o
50
51CLEANFILES=	vmx_assym.s vmx_genassym.o svm_assym.s svm_genassym.o
52
53vmx_assym.s:    vmx_genassym.o
54.if exists(@)
55vmx_assym.s:    @/kern/genassym.sh
56.endif
57	sh @/kern/genassym.sh vmx_genassym.o > ${.TARGET}
58
59svm_assym.s:    svm_genassym.o
60.if exists(@)
61svm_assym.s:    @/kern/genassym.sh
62.endif
63	sh @/kern/genassym.sh svm_genassym.o > ${.TARGET}
64
65vmx_support.o:	vmx_support.S vmx_assym.s
66	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
67	    ${.IMPSRC} -o ${.TARGET}
68
69svm_support.o:	svm_support.S svm_assym.s
70	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
71	    ${.IMPSRC} -o ${.TARGET}
72
73vmx_genassym.o: vmx_genassym.c @ machine x86
74	${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
75
76svm_genassym.o: svm_genassym.c @ machine x86
77	${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
78.include <bsd.kmod.mk>
79