pv-on-hvm drivers: build fixes for Linux 2.6.27+
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 24 Nov 2008 11:11:20 +0000 (11:11 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 24 Nov 2008 11:11:20 +0000 (11:11 +0000)
Make the drivers build properly in a 2.6.27 environment as well as
against a kernel with pv-ops Xen configured on (in the latter case
more work would be needed to also make the drivers work, as there's a
large number of duplicate exports).

Portions from Charles Arnold <carnold@novell.com>.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
unmodified_drivers/linux-2.6/balloon/Kbuild
unmodified_drivers/linux-2.6/mkbuildtree
unmodified_drivers/linux-2.6/platform-pci/machine_reboot.c
unmodified_drivers/linux-2.6/platform-pci/platform-compat.c

index bcc8b052076c8444445d4208ab4ec20fe0a1c16a..316592d83a75df80b948c6c9d3723ec84142e1bc 100644 (file)
@@ -4,6 +4,5 @@ obj-m  = xen-balloon.o
 
 EXTRA_CFLAGS += -I$(M)/platform-pci
 
-xen-balloon-objs =
-xen-balloon-objs += balloon.o
-xen-balloon-objs += sysfs.o
+xen-balloon-y := balloon.o sysfs.o
+xen-balloon-$(CONFIG_XEN_SCRUB_PAGES) += scrub.o
index 9d0f04907e450d3f2266e406177bf90aaf484d8d..3c1c799c857678436ce3ab651408362f90cf4a4f 100755 (executable)
@@ -53,6 +53,7 @@ i[34567]86|x86_64)
         ln -sf ${XL}/include/asm-x86/mach-xen/asm/synch_bitops*.h include/asm
         ln -sf ${XL}/include/asm-x86/mach-xen/asm/maddr*.h include/asm
         ln -sf ${XL}/include/asm-x86/mach-xen/asm/gnttab_dma.h include/asm
+        ln -sf ${XL}/arch/x86/lib/scrub.c balloon
     else
         if [ $uname = x86_64 ]; then
             mkdir -p include/asm-i386
index 08bf645ef77663ebfc0ebb69d03bdd5ecfe78487..ad667128a250932486f40b462ed5360aef2058ec 100644 (file)
@@ -34,7 +34,11 @@ static void ap_suspend(void *_info)
        atomic_dec(&info->nr_spinning);
 }
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
 #define initiate_ap_suspend(i) smp_call_function(ap_suspend, i, 0, 0)
+#else
+#define initiate_ap_suspend(i) smp_call_function(ap_suspend, i, 0)
+#endif
 
 #else /* !defined(CONFIG_SMP) */
 
index 2b35c5c757bf3facbbf3551904afda23b9a9d781..e4a766a909bf4b588f8d90fc834813b8fc02a224 100644 (file)
@@ -14,7 +14,11 @@ EXPORT_SYMBOL(system_state);
 
 void ctrl_alt_del(void)
 {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
        kill_proc(1, SIGINT, 1); /* interrupt init */
+#else
+       kill_cad_pid(SIGINT, 1);
+#endif
 }
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,8)