1366f6083SPeter Grehan# $FreeBSD$ 2366f6083SPeter Grehan 3366f6083SPeter GrehanKMOD= vmm 4366f6083SPeter Grehan 507ff474aSAnish GuptaSRCS= opt_acpi.h opt_ddb.h device_if.h bus_if.h pci_if.h pcib_if.h acpi_if.h 6*488adf43SBryan DreweryDPSRCS+= vmx_assym.h svm_assym.h 7*488adf43SBryan DreweryDPSRCS+= vmx_genassym.c svm_genassym.c 8366f6083SPeter Grehan 934a6b2d6SJohn BaldwinCFLAGS+= -DVMM_KEEP_STATS -DSMP 10193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm 11193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/io 12193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/intel 13193d9e76SEnji CooperCFLAGS+= -I${SRCTOP}/sys/amd64/vmm/amd 14366f6083SPeter Grehan 15366f6083SPeter Grehan# generic vmm support 16193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm 17366f6083SPeter GrehanSRCS+= vmm.c \ 18366f6083SPeter Grehan vmm_dev.c \ 19b01c2033SNeel Natu vmm_host.c \ 20a2da7af6SNeel Natu vmm_instruction_emul.c \ 21762fd208STycho Nightingale vmm_ioport.c \ 22366f6083SPeter Grehan vmm_lapic.c \ 23366f6083SPeter Grehan vmm_mem.c \ 24366f6083SPeter Grehan vmm_stat.c \ 25366f6083SPeter Grehan vmm_util.c \ 2618a2b08eSNeel Natu x86.c 27366f6083SPeter Grehan 28193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/io 29366f6083SPeter GrehanSRCS+= iommu.c \ 30366f6083SPeter Grehan ppt.c \ 31762fd208STycho Nightingale vatpic.c \ 32e883c9bbSTycho Nightingale vatpit.c \ 3308e3ff32SNeel Natu vhpet.c \ 34565bbb86SNeel Natu vioapic.c \ 35160ef77aSNeel Natu vlapic.c \ 360dafa5cdSNeel Natu vpmtmr.c \ 370dafa5cdSNeel Natu vrtc.c 38366f6083SPeter Grehan 39366f6083SPeter Grehan# intel-specific files 40193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/intel 41366f6083SPeter GrehanSRCS+= ept.c \ 42366f6083SPeter Grehan vmcs.c \ 43366f6083SPeter Grehan vmx_msr.c \ 44b82e2e94SWarner Losh vmx_support.S \ 45366f6083SPeter Grehan vmx.c \ 46366f6083SPeter Grehan vtd.c 47366f6083SPeter Grehan 48366f6083SPeter Grehan# amd-specific files 49193d9e76SEnji Cooper.PATH: ${SRCTOP}/sys/amd64/vmm/amd 50df5e6de3SPeter GrehanSRCS+= vmcb.c \ 51df5e6de3SPeter Grehan svm.c \ 52e1a172e1SNeel Natu svm_support.S \ 53df5e6de3SPeter Grehan npt.c \ 5407ff474aSAnish Gupta ivrs_drv.c \ 5507ff474aSAnish Gupta amdvi_hw.c \ 568f02c5e4SNeel Natu svm_msr.c 57366f6083SPeter Grehan 58e1a172e1SNeel NatuCLEANFILES= vmx_assym.h vmx_genassym.o svm_assym.h svm_genassym.o 59366f6083SPeter Grehan 60*488adf43SBryan DreweryOBJS_DEPEND_GUESS.vmx_support.o+= vmx_assym.h 61*488adf43SBryan DreweryOBJS_DEPEND_GUESS.svm_support.o+= svm_assym.h 62*488adf43SBryan Drewery 63b82e2e94SWarner Loshvmx_assym.h: vmx_genassym.o 64528013d5SWarner Losh sh ${SYSDIR}/kern/genassym.sh vmx_genassym.o > ${.TARGET} 65366f6083SPeter Grehan 66e1a172e1SNeel Natusvm_assym.h: svm_genassym.o 67528013d5SWarner Losh sh ${SYSDIR}/kern/genassym.sh svm_genassym.o > ${.TARGET} 68df5e6de3SPeter Grehan 69b82e2e94SWarner Loshvmx_support.o: 70366f6083SPeter Grehan ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ 71366f6083SPeter Grehan ${.IMPSRC} -o ${.TARGET} 72366f6083SPeter Grehan 73e1a172e1SNeel Natusvm_support.o: 74df5e6de3SPeter Grehan ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ 75df5e6de3SPeter Grehan ${.IMPSRC} -o ${.TARGET} 76df5e6de3SPeter Grehan 77b82e2e94SWarner Loshvmx_genassym.o: 780e8b3ab3SEd Maste ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} 79366f6083SPeter Grehan 80e1a172e1SNeel Natusvm_genassym.o: 810e8b3ab3SEd Maste ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} 82e1a172e1SNeel Natu 83366f6083SPeter Grehan.include <bsd.kmod.mk> 84