| #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 |
| |
| # 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/ |
| EXTRA_AFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/ |
| |
| common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o \ |
| coalesced_mmio.o irq_comm.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 += memcpy.o memset.o |
| obj-$(CONFIG_KVM_INTEL) += kvm-intel.o |