Linus's recent commit 15c8b6c1 to his mainline kernel tree
has broken compilation of vbox.svn.  This fixes the problem
for 2.6.25 and 2.6.26 as well as the impending 2.6.27 series.
(Kernels 2.6.24 and earlier not tested):

--- src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c       (revision 10644)
+++ src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c       (working copy)
@@ -193,9 +193,11 @@
      Args.idCpu = NIL_RTCPUID;
      Args.cHits = 0;

-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+    rc = on_each_cpu(rtmpLinuxWrapper, &Args, 1 /* wait */);
+    rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
      rc = on_each_cpu(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-
  #else /* older kernels */

  # ifdef preempt_disable
@@ -228,7 +230,11 @@
  # ifdef preempt_disable
      preempt_disable();
  # endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+    rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
+#else
      rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait 
*/);
+#endif
  # ifdef preempt_enable
      preempt_enable();
  # endif
@@ -280,7 +286,9 @@
      {
          if (RTMpIsCpuOnline(idCpu))
          {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+            rc = smp_call_function_single(idCpu, rtmpLinuxWrapper, &Args, 1 /* 
wait */);
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
              rc = smp_call_function_single(idCpu, rtmpLinuxWrapper, &Args, 0 
/* retry */, 1 /* wait */);
  #else
              rc = smp_call_function(rtmpOnSpecificLinuxWrapper, &Args, 0 /* 
retry */, 1 /* wait */);


_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to