|
@@ -0,0 +1,61 @@
|
|
|
+#This Make file is to generate asm-offsets.h and build source.
|
|
|
+#
|
|
|
+
|
|
|
+#Generate asm-offsets.h for vmm module build
|
|
|
+offsets-file := asm-offsets.h
|
|
|
+
|
|
|
+always := $(offsets-file)
|
|
|
+targets := $(offsets-file)
|
|
|
+targets += arch/ia64/kvm/asm-offsets.s
|
|
|
+clean-files := $(addprefix $(objtree)/,$(targets) $(obj)/memcpy.S $(obj)/memset.S)
|
|
|
+
|
|
|
+# Default sed regexp - multiline due to syntax constraints
|
|
|
+define sed-y
|
|
|
+ "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"
|
|
|
+endef
|
|
|
+
|
|
|
+quiet_cmd_offsets = GEN $@
|
|
|
+define cmd_offsets
|
|
|
+ (set -e; \
|
|
|
+ echo "#ifndef __ASM_KVM_OFFSETS_H__"; \
|
|
|
+ echo "#define __ASM_KVM_OFFSETS_H__"; \
|
|
|
+ echo "/*"; \
|
|
|
+ echo " * DO NOT MODIFY."; \
|
|
|
+ echo " *"; \
|
|
|
+ echo " * This file was generated by Makefile"; \
|
|
|
+ echo " *"; \
|
|
|
+ echo " */"; \
|
|
|
+ echo ""; \
|
|
|
+ sed -ne $(sed-y) $<; \
|
|
|
+ echo ""; \
|
|
|
+ echo "#endif" ) > $@
|
|
|
+endef
|
|
|
+# We use internal rules to avoid the "is up to date" message from make
|
|
|
+arch/ia64/kvm/asm-offsets.s: arch/ia64/kvm/asm-offsets.c
|
|
|
+ $(call if_changed_dep,cc_s_c)
|
|
|
+
|
|
|
+$(obj)/$(offsets-file): arch/ia64/kvm/asm-offsets.s
|
|
|
+ $(call cmd,offsets)
|
|
|
+
|
|
|
+#
|
|
|
+# Makefile for Kernel-based Virtual Machine module
|
|
|
+#
|
|
|
+
|
|
|
+EXTRA_CFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/
|
|
|
+
|
|
|
+$(addprefix $(objtree)/,$(obj)/memcpy.S $(obj)/memset.S):
|
|
|
+ $(shell ln -snf ../lib/memcpy.S $(src)/memcpy.S)
|
|
|
+ $(shell ln -snf ../lib/memset.S $(src)/memset.S)
|
|
|
+
|
|
|
+common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o)
|
|
|
+
|
|
|
+kvm-objs := $(common-objs) kvm-ia64.o kvm_fw.o
|
|
|
+obj-$(CONFIG_KVM) += kvm.o
|
|
|
+
|
|
|
+FORCE : $(obj)/$(offsets-file)
|
|
|
+EXTRA_CFLAGS_vcpu.o += -mfixed-range=f2-f5,f12-f127
|
|
|
+kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o mmio.o \
|
|
|
+ vtlb.o process.o
|
|
|
+#Add link memcpy and memset to avoid possible structure assignment error
|
|
|
+kvm-intel-objs += memset.o memcpy.o
|
|
|
+obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
|