File IA64-kvm-suse.patch of Package kvm-kmp

From: Raymund Will <rw@iridium.suse.de>
Date: Tue,  1 Oct 2008 11:40:05 +0200
Subject: [PATCH] KVM-ia64 build fix for SuSE Linux

---
 qemu/Makefile.target   |    6 ++++--
 qemu/ia64.ld           |    2 +-
 qemu/target-ia64/cpu.h |    2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)

Index: kvm-kmod-2.6.30.1/ia64/Makefile.pre
===================================================================
--- kvm-kmod-2.6.30.1.orig/ia64/Makefile.pre
+++ kvm-kmod-2.6.30.1/ia64/Makefile.pre
@@ -1,9 +1,9 @@
 prerequisite: asm-offsets.h ia64/memset.S ia64/memcpy.S
-	cp -f $(KERNELDIR)/arch/ia64/lib/memcpy.S ia64/memcpy.S
-	cp -f $(KERNELDIR)/arch/ia64/lib/memset.S ia64/memset.S
+	cp -f /usr/src/linux/arch/ia64/lib/memcpy.S ia64/memcpy.S
+	cp -f /usr/src/linux/arch/ia64/lib/memset.S ia64/memset.S
 	cmp -s asm-offset.h ia64/asm-offset.h || mv -f asm-offsets.* ia64/
-	cp -f $(KERNELDIR)/lib/vsprintf.c ia64/vsprintf.c
-	cp -f $(KERNELDIR)/lib/ctype.c ia64/ctype.c
+	cp -f /usr/src/linux/lib/vsprintf.c ia64/vsprintf.c
+	cp -f /usr/src/linux/lib/ctype.c ia64/ctype.c
 	sed -i /^EXPORT_SYMBOL/d ia64/vsprintf.c
 	sed -i /^EXPORT_SYMBOL/d ia64/ctype.c
 
@@ -24,4 +24,4 @@ asm-offsets.h: asm-offsets.s
 	  echo "#endif") <$< >$@
 
 asm-offsets.s: ia64/asm-offsets.c
-	gcc -S -D__KERNEL__ -I./include -I$(KERNELDIR)/include -I$(KERNELDIR)/arch/ia64/include ia64/asm-offsets.c
+	gcc -S -D__KERNEL__ -I./include -I$(KERNELDIR)/include -I$(KERNELDIR)/arch/ia64/include -Iinclude2 -I/usr/src/linux/include -I/usr/src/linux/arch/ia64/include ia64/asm-offsets.c
Index: kvm-kmod-2.6.30.1/include/asm-ia64/nr-irqs.h
===================================================================
--- /dev/null
+++ kvm-kmod-2.6.30.1/include/asm-ia64/nr-irqs.h
@@ -0,0 +1,12 @@
+#ifndef __ASM_NR_IRQS_H__
+#define __ASM_NR_IRQS_H__
+/*
+ * DO NOT MODIFY.
+ *
+ * This file was generated by Kbuild
+ *
+ */
+
+#define NR_IRQS 1024 /* sizeof (union paravirt_nr_irqs_max)	// */
+
+#endif
Index: kvm-kmod-2.6.30.1/ia64/kvm_main.c
===================================================================
--- kvm-kmod-2.6.30.1.orig/ia64/kvm_main.c
+++ kvm-kmod-2.6.30.1/ia64/kvm_main.c
@@ -1,3 +1,6 @@
+#define VMA_OPS_FAULT(x) x
+#define VMA_OPS_FAULT_FUNC(x) x
+
 #ifndef KVM_UNIFDEF_H
 #define KVM_UNIFDEF_H
 
@@ -2478,7 +2481,7 @@ IF_ANON_INODES_DOES_REFCOUNTS(	kvm_vcpu_
 		__free_page(bad_page);
 		goto out;
 	}
-	preempt_notifier_sys_init();
+	// preempt_notifier_sys_init();
 	printk("loaded kvm module (kvm-kmod-2.6.30.1)\n");
 
 	return 0;
@@ -2523,6 +2526,6 @@ void kvm_exit(void)
 	free_cpumask_var(cpus_hardware_enabled);
 	__free_page(bad_page);
 	kvm_exit_anon_inodes();
-	preempt_notifier_sys_exit();
+	// preempt_notifier_sys_exit();
 }
 EXPORT_SYMBOL_GPL(kvm_exit);
Index: kvm-kmod-2.6.30.1/ia64/vtlb.c
===================================================================
--- kvm-kmod-2.6.30.1.orig/ia64/vtlb.c
+++ kvm-kmod-2.6.30.1/ia64/vtlb.c
@@ -250,7 +250,7 @@ void thash_vhpt_insert(struct kvm_vcpu *
 		phy_pte  &= ~PAGE_FLAGS_RV_MASK;
 		psr = ia64_clear_ic();
 		ia64_itc(type, va, phy_pte, itir_ps(itir));
-		paravirt_dv_serialize_data();
+		// paravirt_dv_serialize_data();
 		ia64_set_psr(psr);
 	}
 
@@ -497,7 +497,7 @@ void  thash_purge_and_insert(struct kvm_
 		phy_pte  &= ~PAGE_FLAGS_RV_MASK;
 		psr = ia64_clear_ic();
 		ia64_itc(type, ifa, phy_pte, ps);
-		paravirt_dv_serialize_data();
+		// paravirt_dv_serialize_data();
 		ia64_set_psr(psr);
 	}
 	if (!(pte&VTLB_PTE_IO))
openSUSE Build Service is sponsored by