xref: /freebsd/sys/modules/vmm/Makefile (revision 488adf43d40fbe074527cd24a4bcb81e4ea6d9a4)
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