blob: 882864a69b2e290daa7ce0258cb0047dbcf0b0bf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# $FreeBSD$
KMOD= vmm
SRCS= opt_acpi.h opt_ddb.h device_if.h bus_if.h pci_if.h
SRCS+= vmx_assym.h svm_assym.h
DPSRCS= vmx_genassym.c svm_genassym.c
CFLAGS+= -DVMM_KEEP_STATS -DSMP
CFLAGS+= -I${SRCTOP}/sys/amd64/vmm
CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/io
CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/intel
CFLAGS+= -I${SRCTOP}/sys/amd64/vmm/amd
# generic vmm support
.PATH: ${SRCTOP}/sys/amd64/vmm
SRCS+= vmm.c \
vmm_dev.c \
vmm_host.c \
vmm_instruction_emul.c \
vmm_ioport.c \
vmm_lapic.c \
vmm_mem.c \
vmm_stat.c \
vmm_util.c \
x86.c
.PATH: ${SRCTOP}/sys/amd64/vmm/io
SRCS+= iommu.c \
ppt.c \
vatpic.c \
vatpit.c \
vhpet.c \
vioapic.c \
vlapic.c \
vpmtmr.c \
vrtc.c
# intel-specific files
.PATH: ${SRCTOP}/sys/amd64/vmm/intel
SRCS+= ept.c \
vmcs.c \
vmx_msr.c \
vmx_support.S \
vmx.c \
vtd.c
# amd-specific files
.PATH: ${SRCTOP}/sys/amd64/vmm/amd
SRCS+= vmcb.c \
svm.c \
svm_support.S \
npt.c \
amdv.c \
svm_msr.c
CLEANFILES= vmx_assym.h vmx_genassym.o svm_assym.h svm_genassym.o
vmx_assym.h: vmx_genassym.o
sh ${SYSDIR}/kern/genassym.sh vmx_genassym.o > ${.TARGET}
svm_assym.h: svm_genassym.o
sh ${SYSDIR}/kern/genassym.sh svm_genassym.o > ${.TARGET}
vmx_support.o:
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
${.IMPSRC} -o ${.TARGET}
svm_support.o:
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
${.IMPSRC} -o ${.TARGET}
vmx_genassym.o:
${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
svm_genassym.o:
${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
.include <bsd.kmod.mk>
|