aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/vmm
diff options
context:
space:
mode:
authorPeter Grehan <grehan@FreeBSD.org>2011-05-13 04:54:01 +0000
committerPeter Grehan <grehan@FreeBSD.org>2011-05-13 04:54:01 +0000
commit366f60834ff8ef709f132fe8976c96a5e2caace9 (patch)
tree4af898a91c7d67e7068687610ebc68f1cbdf3b2e /sys/modules/vmm
parent9adee7d03f2e4c91e6330410f88fb5addaf2a24a (diff)
Notes
Diffstat (limited to 'sys/modules/vmm')
-rw-r--r--sys/modules/vmm/Makefile66
1 files changed, 66 insertions, 0 deletions
diff --git a/sys/modules/vmm/Makefile b/sys/modules/vmm/Makefile
new file mode 100644
index 000000000000..67c5b0f33ccc
--- /dev/null
+++ b/sys/modules/vmm/Makefile
@@ -0,0 +1,66 @@
+# $FreeBSD$
+
+# *REQUIRES* binutils 2.20.1 for VT-x instructions
+AS= /usr/local/bin/as
+LD= /usr/local/bin/ld
+CFLAGS+= -B /usr/local/bin
+
+KMOD= vmm
+
+SRCS= device_if.h bus_if.h pci_if.h
+
+CFLAGS+= -DVMM_KEEP_STATS
+CFLAGS+= -DOLD_BINUTILS
+CFLAGS+= -I${.CURDIR}/../../amd64/vmm
+CFLAGS+= -I${.CURDIR}/../../amd64/vmm/io
+CFLAGS+= -I${.CURDIR}/../../amd64/vmm/intel
+
+# generic vmm support
+.PATH: ${.CURDIR}/../../amd64/vmm
+SRCS+= vmm.c \
+ vmm_dev.c \
+ vmm_ipi.c \
+ vmm_lapic.c \
+ vmm_mem.c \
+ vmm_msr.c \
+ vmm_stat.c \
+ vmm_util.c \
+ x86.c \
+ vmm_support.S
+
+.PATH: ${.CURDIR}/../../amd64/vmm/io
+SRCS+= iommu.c \
+ ppt.c \
+ vdev.c \
+ vlapic.c
+
+# intel-specific files
+.PATH: ${.CURDIR}/../../amd64/vmm/intel
+SRCS+= ept.c \
+ vmcs.c \
+ vmx_msr.c \
+ vmx.c \
+ vtd.c
+
+# amd-specific files
+.PATH: ${.CURDIR}/../../amd64/vmm/amd
+SRCS+= amdv.c
+
+OBJS= vmx_support.o
+
+CLEANFILES= vmx_assym.s vmx_genassym.o
+
+vmx_assym.s: vmx_genassym.o
+.if exists(@)
+vmx_assym.s: @/kern/genassym.sh
+.endif
+ sh @/kern/genassym.sh vmx_genassym.o > ${.TARGET}
+
+vmx_support.o: vmx_support.S vmx_assym.s
+ ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
+ ${.IMPSRC} -o ${.TARGET}
+
+vmx_genassym.o: vmx_genassym.c @ machine
+ ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
+
+.include <bsd.kmod.mk>