xref: /freebsd/sys/modules/vmm/Makefile (revision a2da7af6bc22d3df7f45e71d4233a3a155f66b8a)
1366f6083SPeter Grehan# $FreeBSD$
2366f6083SPeter Grehan
3366f6083SPeter GrehanKMOD=	vmm
4366f6083SPeter Grehan
56c212efcSJohn BaldwinSRCS=	opt_ddb.h device_if.h bus_if.h pci_if.h
6366f6083SPeter Grehan
734a6b2d6SJohn BaldwinCFLAGS+= -DVMM_KEEP_STATS -DSMP
8366f6083SPeter GrehanCFLAGS+= -I${.CURDIR}/../../amd64/vmm
9366f6083SPeter GrehanCFLAGS+= -I${.CURDIR}/../../amd64/vmm/io
10366f6083SPeter GrehanCFLAGS+= -I${.CURDIR}/../../amd64/vmm/intel
11366f6083SPeter Grehan
12366f6083SPeter Grehan# generic vmm support
13366f6083SPeter Grehan.PATH: ${.CURDIR}/../../amd64/vmm
14366f6083SPeter GrehanSRCS+=	vmm.c		\
15366f6083SPeter Grehan	vmm_dev.c	\
16*a2da7af6SNeel Natu	vmm_instruction_emul.c	\
17366f6083SPeter Grehan	vmm_ipi.c	\
18366f6083SPeter Grehan	vmm_lapic.c	\
19366f6083SPeter Grehan	vmm_mem.c	\
20366f6083SPeter Grehan	vmm_msr.c	\
21366f6083SPeter Grehan	vmm_stat.c	\
22366f6083SPeter Grehan	vmm_util.c	\
23366f6083SPeter Grehan	x86.c		\
24366f6083SPeter Grehan	vmm_support.S
25366f6083SPeter Grehan
26366f6083SPeter Grehan.PATH: ${.CURDIR}/../../amd64/vmm/io
27366f6083SPeter GrehanSRCS+=	iommu.c		\
28366f6083SPeter Grehan	ppt.c           \
29366f6083SPeter Grehan	vdev.c		\
30366f6083SPeter Grehan	vlapic.c
31366f6083SPeter Grehan
32366f6083SPeter Grehan# intel-specific files
33366f6083SPeter Grehan.PATH: ${.CURDIR}/../../amd64/vmm/intel
34366f6083SPeter GrehanSRCS+=	ept.c		\
35366f6083SPeter Grehan	vmcs.c		\
36366f6083SPeter Grehan	vmx_msr.c	\
37366f6083SPeter Grehan	vmx.c		\
38366f6083SPeter Grehan	vtd.c
39366f6083SPeter Grehan
40366f6083SPeter Grehan# amd-specific files
41366f6083SPeter Grehan.PATH: ${.CURDIR}/../../amd64/vmm/amd
42366f6083SPeter GrehanSRCS+=	amdv.c
43366f6083SPeter Grehan
44366f6083SPeter GrehanOBJS=	vmx_support.o
45366f6083SPeter Grehan
46366f6083SPeter GrehanCLEANFILES=	vmx_assym.s vmx_genassym.o
47366f6083SPeter Grehan
48366f6083SPeter Grehanvmx_assym.s:    vmx_genassym.o
49366f6083SPeter Grehan.if exists(@)
50366f6083SPeter Grehanvmx_assym.s:    @/kern/genassym.sh
51366f6083SPeter Grehan.endif
52366f6083SPeter Grehan	sh @/kern/genassym.sh vmx_genassym.o > ${.TARGET}
53366f6083SPeter Grehan
54366f6083SPeter Grehanvmx_support.o:	vmx_support.S vmx_assym.s
55366f6083SPeter Grehan	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
56366f6083SPeter Grehan	    ${.IMPSRC} -o ${.TARGET}
57366f6083SPeter Grehan
5834a6b2d6SJohn Baldwinvmx_genassym.o: vmx_genassym.c @ machine x86
59366f6083SPeter Grehan	${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
60366f6083SPeter Grehan
61366f6083SPeter Grehan.include <bsd.kmod.mk>
62