1366f6083SPeter Grehan# $FreeBSD$ 2366f6083SPeter Grehan 3483d953aSJohn Baldwin.include <kmod.opts.mk> 4483d953aSJohn Baldwin 5366f6083SPeter GrehanKMOD= vmm 6366f6083SPeter Grehan 7483d953aSJohn BaldwinSRCS= opt_acpi.h opt_bhyve_snapshot.h opt_ddb.h 8483d953aSJohn BaldwinSRCS+= device_if.h bus_if.h pci_if.h pcib_if.h acpi_if.h vnode_if.h 9488adf43SBryan DreweryDPSRCS+= vmx_assym.h svm_assym.h 10ccca101fSBryan DreweryDPSRCS+= vmx_genassym.c svm_genassym.c offset.inc 11366f6083SPeter Grehan 12b09e7a4fSMark JohnstonCFLAGS+= -DVMM_KEEP_STATS 13193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm 14193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/io 15193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/intel 16193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/amd 17366f6083SPeter Grehan 18366f6083SPeter Grehan# generic vmm support 19193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm 20366f6083SPeter GrehanSRCS+= vmm.c \ 21366f6083SPeter Grehan vmm_dev.c \ 22b01c2033SNeel Natu vmm_host.c \ 23a2da7af6SNeel Natu vmm_instruction_emul.c \ 24762fd208STycho Nightingale vmm_ioport.c \ 25366f6083SPeter Grehan vmm_lapic.c \ 26366f6083SPeter Grehan vmm_mem.c \ 27366f6083SPeter Grehan vmm_stat.c \ 28366f6083SPeter Grehan vmm_util.c \ 2918a2b08eSNeel Natu x86.c 30366f6083SPeter Grehan 31193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/io 32366f6083SPeter GrehanSRCS+= iommu.c \ 33366f6083SPeter Grehan ppt.c \ 34762fd208STycho Nightingale vatpic.c \ 35e883c9bbSTycho Nightingale vatpit.c \ 3608e3ff32SNeel Natu vhpet.c \ 37565bbb86SNeel Natu vioapic.c \ 38160ef77aSNeel Natu vlapic.c \ 390dafa5cdSNeel Natu vpmtmr.c \ 400dafa5cdSNeel Natu vrtc.c 41366f6083SPeter Grehan 42366f6083SPeter Grehan# intel-specific files 43193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/intel 44366f6083SPeter GrehanSRCS+= ept.c \ 45366f6083SPeter Grehan vmcs.c \ 46366f6083SPeter Grehan vmx_msr.c \ 47b82e2e94SWarner Losh vmx_support.S \ 48366f6083SPeter Grehan vmx.c \ 49366f6083SPeter Grehan vtd.c 50366f6083SPeter Grehan 51366f6083SPeter Grehan# amd-specific files 52193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/amd 53df5e6de3SPeter GrehanSRCS+= vmcb.c \ 5474ada297SKa Ho Ng amdiommu.c \ 5574ada297SKa Ho Ng ivhd_if.c \ 5674ada297SKa Ho Ng ivhd_if.h \ 57df5e6de3SPeter Grehan svm.c \ 58e1a172e1SNeel Natu svm_support.S \ 59df5e6de3SPeter Grehan npt.c \ 6007ff474aSAnish Gupta ivrs_drv.c \ 6107ff474aSAnish Gupta amdvi_hw.c \ 628f02c5e4SNeel Natu svm_msr.c 63366f6083SPeter Grehan 64*c3dd45c4SJohn BaldwinSRCS.BHYVE_SNAPSHOT= vmm_snapshot.c 65483d953aSJohn Baldwin 66e1a172e1SNeel NatuCLEANFILES= vmx_assym.h vmx_genassym.o svm_assym.h svm_genassym.o 67366f6083SPeter Grehan 68488adf43SBryan DreweryOBJS_DEPEND_GUESS.vmx_support.o+= vmx_assym.h 69488adf43SBryan DreweryOBJS_DEPEND_GUESS.svm_support.o+= svm_assym.h 70488adf43SBryan Drewery 71b82e2e94SWarner Loshvmx_assym.h: vmx_genassym.o 72528013d5SWarner Losh sh ${SYSDIR}/kern/genassym.sh vmx_genassym.o > ${.TARGET} 73366f6083SPeter Grehan 74e1a172e1SNeel Natusvm_assym.h: svm_genassym.o 75528013d5SWarner Losh sh ${SYSDIR}/kern/genassym.sh svm_genassym.o > ${.TARGET} 76df5e6de3SPeter Grehan 77b82e2e94SWarner Loshvmx_support.o: 78366f6083SPeter Grehan ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ 79366f6083SPeter Grehan ${.IMPSRC} -o ${.TARGET} 80366f6083SPeter Grehan 81e1a172e1SNeel Natusvm_support.o: 82df5e6de3SPeter Grehan ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ 83df5e6de3SPeter Grehan ${.IMPSRC} -o ${.TARGET} 84df5e6de3SPeter Grehan 85ccca101fSBryan Dreweryvmx_genassym.o: offset.inc 864db3ef4cSAlex Richardson ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} 87366f6083SPeter Grehan 88ccca101fSBryan Drewerysvm_genassym.o: offset.inc 894db3ef4cSAlex Richardson ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} 90e1a172e1SNeel Natu 91366f6083SPeter Grehan.include <bsd.kmod.mk> 92