1366f6083SPeter Grehan 2483d953aSJohn Baldwin.include <kmod.opts.mk> 3483d953aSJohn Baldwin 4366f6083SPeter GrehanKMOD= vmm 5366f6083SPeter Grehan 6483d953aSJohn BaldwinSRCS= opt_acpi.h opt_bhyve_snapshot.h opt_ddb.h 7483d953aSJohn BaldwinSRCS+= device_if.h bus_if.h pci_if.h pcib_if.h acpi_if.h vnode_if.h 8488adf43SBryan DreweryDPSRCS+= vmx_assym.h svm_assym.h 9ccca101fSBryan DreweryDPSRCS+= vmx_genassym.c svm_genassym.c offset.inc 10366f6083SPeter Grehan 11b09e7a4fSMark JohnstonCFLAGS+= -DVMM_KEEP_STATS 12193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm 13193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/io 14193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/intel 15193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/amd 16366f6083SPeter Grehan 17366f6083SPeter Grehan# generic vmm support 18193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm 19366f6083SPeter GrehanSRCS+= vmm.c \ 20366f6083SPeter Grehan vmm_dev.c \ 21b01c2033SNeel Natu vmm_host.c \ 22a2da7af6SNeel Natu vmm_instruction_emul.c \ 23762fd208STycho Nightingale vmm_ioport.c \ 24366f6083SPeter Grehan vmm_lapic.c \ 25366f6083SPeter Grehan vmm_mem.c \ 26366f6083SPeter Grehan vmm_stat.c \ 27366f6083SPeter Grehan vmm_util.c \ 2818a2b08eSNeel Natu x86.c 29366f6083SPeter Grehan 30193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/io 31366f6083SPeter GrehanSRCS+= iommu.c \ 32366f6083SPeter Grehan ppt.c \ 33762fd208STycho Nightingale vatpic.c \ 34e883c9bbSTycho Nightingale vatpit.c \ 3508e3ff32SNeel Natu vhpet.c \ 36565bbb86SNeel Natu vioapic.c \ 37160ef77aSNeel Natu vlapic.c \ 380dafa5cdSNeel Natu vpmtmr.c \ 390dafa5cdSNeel Natu vrtc.c 40366f6083SPeter Grehan 41366f6083SPeter Grehan# intel-specific files 42193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/intel 43366f6083SPeter GrehanSRCS+= ept.c \ 44366f6083SPeter Grehan vmcs.c \ 45366f6083SPeter Grehan vmx_msr.c \ 46b82e2e94SWarner Losh vmx_support.S \ 47366f6083SPeter Grehan vmx.c \ 48366f6083SPeter Grehan vtd.c 49366f6083SPeter Grehan 50366f6083SPeter Grehan# amd-specific files 51193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/amd 52df5e6de3SPeter GrehanSRCS+= vmcb.c \ 5374ada297SKa Ho Ng amdiommu.c \ 5474ada297SKa Ho Ng ivhd_if.c \ 5574ada297SKa Ho Ng ivhd_if.h \ 56df5e6de3SPeter Grehan svm.c \ 57e1a172e1SNeel Natu svm_support.S \ 58df5e6de3SPeter Grehan npt.c \ 5907ff474aSAnish Gupta ivrs_drv.c \ 6007ff474aSAnish Gupta amdvi_hw.c \ 618f02c5e4SNeel Natu svm_msr.c 62366f6083SPeter Grehan 63*c3dd45c4SJohn BaldwinSRCS.BHYVE_SNAPSHOT= vmm_snapshot.c 64483d953aSJohn Baldwin 65e1a172e1SNeel NatuCLEANFILES= vmx_assym.h vmx_genassym.o svm_assym.h svm_genassym.o 66366f6083SPeter Grehan 67488adf43SBryan DreweryOBJS_DEPEND_GUESS.vmx_support.o+= vmx_assym.h 68488adf43SBryan DreweryOBJS_DEPEND_GUESS.svm_support.o+= svm_assym.h 69488adf43SBryan Drewery 70b82e2e94SWarner Loshvmx_assym.h: vmx_genassym.o 71528013d5SWarner Losh sh ${SYSDIR}/kern/genassym.sh vmx_genassym.o > ${.TARGET} 72366f6083SPeter Grehan 73e1a172e1SNeel Natusvm_assym.h: svm_genassym.o 74528013d5SWarner Losh sh ${SYSDIR}/kern/genassym.sh svm_genassym.o > ${.TARGET} 75df5e6de3SPeter Grehan 76b82e2e94SWarner Loshvmx_support.o: 77366f6083SPeter Grehan ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ 78366f6083SPeter Grehan ${.IMPSRC} -o ${.TARGET} 79366f6083SPeter Grehan 80e1a172e1SNeel Natusvm_support.o: 81df5e6de3SPeter Grehan ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ 82df5e6de3SPeter Grehan ${.IMPSRC} -o ${.TARGET} 83df5e6de3SPeter Grehan 84ccca101fSBryan Dreweryvmx_genassym.o: offset.inc 854db3ef4cSAlex Richardson ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} 86366f6083SPeter Grehan 87ccca101fSBryan Drewerysvm_genassym.o: offset.inc 884db3ef4cSAlex Richardson ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} 89e1a172e1SNeel Natu 90366f6083SPeter Grehan.include <bsd.kmod.mk> 91