]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/modules/vmm/Makefile
e1000: Update copyrights and readme
[FreeBSD/FreeBSD.git] / sys / modules / vmm / Makefile
1 # $FreeBSD$
2
3 .include <kmod.opts.mk>
4
5 KMOD=   vmm
6
7 SRCS=   opt_acpi.h opt_bhyve_snapshot.h opt_ddb.h
8 SRCS+=  device_if.h bus_if.h pci_if.h pcib_if.h acpi_if.h vnode_if.h
9 DPSRCS+=        vmx_assym.h svm_assym.h
10 DPSRCS+=        vmx_genassym.c svm_genassym.c offset.inc
11
12 CFLAGS+= -DVMM_KEEP_STATS
13 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm
14 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/io
15 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/intel
16 CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/amd
17
18 # generic vmm support
19 .PATH: ${SRCTOP}/sys/amd64/vmm
20 SRCS+=  vmm.c           \
21         vmm_dev.c       \
22         vmm_host.c      \
23         vmm_instruction_emul.c  \
24         vmm_ioport.c    \
25         vmm_lapic.c     \
26         vmm_mem.c       \
27         vmm_stat.c      \
28         vmm_util.c      \
29         x86.c
30
31 .PATH: ${SRCTOP}/sys/amd64/vmm/io
32 SRCS+=  iommu.c         \
33         ppt.c           \
34         vatpic.c        \
35         vatpit.c        \
36         vhpet.c         \
37         vioapic.c       \
38         vlapic.c        \
39         vpmtmr.c        \
40         vrtc.c
41
42 # intel-specific files
43 .PATH: ${SRCTOP}/sys/amd64/vmm/intel
44 SRCS+=  ept.c           \
45         vmcs.c          \
46         vmx_msr.c       \
47         vmx_support.S   \
48         vmx.c           \
49         vtd.c
50
51 # amd-specific files
52 .PATH: ${SRCTOP}/sys/amd64/vmm/amd
53 SRCS+=  vmcb.c          \
54         amdiommu.c      \
55         ivhd_if.c       \
56         ivhd_if.h       \
57         svm.c           \
58         svm_support.S   \
59         npt.c           \
60         ivrs_drv.c      \
61         amdvi_hw.c      \
62         svm_msr.c
63
64 .if ${KERN_OPTS:MBHYVE_SNAPSHOT} != ""
65 SRCS+=  vmm_snapshot.c
66 .endif
67
68 CLEANFILES=     vmx_assym.h vmx_genassym.o svm_assym.h svm_genassym.o
69
70 OBJS_DEPEND_GUESS.vmx_support.o+= vmx_assym.h
71 OBJS_DEPEND_GUESS.svm_support.o+= svm_assym.h
72
73 vmx_assym.h:    vmx_genassym.o
74         sh ${SYSDIR}/kern/genassym.sh vmx_genassym.o > ${.TARGET}
75
76 svm_assym.h:    svm_genassym.o
77         sh ${SYSDIR}/kern/genassym.sh svm_genassym.o > ${.TARGET}
78
79 vmx_support.o:
80         ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
81             ${.IMPSRC} -o ${.TARGET}
82
83 svm_support.o:
84         ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
85             ${.IMPSRC} -o ${.TARGET}
86
87 vmx_genassym.o: offset.inc
88         ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC}
89
90 svm_genassym.o: offset.inc
91         ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC}
92
93 .include <bsd.kmod.mk>