[vbox-dev] VirtualBox Fix for kernel 2.6.33

Larry Finger Larry.Finger at lwfinger.net
Mon Dec 28 03:09:42 GMT 2009


In kernel 2.6.33, the file include/linux/autoconf.h is no longer
created. The following patch skips including this file for kernels
2.6.33 or later.

This patch was suggested by a tip by Sid Boyce.
(http://www.mail-archive.com/vbox-users@virtualbox.org/msg07781.html)

Signed-off-by: Larry Finger <Larry.Finger at lwfinger.net>
---


Index: src/vboxdrv/include/internal/iprt.h
===================================================================
--- src.orig/vboxdrv/include/internal/iprt.h
+++ src/vboxdrv/include/internal/iprt.h
@@ -43,7 +43,11 @@
  && defined(MODULE) \
  && !defined(RT_NO_EXPORT_SYMBOL)
 # define bool linux_bool /* see r0drv/linux/the-linux-kernel.h */
-# include <linux/autoconf.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+#include <linux/autoconf.h>
+#else
+#include <linux/version.h>
+#endif
 # if defined(CONFIG_MODVERSIONS) && !defined(MODVERSIONS)
 #  include <linux/version.h>
 #  define MODVERSIONS
Index: src/vboxdrv/include/iprt/types.h
===================================================================
--- src.orig/vboxdrv/include/iprt/types.h
+++ src/vboxdrv/include/iprt/types.h
@@ -97,7 +97,10 @@
 #  define true linux_true
 #  define false linux_false
 #  define uintptr_t linux_uintptr_t
+#  include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
 #  include <linux/autoconf.h>
+#endif
 #  include <linux/types.h>
 #  include <linux/stddef.h>
 #  undef uintptr_t
Index: src/vboxdrv/r0drv/linux/the-linux-kernel.h
===================================================================
--- src.orig/vboxdrv/r0drv/linux/the-linux-kernel.h
+++ src/vboxdrv/r0drv/linux/the-linux-kernel.h
@@ -38,8 +38,10 @@
 #include <iprt/types.h>
 #define bool linux_bool

-#include <linux/autoconf.h>
 #include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+#include <linux/autoconf.h>
+#endif

 /* We only support 2.4 and 2.6 series kernels */
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 0)
Index: src/vboxnetadp/include/internal/iprt.h
===================================================================
--- src.orig/vboxnetadp/include/internal/iprt.h
+++ src/vboxnetadp/include/internal/iprt.h
@@ -43,7 +43,11 @@
  && defined(MODULE) \
  && !defined(RT_NO_EXPORT_SYMBOL)
 # define bool linux_bool /* see r0drv/linux/the-linux-kernel.h */
-# include <linux/autoconf.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+#  include <linux/autoconf.h>
+#else
+#  include <linux/version.h>
+#endif
 # if defined(CONFIG_MODVERSIONS) && !defined(MODVERSIONS)
 #  include <linux/version.h>
 #  define MODVERSIONS
Index: src/vboxnetadp/include/iprt/types.h
===================================================================
--- src.orig/vboxnetadp/include/iprt/types.h
+++ src/vboxnetadp/include/iprt/types.h
@@ -97,7 +97,10 @@
 #  define true linux_true
 #  define false linux_false
 #  define uintptr_t linux_uintptr_t
+#  include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
 #  include <linux/autoconf.h>
+#endif
 #  include <linux/types.h>
 #  include <linux/stddef.h>
 #  undef uintptr_t
Index: src/vboxnetadp/r0drv/linux/the-linux-kernel.h
===================================================================
--- src.orig/vboxnetadp/r0drv/linux/the-linux-kernel.h
+++ src/vboxnetadp/r0drv/linux/the-linux-kernel.h
@@ -38,7 +38,9 @@
 #include <iprt/types.h>
 #define bool linux_bool

+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
 #include <linux/autoconf.h>
+#endif
 #include <linux/version.h>

 /* We only support 2.4 and 2.6 series kernels */
Index: src/vboxnetflt/include/internal/iprt.h
===================================================================
--- src.orig/vboxnetflt/include/internal/iprt.h
+++ src/vboxnetflt/include/internal/iprt.h
@@ -43,7 +43,11 @@
  && defined(MODULE) \
  && !defined(RT_NO_EXPORT_SYMBOL)
 # define bool linux_bool /* see r0drv/linux/the-linux-kernel.h */
-# include <linux/autoconf.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+#  include <linux/autoconf.h>
+#else
+#  include <linux/version.h>
+#endif
 # if defined(CONFIG_MODVERSIONS) && !defined(MODVERSIONS)
 #  include <linux/version.h>
 #  define MODVERSIONS
Index: src/vboxnetflt/include/iprt/types.h
===================================================================
--- src.orig/vboxnetflt/include/iprt/types.h
+++ src/vboxnetflt/include/iprt/types.h
@@ -97,7 +97,10 @@
 #  define true linux_true
 #  define false linux_false
 #  define uintptr_t linux_uintptr_t
+#  include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
 #  include <linux/autoconf.h>
+#endif
 #  include <linux/types.h>
 #  include <linux/stddef.h>
 #  undef uintptr_t
Index: src/vboxnetflt/r0drv/linux/the-linux-kernel.h
===================================================================
--- src.orig/vboxnetflt/r0drv/linux/the-linux-kernel.h
+++ src/vboxnetflt/r0drv/linux/the-linux-kernel.h
@@ -38,7 +38,9 @@
 #include <iprt/types.h>
 #define bool linux_bool

+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
 #include <linux/autoconf.h>
+#endif
 #include <linux/version.h>

 /* We only support 2.4 and 2.6 series kernels */
Index: src/vboxdrv/include/VBox/types.h
===================================================================
--- src.orig/vboxdrv/include/VBox/types.h
+++ src/vboxdrv/include/VBox/types.h
@@ -31,6 +31,7 @@
 #define ___VBox_types_h

 #include <VBox/cdefs.h>
+#include <linux/version.h>
 #include <iprt/types.h>


Index: src/vboxdrv/include/iprt/initterm.h
===================================================================
--- src.orig/vboxdrv/include/iprt/initterm.h
+++ src/vboxdrv/include/iprt/initterm.h
@@ -30,6 +30,7 @@
 #ifndef ___iprt_initterm_h
 #define ___iprt_initterm_h

+#include <linux/version.h>
 #include <iprt/cdefs.h>
 #include <iprt/types.h>

Index: src/vboxdrv/include/iprt/mem.h
===================================================================
--- src.orig/vboxdrv/include/iprt/mem.h
+++ src/vboxdrv/include/iprt/mem.h
@@ -31,6 +31,7 @@
 #define ___iprt_mem_h


+#include <linux/version.h>
 #include <iprt/cdefs.h>
 #include <iprt/types.h>
 #ifdef __cplusplus
Index: src/vboxdrv/SUPDrvInternal.h
===================================================================
--- src.orig/vboxdrv/SUPDrvInternal.h
+++ src/vboxdrv/SUPDrvInternal.h
@@ -80,8 +80,10 @@
     RT_C_DECLS_END

 #elif defined(RT_OS_LINUX)
-#   include <linux/autoconf.h>
 #   include <linux/version.h>
+#   if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+#       include <linux/autoconf.h>
+#   endif
 #   if defined(CONFIG_MODVERSIONS) && !defined(MODVERSIONS)
 #       define MODVERSIONS
 #       if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 71)





More information about the vbox-dev mailing list