summaryrefslogtreecommitdiffstats
path: root/sys/modules
diff options
context:
space:
mode:
Diffstat (limited to 'sys/modules')
-rw-r--r--sys/modules/Makefile2
-rw-r--r--sys/modules/vmm/Makefile66
2 files changed, 68 insertions, 0 deletions
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index e781da0..127c3e0 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -290,6 +290,7 @@ SUBDIR= ${_3dfx} \
${_vesa} \
vge \
vkbd \
+ ${_vmm} \
${_vpo} \
vr \
vx \
@@ -557,6 +558,7 @@ _sppp= sppp
_tmpfs= tmpfs
_twa= twa
_vesa= vesa
+_vmm= vmm
_x86bios= x86bios
_wi= wi
_wpi= wpi
diff --git a/sys/modules/vmm/Makefile b/sys/modules/vmm/Makefile
new file mode 100644
index 0000000..67c5b0f
--- /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>
OpenPOWER on IntegriCloud