[vbox-dev] VirtualBox Fix for kernel 2.6.33
Larry Finger
Larry.Finger at lwfinger.net
Sun Dec 27 19:09:42 PST 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