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