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