mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
KVM: ia64: Enable kvm build for ia64
Update the related Makefile and KConfig for kvm build Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
ad86b6c36b
commit
b693919ca9
4 changed files with 111 additions and 0 deletions
|
@ -19,6 +19,7 @@ config IA64
|
||||||
select HAVE_OPROFILE
|
select HAVE_OPROFILE
|
||||||
select HAVE_KPROBES
|
select HAVE_KPROBES
|
||||||
select HAVE_KRETPROBES
|
select HAVE_KRETPROBES
|
||||||
|
select HAVE_KVM
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
The Itanium Processor Family is Intel's 64-bit successor to
|
The Itanium Processor Family is Intel's 64-bit successor to
|
||||||
|
@ -589,6 +590,8 @@ config MSPEC
|
||||||
|
|
||||||
source "fs/Kconfig"
|
source "fs/Kconfig"
|
||||||
|
|
||||||
|
source "arch/ia64/kvm/Kconfig"
|
||||||
|
|
||||||
source "lib/Kconfig"
|
source "lib/Kconfig"
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -57,6 +57,7 @@ core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/
|
||||||
core-$(CONFIG_IA64_HP_ZX1) += arch/ia64/dig/
|
core-$(CONFIG_IA64_HP_ZX1) += arch/ia64/dig/
|
||||||
core-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/dig/
|
core-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += arch/ia64/dig/
|
||||||
core-$(CONFIG_IA64_SGI_SN2) += arch/ia64/sn/
|
core-$(CONFIG_IA64_SGI_SN2) += arch/ia64/sn/
|
||||||
|
core-$(CONFIG_KVM) += arch/ia64/kvm/
|
||||||
|
|
||||||
drivers-$(CONFIG_PCI) += arch/ia64/pci/
|
drivers-$(CONFIG_PCI) += arch/ia64/pci/
|
||||||
drivers-$(CONFIG_IA64_HP_SIM) += arch/ia64/hp/sim/
|
drivers-$(CONFIG_IA64_HP_SIM) += arch/ia64/hp/sim/
|
||||||
|
|
46
arch/ia64/kvm/Kconfig
Normal file
46
arch/ia64/kvm/Kconfig
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#
|
||||||
|
# KVM configuration
|
||||||
|
#
|
||||||
|
config HAVE_KVM
|
||||||
|
bool
|
||||||
|
|
||||||
|
menuconfig VIRTUALIZATION
|
||||||
|
bool "Virtualization"
|
||||||
|
depends on HAVE_KVM || IA64
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
Say Y here to get to see options for using your Linux host to run other
|
||||||
|
operating systems inside virtual machines (guests).
|
||||||
|
This option alone does not add any kernel code.
|
||||||
|
|
||||||
|
If you say N, all options in this submenu will be skipped and disabled.
|
||||||
|
|
||||||
|
if VIRTUALIZATION
|
||||||
|
|
||||||
|
config KVM
|
||||||
|
tristate "Kernel-based Virtual Machine (KVM) support"
|
||||||
|
depends on HAVE_KVM && EXPERIMENTAL
|
||||||
|
select PREEMPT_NOTIFIERS
|
||||||
|
select ANON_INODES
|
||||||
|
---help---
|
||||||
|
Support hosting fully virtualized guest machines using hardware
|
||||||
|
virtualization extensions. You will need a fairly recent
|
||||||
|
processor equipped with virtualization extensions. You will also
|
||||||
|
need to select one or more of the processor modules below.
|
||||||
|
|
||||||
|
This module provides access to the hardware capabilities through
|
||||||
|
a character device node named /dev/kvm.
|
||||||
|
|
||||||
|
To compile this as a module, choose M here: the module
|
||||||
|
will be called kvm.
|
||||||
|
|
||||||
|
If unsure, say N.
|
||||||
|
|
||||||
|
config KVM_INTEL
|
||||||
|
tristate "KVM for Intel Itanium 2 processors support"
|
||||||
|
depends on KVM && m
|
||||||
|
---help---
|
||||||
|
Provides support for KVM on Itanium 2 processors equipped with the VT
|
||||||
|
extensions.
|
||||||
|
|
||||||
|
endif # VIRTUALIZATION
|
61
arch/ia64/kvm/Makefile
Normal file
61
arch/ia64/kvm/Makefile
Normal file
|
@ -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
|
Loading…
Reference in a new issue