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