1221828Sgrehan# $FreeBSD$
2221828Sgrehan
3221828SgrehanKMOD=	vmm
4221828Sgrehan
5254596SuqsSRCS=	opt_acpi.h opt_ddb.h device_if.h bus_if.h pci_if.h
6221828Sgrehan
7221914SjhbCFLAGS+= -DVMM_KEEP_STATS -DSMP
8254596SuqsCFLAGS+= -I${.CURDIR}/../../amd64/vmm
9254596SuqsCFLAGS+= -I${.CURDIR}/../../amd64/vmm/io
10221828SgrehanCFLAGS+= -I${.CURDIR}/../../amd64/vmm/intel
11221828Sgrehan
12221828Sgrehan# generic vmm support
13221828Sgrehan.PATH: ${.CURDIR}/../../amd64/vmm
14221828SgrehanSRCS+=	vmm.c		\
15221828Sgrehan	vmm_dev.c	\
16242275Sneel	vmm_host.c	\
17240941Sneel	vmm_instruction_emul.c	\
18221828Sgrehan	vmm_ipi.c	\
19221828Sgrehan	vmm_lapic.c	\
20221828Sgrehan	vmm_mem.c	\
21221828Sgrehan	vmm_msr.c	\
22221828Sgrehan	vmm_stat.c	\
23221828Sgrehan	vmm_util.c	\
24221828Sgrehan	x86.c		\
25221828Sgrehan	vmm_support.S
26221828Sgrehan
27221828Sgrehan.PATH: ${.CURDIR}/../../amd64/vmm/io
28221828SgrehanSRCS+=	iommu.c		\
29221828Sgrehan	ppt.c           \
30221828Sgrehan	vdev.c		\
31221828Sgrehan	vlapic.c
32221828Sgrehan
33221828Sgrehan# intel-specific files
34221828Sgrehan.PATH: ${.CURDIR}/../../amd64/vmm/intel
35221828SgrehanSRCS+=	ept.c		\
36221828Sgrehan	vmcs.c		\
37221828Sgrehan	vmx_msr.c	\
38221828Sgrehan	vmx.c		\
39221828Sgrehan	vtd.c
40221828Sgrehan
41221828Sgrehan# amd-specific files
42221828Sgrehan.PATH: ${.CURDIR}/../../amd64/vmm/amd
43221828SgrehanSRCS+=	amdv.c
44221828Sgrehan
45221828SgrehanOBJS=	vmx_support.o
46221828Sgrehan
47221828SgrehanCLEANFILES=	vmx_assym.s vmx_genassym.o
48221828Sgrehan
49221828Sgrehanvmx_assym.s:    vmx_genassym.o
50221828Sgrehan.if exists(@)
51221828Sgrehanvmx_assym.s:    @/kern/genassym.sh
52221828Sgrehan.endif
53221828Sgrehan	sh @/kern/genassym.sh vmx_genassym.o > ${.TARGET}
54221828Sgrehan
55221828Sgrehanvmx_support.o:	vmx_support.S vmx_assym.s
56221828Sgrehan	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
57221828Sgrehan	    ${.IMPSRC} -o ${.TARGET}
58221828Sgrehan
59221914Sjhbvmx_genassym.o: vmx_genassym.c @ machine x86
60221828Sgrehan	${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
61221828Sgrehan
62221828Sgrehan.include <bsd.kmod.mk>
63