KVM: Add coalesced MMIO support (ia64 part)
authorLaurent Vivier <Laurent.Vivier@bull.net>
Fri, 30 May 2008 14:05:57 +0000 (16:05 +0200)
committerAvi Kivity <avi@qumranet.com>
Sun, 20 Jul 2008 09:42:31 +0000 (12:42 +0300)
This patch enables coalesced MMIO for ia64 architecture.
It defines KVM_MMIO_PAGE_OFFSET and KVM_CAP_COALESCED_MMIO.
It enables the compilation of coalesced_mmio.c.

[akpm: fix compile error on ia64]

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/ia64/kvm/Makefile
arch/ia64/kvm/kvm-ia64.c
include/asm-ia64/kvm_host.h

index 112791dd2542b19145155d4285669012fabe94ff..bf22fb9e6dcf8f04f5a289dad646ec7b8229511e 100644 (file)
@@ -43,7 +43,8 @@ $(obj)/$(offsets-file): arch/ia64/kvm/asm-offsets.s
 EXTRA_CFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/
 EXTRA_AFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/
 
 EXTRA_CFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/
 EXTRA_AFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/
 
-common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o)
+common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o \
+               coalesced_mmio.o)
 
 kvm-objs := $(common-objs) kvm-ia64.o kvm_fw.o
 obj-$(CONFIG_KVM) += kvm.o
 
 kvm-objs := $(common-objs) kvm-ia64.o kvm_fw.o
 obj-$(CONFIG_KVM) += kvm.o
index bb58df7cc4184fd9a63ad3b8377db8e257273d67..9408b30576d6437147c0bf2b45baa2a6eeab9203 100644 (file)
@@ -187,6 +187,9 @@ int kvm_dev_ioctl_check_extension(long ext)
 
                r = 1;
                break;
 
                r = 1;
                break;
+       case KVM_CAP_COALESCED_MMIO:
+               r = KVM_COALESCED_MMIO_PAGE_OFFSET;
+               break;
        default:
                r = 0;
        }
        default:
                r = 0;
        }
index 5c958b0c46b18994cf99d6f0f4822abb669e7e3e..1efe513a99415c6b0557ae6e00486ac5bd50c327 100644 (file)
@@ -38,6 +38,7 @@
 /* memory slots that does not exposed to userspace */
 #define KVM_PRIVATE_MEM_SLOTS 4
 
 /* memory slots that does not exposed to userspace */
 #define KVM_PRIVATE_MEM_SLOTS 4
 
+#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
 
 /* define exit reasons from vmm to kvm*/
 #define EXIT_REASON_VM_PANIC           0
 
 /* define exit reasons from vmm to kvm*/
 #define EXIT_REASON_VM_PANIC           0