[Pkg-virtualbox-commits] r197 - in trunk/debian: . patches virtualbox-ose-source.files

meskes at alioth.debian.org meskes at alioth.debian.org
Sun Feb 3 14:10:21 UTC 2008


Author: meskes
Date: 2008-02-03 14:10:20 +0000 (Sun, 03 Feb 2008)
New Revision: 197

Added:
   trunk/debian/patches/02-diff-vmreq.dpatch
Removed:
   trunk/debian/patches/02-module-in-kernel.dpatch
   trunk/debian/patches/10-diff-vmreq.dpatch
Modified:
   trunk/debian/changelog
   trunk/debian/patches/00list
   trunk/debian/patches/08-module-build.dpatch
   trunk/debian/virtualbox-ose-source.files/rules
Log:
* Really use runtime assertion patch.
* Replaced two patches for module build process by upstream changes taken from SVN.
* Added ARCH setting to virtualbox-ose-source rules file so we can cross compile the module.



Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2008-01-28 07:44:26 UTC (rev 196)
+++ trunk/debian/changelog	2008-02-03 14:10:20 UTC (rev 197)
@@ -5,6 +5,11 @@
 
   [ Michael Meskes ]
   * Added basque debconf translation, closes: #460348
+  * Really use runtime assertion patch.
+  * Replaced two patches for module build process by upstream changes taken
+    from SVN.
+  * Added ARCH setting to virtualbox-ose-source rules file so we can cross
+    compile the module.
 
   [ Patrick Winnertz ]
   * Fix error of postrm if vboxusers is a non-system group (maybe added

Modified: trunk/debian/patches/00list
===================================================================
--- trunk/debian/patches/00list	2008-01-28 07:44:26 UTC (rev 196)
+++ trunk/debian/patches/00list	2008-02-03 14:10:20 UTC (rev 197)
@@ -1,5 +1,5 @@
 01-no-64bit-guest.dpatch
-02-module-in-kernel.dpatch
+02-diff-vmreq.dpatch
 03-config-kmk.dpatch
 04-localconf-kmk.dpatch
 05-vboxdrv-references.dpatch
@@ -7,3 +7,4 @@
 07-xsession.dpatch
 08-module-build.dpatch
 09-no-registration.dpatch
+

Added: trunk/debian/patches/02-diff-vmreq.dpatch
===================================================================
--- trunk/debian/patches/02-diff-vmreq.dpatch	                        (rev 0)
+++ trunk/debian/patches/02-diff-vmreq.dpatch	2008-02-03 14:10:20 UTC (rev 197)
@@ -0,0 +1,65 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 10-diff-vmreq.dpatch by Michael Meskes <meskes at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix runtime assertions
+
+ at DPATCH@
+
+Index: virtualbox-1.5.4/src/VBox/VMM/VMReq.cpp
+===================================================================
+--- virtualbox-1.5.4/src/VBox/VMM/VMReq.cpp	(revision 27120)
++++ virtualbox-1.5.4/src/VBox/VMM/VMReq.cpp	(revision 27121)
+@@ -525,9 +525,16 @@
+         return VERR_VM_REQUEST_INVALID_TYPE;
+     }
+ 
++    /*
++     * Are we the EMT or not?
++     * Also, store pVM (and fFlags) locally since pReq may be invalid after queuing it.
++     */
+     int rc = VINF_SUCCESS;
+-    if (pReq->pVM->NativeThreadEMT != RTThreadNativeSelf())
++    PVM pVM = ((VMREQ volatile *)pReq)->pVM;                    /* volatile paranoia */
++    if (pVM->NativeThreadEMT != RTThreadNativeSelf())
+     {
++        unsigned fFlags = ((VMREQ volatile *)pReq)->fFlags;     /* volatile paranoia */
++
+         /*
+          * Insert it.
+          */
+@@ -535,20 +542,20 @@
+         PVMREQ pNext;
+         do
+         {
+-            pNext = pReq->pVM->vm.s.pReqs;
++            pNext = pVM->vm.s.pReqs;
+             pReq->pNext = pNext;
+-        } while (!ASMAtomicCmpXchgPtr((void * volatile *)&pReq->pVM->vm.s.pReqs, (void *)pReq, (void *)pNext));
++        } while (!ASMAtomicCmpXchgPtr((void * volatile *)&pVM->vm.s.pReqs, (void *)pReq, (void *)pNext));
+ 
+         /*
+          * Notify EMT.
+          */
+-        VM_FF_SET(pReq->pVM, VM_FF_REQUEST);
+-        VMR3NotifyFF(pReq->pVM, false);
++        VM_FF_SET(pVM, VM_FF_REQUEST);
++        VMR3NotifyFF(pVM, false);
+ 
+         /*
+          * Wait and return.
+          */
+-        if (!(pReq->fFlags & VMREQFLAGS_NO_WAIT))
++        if (!(fFlags & VMREQFLAGS_NO_WAIT))
+             rc = VMR3ReqWait(pReq, cMillies);
+         LogFlow(("VMR3ReqQueue: returns %Vrc\n", rc));
+     }
+@@ -558,7 +565,7 @@
+          * The requester was EMT, just execute it.
+          */
+         pReq->enmState = VMREQSTATE_QUEUED;
+-        rc = vmR3ReqProcessOne(pReq->pVM, pReq);
++        rc = vmR3ReqProcessOne(pVM, pReq);
+         LogFlow(("VMR3ReqQueue: returns %Vrc (processed)\n", rc));
+     }
+     return rc;

Deleted: trunk/debian/patches/02-module-in-kernel.dpatch
===================================================================
--- trunk/debian/patches/02-module-in-kernel.dpatch	2008-01-28 07:44:26 UTC (rev 196)
+++ trunk/debian/patches/02-module-in-kernel.dpatch	2008-02-03 14:10:20 UTC (rev 197)
@@ -1,216 +0,0 @@
-#!/bin/sh /usr/share/dpatch/dpatch-run
-## 02-module-in-kernel.dpatch by Michael Meskes <meskes at debian.org>
-##
-## DP: Make sure modules build in a kernel build environment.
-
- at DPATCH@
-
-diff -Naurp virtualbox-ose-1.5.4-dfsg.orig/src/VBox/Additions/linux/module/Makefile.module virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/module/Makefile.module
---- virtualbox-ose-1.5.4-dfsg.orig/src/VBox/Additions/linux/module/Makefile.module	2007-09-24 20:13:56.000000000 +0000
-+++ virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/module/Makefile.module	2008-01-01 23:38:28.000000000 +0000
-@@ -31,28 +31,30 @@ OBJS   = \
- 
- ifneq ($(MAKECMDGOALS),clean)
- 
--# kernel base directory
--ifndef KERN_DIR
-- KERN_DIR := /lib/modules/$(shell uname -r)/build
-- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--  KERN_DIR := /usr/src/linux
-+ifeq ($(KERNELRELEASE),)
-+ # kernel base directory
-+ ifndef KERN_DIR
-+  KERN_DIR := /lib/modules/$(shell uname -r)/build
-   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--   $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
-+   KERN_DIR := /usr/src/linux
-+   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-+    $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
-+   endif
-+   $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
-+  endif
-+ else
-+  ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-+   $(error Error: KERN_DIR does not point to a directory.)
-   endif
--  $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
-- endif
--else
-- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--  $(error Error: KERN_DIR does not point to a directory.)
-  endif
--endif
- 
--# includes
--ifndef KERN_INCL
-- KERN_INCL = $(KERN_DIR)/include
--endif
--ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
-- $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
-+ # includes
-+ ifndef KERN_INCL
-+  KERN_INCL = $(KERN_DIR)/include
-+ endif
-+ ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
-+  $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
-+ endif
- endif
- 
- # module install dir.
-@@ -88,7 +90,10 @@ endif
- # Compiler options
- #
- ifndef INCL
-- INCL    := -I$(KERN_INCL) $(addprefix -I, $(EXTRA_INCL))
-+ ifeq ($(KERNELRELEASE),)
-+  INCL    := -I$(KERN_INCL)
-+ endif
-+ INCL += $(addprefix -I, $(EXTRA_INCL))
-  ifndef KBUILD_EXTMOD
-   KBUILD_EXTMOD := $(shell pwd)
-  endif
-diff -Naurp virtualbox-ose-1.5.4-dfsg.orig/src/VBox/Additions/linux/sharedfolders/Makefile.module virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/sharedfolders/Makefile.module
---- virtualbox-ose-1.5.4-dfsg.orig/src/VBox/Additions/linux/sharedfolders/Makefile.module	2007-09-24 20:13:56.000000000 +0000
-+++ virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/sharedfolders/Makefile.module	2008-01-01 23:38:28.000000000 +0000
-@@ -38,28 +38,30 @@ EXTRA_CFLAGS = -fshort-wchar
- 
- ifneq ($(MAKECMDGOALS),clean)
- 
--# kernel base directory
--ifndef KERN_DIR
-- KERN_DIR := /lib/modules/$(shell uname -r)/build
-- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--  KERN_DIR := /usr/src/linux
-+ifeq ($(KERNELRELEASE),)
-+ # kernel base directory
-+ ifndef KERN_DIR
-+  KERN_DIR := /lib/modules/$(shell uname -r)/build
-   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--   $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
-+   KERN_DIR := /usr/src/linux
-+   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-+    $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
-+   endif
-+   $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
-+  endif
-+ else
-+  ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-+   $(error Error: KERN_DIR does not point to a directory.)
-   endif
--  $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
-- endif
--else
-- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--  $(error Error: KERN_DIR does not point to a directory.)
-  endif
--endif
- 
--# includes
--ifndef KERN_INCL
-- KERN_INCL = $(KERN_DIR)/include
--endif
--ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
-- $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
-+ # includes
-+ ifndef KERN_INCL
-+  KERN_INCL = $(KERN_DIR)/include
-+ endif
-+ ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
-+  $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
-+ endif
- endif
- 
- # module install dir.
-@@ -95,7 +97,10 @@ endif
- # Compiler options
- #
- ifndef INCL
-- INCL    := -I$(KERN_INCL) $(addprefix -I, $(EXTRA_INCL))
-+ ifeq ($(KERNELRELEASE),)
-+  INCL    := -I$(KERN_INCL)
-+ endif
-+ INCL += $(addprefix -I, $(EXTRA_INCL))
-  ifndef KBUILD_EXTMOD
-   KBUILD_EXTMOD := $(shell pwd)
-  endif
-diff -Naurp virtualbox-ose-1.5.4-dfsg.orig/src/VBox/HostDrivers/Support/linux/Makefile virtualbox-ose-1.5.4-dfsg/src/VBox/HostDrivers/Support/linux/Makefile
---- virtualbox-ose-1.5.4-dfsg.orig/src/VBox/HostDrivers/Support/linux/Makefile	2007-10-12 21:19:22.000000000 +0000
-+++ virtualbox-ose-1.5.4-dfsg/src/VBox/HostDrivers/Support/linux/Makefile	2008-01-01 23:38:28.000000000 +0000
-@@ -58,37 +58,39 @@ endif
- 
- ifneq ($(MAKECMDGOALS),clean)
- 
--# kernel base directory
--ifndef KERN_DIR
-- # build for the current kernel, version check
-- KERN_DIR := /lib/modules/$(shell uname -r)/build
-- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--  KERN_DIR := /usr/src/linux
-+ifeq ($(KERNELRELEASE),)
-+ # kernel base directory
-+ ifndef KERN_DIR
-+  # build for the current kernel, version check
-+  KERN_DIR := /lib/modules/$(shell uname -r)/build
-   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--   $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
-+   KERN_DIR := /usr/src/linux
-+   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-+    $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
-+   endif
-+   $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
-   endif
--  $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
-- endif
-- # check if versions match -- works only for later 2.6 kernels
-- VBOX_KERN_VER := $(shell $(MAKE) -sC $(KERN_DIR) kernelrelease 2> /dev/null || true)
-- ifneq ($(VBOX_KERN_VER),)
--  ifneq ($(VBOX_KERN_VER),$(shell uname -r))
--   $(error Error: /usr/src/linux (version $(VBOX_KERN_VER)) does not match the current kernel (version $(shell uname -r)))
-+  # check if versions match -- works only for later 2.6 kernels
-+  VBOX_KERN_VER := $(shell $(MAKE) -sC $(KERN_DIR) kernelrelease 2> /dev/null || true)
-+  ifneq ($(VBOX_KERN_VER),)
-+   ifneq ($(VBOX_KERN_VER),$(shell uname -r))
-+    $(error Error: /usr/src/linux (version $(VBOX_KERN_VER)) does not match the current kernel (version $(shell uname -r)))
-+   endif
-+  endif
-+ else
-+  # build for a dedicated kernel, no version check
-+  ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-+   $(error Error: KERN_DIR does not point to a directory.)
-   endif
-  endif
--else
-- # build for a dedicated kernel, no version check
-- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
--  $(error Error: KERN_DIR does not point to a directory.)
-- endif
--endif
- 
--# includes
--ifndef KERN_INCL
-- KERN_INCL = $(KERN_DIR)/include
--endif
--ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
-- $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
-+ # includes
-+ ifndef KERN_INCL
-+  KERN_INCL = $(KERN_DIR)/include
-+ endif
-+ ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
-+  $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
-+ endif
- endif
- 
- # module install dir, only for current kernel
-@@ -118,7 +120,10 @@ endif
- # Compiler options
- #
- ifndef INCL
-- INCL    := -I$(KERN_INCL) $(addprefix -I, $(EXTRA_INCL))
-+ ifeq ($(KERNELRELEASE),)
-+  INCL    := -I$(KERN_INCL)
-+ endif
-+ INCL += $(addprefix -I, $(EXTRA_INCL))
-  ifndef KBUILD_EXTMOD
-   KBUILD_EXTMOD := $(shell pwd)
-  endif

Modified: trunk/debian/patches/08-module-build.dpatch
===================================================================
--- trunk/debian/patches/08-module-build.dpatch	2008-01-28 07:44:26 UTC (rev 196)
+++ trunk/debian/patches/08-module-build.dpatch	2008-02-03 14:10:20 UTC (rev 197)
@@ -1,43 +1,565 @@
 #!/bin/sh /usr/share/dpatch/dpatch-run
-## 08-module-build.dpatch by Michael Meskes <meskes at debian.org>
+## 02-module-in-kernel.dpatch by Michael Meskes <meskes at debian.org>
 ##
-## DP: Build module with correct name in linux-modules-extra.
+## DP: Make sure modules build in a kernel build environment.
 
 @DPATCH@
 
-diff -Naurp virtualbox-ose-1.5.4-dfsg.orig/src/VBox/Additions/linux/module/Makefile.module virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/module/Makefile.module
---- virtualbox-ose-1.5.4-dfsg.orig/src/VBox/Additions/linux/module/Makefile.module	2007-09-24 20:13:56.000000000 +0000
-+++ virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/module/Makefile.module	2007-12-30 06:33:32.000000000 +0000
-@@ -14,7 +14,7 @@
- #  be useful, but WITHOUT ANY WARRANTY of any kind.
+--- virtualbox-ose-1.5.4-dfsg/src/VBox/HostDrivers/Support/linux/Makefile	2007-10-12 23:19:22.000000000 +0200
++++ Makefile.vboxdrv	2008-02-02 19:26:20.000000000 +0100
+@@ -5,19 +5,30 @@
  
  #
+ #
+-#  Copyright (C) 2006 innotek GmbH
++# Copyright (C) 2006-2007 innotek GmbH
++#
++# This file is part of VirtualBox Open Source Edition (OSE), as
++# available from http://www.virtualbox.org. This file is free software;
++# you can redistribute it and/or modify it under the terms of the GNU
++# General Public License (GPL) as published by the Free Software
++# Foundation, in version 2 as it comes in the "COPYING" file of the
++# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
++# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
++#
++# The contents of this file may alternatively be used under the terms
++# of the Common Development and Distribution License Version 1.0
++# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
++# VirtualBox OSE distribution, in which case the provisions of the
++# CDDL are applicable instead of those of the GPL.
++#
++# You may elect to license modified versions of this file under the
++# terms and conditions of either the GPL or the CDDL or both.
+ #
+-#  This file is part of VirtualBox Open Source Edition (OSE), as
+-#  available from http://www.virtualbox.org. This file is free software;
+-#  you can redistribute it and/or modify it under the terms of the GNU
+-#  General Public License as published by the Free Software Foundation,
+-#  in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
+-#  distribution. VirtualBox OSE is distributed in the hope that it will
+-#  be useful, but WITHOUT ANY WARRANTY of any kind.
+ 
+ #
+-# First, figure out which architecture we're targeting.
++# First, figure out which architecture we're targeting and the build type.
+ # (We have to support basic cross building (ARCH=i386|x86_64).)
++# While at it, warn about BUILD_* vars found to help with user problems.
+ #
+ ifneq ($(filter-out amd64 x86,$(BUILD_TARGET_ARCH)),)
+  $(warning Ignoring unknown BUILD_TARGET_ARCH value '$(BUILD_TARGET_ARCH)'.)
+@@ -37,10 +48,23 @@
+    endif
+   endif
+  endif
++else
++ $(warning Using BUILD_TARGET_ARCH='$(BUILD_TARGET_ARCH)' from the $(origin BUILD_TARGET_ARCH).)
+ endif
+ 
++ifneq ($(filter-out release profile debug strict,$(BUILD_TYPE)),)
++ $(warning Ignoring unknown BUILD_TYPE value '$(BUILD_TYPE)'.)
++ BUILD_TYPE :=
++endif
++ifeq ($(BUILD_TYPE),)
++ BUILD_TYPE := release
++else
++ $(warning Using BUILD_TYPE='$(BUILD_TYPE)' from the $(origin BUILD_TYPE).)
++endif
+ 
+-MODULE = vboxdrv
++
++# override is required by the Debian guys
++override MODULE = vboxdrv
+ OBJS   = \
+ 	linux/SUPDrv-linux.o \
+ 	SUPDRVShared.o \
+@@ -58,53 +82,74 @@
+ 
+ ifneq ($(MAKECMDGOALS),clean)
+ 
+-# kernel base directory
+-ifndef KERN_DIR
+- # build for the current kernel, version check
+- KERN_DIR := /lib/modules/$(shell uname -r)/build
+- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-  KERN_DIR := /usr/src/linux
++ifeq ($(KERNELRELEASE),)
++
++ #
++ # building from this directory
++ #
++
++ # kernel base directory
++ ifndef KERN_DIR
++  # build for the current kernel, version check
++  KERN_DIR := /lib/modules/$(shell uname -r)/build
+   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-   $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
++   KERN_DIR := /usr/src/linux
++   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
++    $(error Error: unable to find the sources of your current Linux kernel. \
++	           Specify KERN_DIR=<directory> and run Make again)
++   endif
++   $(warning Warning: using /usr/src/linux as the source directory of your \
++                      Linux kernel. If this is not correct, specify \
++		      KERN_DIR=<directory> and run Make again.)
+   endif
+-  $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
+- endif
+- # check if versions match -- works only for later 2.6 kernels
+- VBOX_KERN_VER := $(shell $(MAKE) -sC $(KERN_DIR) kernelrelease 2> /dev/null || true)
+- ifneq ($(VBOX_KERN_VER),)
+-  ifneq ($(VBOX_KERN_VER),$(shell uname -r))
+-   $(error Error: /usr/src/linux (version $(VBOX_KERN_VER)) does not match the current kernel (version $(shell uname -r)))
++  # check if versions match -- works only for later 2.6 kernels
++  VBOX_KERN_VER := $(shell $(MAKE) -sC $(KERN_DIR) kernelrelease 2> /dev/null || true)
++  ifneq ($(VBOX_KERN_VER),)
++   ifneq ($(VBOX_KERN_VER),$(shell uname -r))
++    $(error Error: /usr/src/linux (version $(VBOX_KERN_VER)) does not match \
++                   the current kernel (version $(shell uname -r)))
++   endif
++  endif
++ else
++  # build for a dedicated kernel, no version check
++  ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
++   $(error Error: KERN_DIR does not point to a directory)
+   endif
+  endif
+-else
+- # build for a dedicated kernel, no version check
+- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-  $(error Error: KERN_DIR does not point to a directory.)
++
++ # includes
++ ifndef KERN_INCL
++  KERN_INCL = $(KERN_DIR)/include
++ endif
++ ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
++  $(error Error: unable to find the include directory for your current Linux \
++                 kernel. Specify KERN_INCL=<directory> and run Make again)
+  endif
+-endif
+ 
+-# includes
+-ifndef KERN_INCL
+- KERN_INCL = $(KERN_DIR)/include
+-endif
+-ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
+- $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
+-endif
++ # module install dir, only for current kernel
++ ifneq ($(filter install install_rpm,$(MAKECMDGOALS)),)
++  ifndef MODULE_DIR
++   MODULE_DIR_TST := /lib/modules/$(shell uname -r)
++   ifeq ($(shell if test -d $(MODULE_DIR_TST); then echo yes; fi),yes)
++    MODULE_DIR := $(MODULE_DIR_TST)/misc
++   else
++    $(error Unable to find the folder to install the support driver to)
++   endif
++  endif # MODULE_DIR unspecified
++ endif
+ 
+-# module install dir, only for current kernel
+-ifneq ($(filter install install_rpm,$(MAKECMDGOALS)),)
+- ifndef MODULE_DIR
+-  MODULE_DIR_TST := /lib/modules/$(shell uname -r)
+-  ifeq ($(shell if test -d $(MODULE_DIR_TST); then echo yes; fi),yes)
+-   MODULE_DIR := $(MODULE_DIR_TST)/misc
+-  else
+-   $(error Unable to find the folder to install the support driver to)
+-  endif
+- endif # MODULE_DIR unspecified
+-endif
++ # guess kernel version (24 or 26)
++ KERN_VERSION := $(if $(wildcard $(KERN_DIR)/Rules.make),24,26)
++
++else # neq($(KERNELRELEASE),)
++
++ #
++ # building from Linux-2.6-kbuild (make -C <kernel_directory> M=`pwd`)
++ #
++
++ KERN_VERSION := 26
+ 
+-# guess kernel version (24 or 26)
+-KERN_VERSION := $(if $(wildcard $(KERN_DIR)/Rules.make),24,26)
++endif # neq($(KERNELRELEASE),)
+ 
+ # debug - show guesses.
+ ifdef DEBUG
+@@ -118,14 +163,14 @@
+ # Compiler options
+ #
+ ifndef INCL
+- INCL    := -I$(KERN_INCL) $(addprefix -I, $(EXTRA_INCL))
++ INCL    := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL))
+  ifndef KBUILD_EXTMOD
+   KBUILD_EXTMOD := $(shell pwd)
+  endif
+  INCL    += $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
+  export INCL
+ endif
+-KFLAGS   := -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0
++KFLAGS   := -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX
+ ifndef CONFIG_VBOXDRV_FIXEDMAJOR
+  KFLAGS  += -DCONFIG_VBOXDRV_AS_MISC
+ endif
+--- virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/module/Makefile.module	2007-09-24 22:13:56.000000000 +0200
++++ Makefile.vboxadd	2008-02-02 19:27:31.000000000 +0100
+@@ -3,18 +3,19 @@
+ #
+ # (For 2.6.x this file must be 'Makefile'!)
+ #
+-#  Copyright (C) 2006-2007 innotek GmbH
+-# 
+-#  This file is part of VirtualBox Open Source Edition (OSE), as
+-#  available from http://www.virtualbox.org. This file is free software;
+-#  you can redistribute it and/or modify it under the terms of the GNU
+-#  General Public License as published by the Free Software Foundation,
+-#  in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
+-#  distribution. VirtualBox OSE is distributed in the hope that it will
+-#  be useful, but WITHOUT ANY WARRANTY of any kind.
+-
++# Copyright (C) 2006-2007 innotek GmbH
++#
++# This file is part of VirtualBox Open Source Edition (OSE), as
++# available from http://www.virtualbox.org. This file is free software;
++# you can redistribute it and/or modify it under the terms of the GNU
++# General Public License (GPL) as published by the Free Software
++# Foundation, in version 2 as it comes in the "COPYING" file of the
++# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
++# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ #
 -MODULE = vboxadd
++
++# override is required by the Debian guys
 +override MODULE = vboxadd
  OBJS   = \
  	cmc.o \
  	hgcmcall.o \
-diff -Naurp virtualbox-ose-1.5.4-dfsg.orig/src/VBox/Additions/linux/sharedfolders/Makefile.module virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/sharedfolders/Makefile.module
---- virtualbox-ose-1.5.4-dfsg.orig/src/VBox/Additions/linux/sharedfolders/Makefile.module	2007-09-24 20:13:56.000000000 +0000
-+++ virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/sharedfolders/Makefile.module	2007-12-30 06:33:32.000000000 +0000
-@@ -14,7 +14,7 @@
- #  be useful, but WITHOUT ANY WARRANTY of any kind.
+@@ -31,49 +32,69 @@
  
+ ifneq ($(MAKECMDGOALS),clean)
+ 
+-# kernel base directory
+-ifndef KERN_DIR
+- KERN_DIR := /lib/modules/$(shell uname -r)/build
+- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-  KERN_DIR := /usr/src/linux
++ifeq ($(KERNELRELEASE),)
++
++ #
++ # building from this directory
++ #
++
++ # kernel base directory
++ ifndef KERN_DIR
++  KERN_DIR := /lib/modules/$(shell uname -r)/build
++  ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
++   KERN_DIR := /usr/src/linux
++   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
++    $(error Error: unable to find the sources of your current Linux kernel. \
++	           Specify KERN_DIR=<directory> and run Make again)
++   endif
++   $(warning Warning: using /usr/src/linux as the source directory of your \
++                      Linux kernel. If this is not correct, specify \
++		      KERN_DIR=<directory> and run Make again.)
++  endif
++ else
+   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-   $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
++   $(error Error: KERN_DIR does not point to a directory)
+   endif
+-  $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
+  endif
+-else
+- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-  $(error Error: KERN_DIR does not point to a directory.)
++
++ # includes
++ ifndef KERN_INCL
++  KERN_INCL = $(KERN_DIR)/include
++ endif
++ ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
++  $(error Error: unable to find the include directory for your current Linux \
++                 kernel. Specify KERN_INCL=<directory> and run Make again)
+  endif
+-endif
+ 
+-# includes
+-ifndef KERN_INCL
+- KERN_INCL = $(KERN_DIR)/include
+-endif
+-ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
+- $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
+-endif
++ # module install dir.
++ ifneq ($(filter install install_rpm,$(MAKECMDGOALS)),)
++  ifndef MODULE_DIR
++   MODULE_DIR_TST := /lib/modules/$(shell uname -r)
++   ifeq ($(shell if test -d $(MODULE_DIR_TST); then echo yes; fi),yes)
++    MODULE_DIR := $(MODULE_DIR_TST)/misc
++   else
++    $(error Unable to find the folder to install the additions driver to)
++   endif
++  endif # MODULE_DIR unspecified
++ endif
+ 
+-# module install dir.
+-ifneq ($(filter install install_rpm,$(MAKECMDGOALS)),)
+- ifndef MODULE_DIR
+-  MODULE_DIR_TST := /lib/modules/$(shell uname -r)
+-  ifeq ($(shell if test -d $(MODULE_DIR_TST); then echo yes; fi),yes)
+-   MODULE_DIR := $(MODULE_DIR_TST)/misc
+-  else
+-   $(error Unable to find the folder to install the additions driver to)
+-  endif
+- endif # MODULE_DIR unspecified
+-endif
++ # guess kernel version (24 or 26)
++ ifeq ($(shell if grep '"2.4.' $(KERN_INCL)/linux/version.h > /dev/null; then echo yes; fi),yes)
++ KERN_VERSION := 24
++ else
++ KERN_VERSION := 26
++ endif
++ # KERN_VERSION := $(if $(wildcard $(KERN_DIR)/Rules.make),24,26)
+ 
+-# guess kernel version (24 or 26)
+-ifeq ($(shell if grep '"2.4.' $(KERN_INCL)/linux/version.h > /dev/null; then echo yes; fi),yes)
+-KERN_VERSION := 24
+-else
+-KERN_VERSION := 26
+-endif
+-# KERN_VERSION := $(if $(wildcard $(KERN_DIR)/Rules.make),24,26)
++else # neq($(KERNELRELEASE),)
++
++ #
++ # building from Linux-2.6-kbuild (make -C <kernel_directory> M=`pwd`)
++ #
++
++ KERN_VERSION := 26
++
++endif # neq($(KERNELRELEASE),)
+ 
+ # debug - show guesses.
+ ifdef DEBUG
+@@ -88,18 +109,19 @@
+ # Compiler options
  #
+ ifndef INCL
+- INCL    := -I$(KERN_INCL) $(addprefix -I, $(EXTRA_INCL))
++ INCL    := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL))
+  ifndef KBUILD_EXTMOD
+   KBUILD_EXTMOD := $(shell pwd)
+  endif
+  INCL    += $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
+  export INCL
+ endif
+-KFLAGS   := -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -D_X86_ -DIN_RT_R0 -DIN_SUP_R0 \
+-	    -DVBGL_VBOXGUEST -DVBOX_HGCM -DLOG_TO_BACKDOOR
+-#ifeq ($(BUILD_TYPE),debug) - you'll have to enable this manually to get debug stuff.
+-#KFLAGS   += -DDEBUG
+-#endif
++KFLAGS   := -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -D_X86_ \
++	    -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DVBGL_VBOXGUEST -DVBOX_HGCM \
++	    -DLOG_TO_BACKDOOR -DRT_WITH_VBOX -DIN_MODULE -DIN_GUEST_R0
++ifeq ($(BUILD_TYPE),debug)
++KFLAGS   += -DDEBUG
++endif
+ 
+ ifeq ($(KERN_VERSION), 24)
+ #
+--- virtualbox-ose-1.5.4-dfsg/src/VBox/Additions/linux/sharedfolders/Makefile.module	2007-09-24 22:13:56.000000000 +0200
++++ Makefile.vboxvfs	2008-02-02 19:28:32.000000000 +0100
+@@ -3,18 +3,19 @@
+ #
+ # (For 2.6.x this file must be 'Makefile'!)
+ #
+-#  Copyright (C) 2006-2007 innotek GmbH
+-# 
+-#  This file is part of VirtualBox Open Source Edition (OSE), as
+-#  available from http://www.virtualbox.org. This file is free software;
+-#  you can redistribute it and/or modify it under the terms of the GNU
+-#  General Public License as published by the Free Software Foundation,
+-#  in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
+-#  distribution. VirtualBox OSE is distributed in the hope that it will
+-#  be useful, but WITHOUT ANY WARRANTY of any kind.
+-
++# Copyright (C) 2006-2007 innotek GmbH
++#
++# This file is part of VirtualBox Open Source Edition (OSE), as
++# available from http://www.virtualbox.org. This file is free software;
++# you can redistribute it and/or modify it under the terms of the GNU
++# General Public License (GPL) as published by the Free Software
++# Foundation, in version 2 as it comes in the "COPYING" file of the
++# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
++# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ #
 -MODULE = vboxvfs
++
++# override is required by the Debian guys
 +override MODULE = vboxvfs
  OBJS   = \
  	vfsmod.o \
  	vfs-utils.o \
-diff -Naurp virtualbox-ose-1.5.4-dfsg.orig/src/VBox/HostDrivers/Support/linux/Makefile virtualbox-ose-1.5.4-dfsg/src/VBox/HostDrivers/Support/linux/Makefile
---- virtualbox-ose-1.5.4-dfsg.orig/src/VBox/HostDrivers/Support/linux/Makefile	2007-10-12 21:19:22.000000000 +0000
-+++ virtualbox-ose-1.5.4-dfsg/src/VBox/HostDrivers/Support/linux/Makefile	2007-12-30 06:33:32.000000000 +0000
-@@ -40,7 +40,7 @@ ifeq ($(BUILD_TARGET_ARCH),)
+@@ -38,49 +39,69 @@
+ 
+ ifneq ($(MAKECMDGOALS),clean)
+ 
+-# kernel base directory
+-ifndef KERN_DIR
+- KERN_DIR := /lib/modules/$(shell uname -r)/build
+- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-  KERN_DIR := /usr/src/linux
++ifeq ($(KERNELRELEASE),)
++
++ #
++ # building from this directory
++ #
++
++ # kernel base directory
++ ifndef KERN_DIR
++  KERN_DIR := /lib/modules/$(shell uname -r)/build
++  ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
++   KERN_DIR := /usr/src/linux
++   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
++    $(error Error: unable to find the sources of your current Linux kernel. \
++	           Specify KERN_DIR=<directory> and run Make again)
++   endif
++   $(warning Warning: using /usr/src/linux as the source directory of your \
++                      Linux kernel. If this is not correct, specify \
++		      KERN_DIR=<directory> and run Make again.)
++  endif
++ else
+   ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-   $(error Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.)
++   $(error Error: KERN_DIR does not point to a directory)
+   endif
+-  $(warning Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.)
+  endif
+-else
+- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+-  $(error Error: KERN_DIR does not point to a directory.)
++
++ # includes
++ ifndef KERN_INCL
++  KERN_INCL = $(KERN_DIR)/include
++ endif
++ ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
++  $(error Error: unable to find the include directory for your current Linux \
++                 kernel. Specify KERN_INCL=<directory> and run Make again)
+  endif
+-endif
+ 
+-# includes
+-ifndef KERN_INCL
+- KERN_INCL = $(KERN_DIR)/include
+-endif
+-ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
+- $(error Error: unable to find the include directory for your current Linux kernel. Specify KERN_INCL=<directory> and run Make again.)
+-endif
++ # module install dir.
++ ifneq ($(filter install install_rpm,$(MAKECMDGOALS)),)
++  ifndef MODULE_DIR
++   MODULE_DIR_TST := /lib/modules/$(shell uname -r)
++   ifeq ($(shell if test -d $(MODULE_DIR_TST); then echo yes; fi),yes)
++    MODULE_DIR := $(MODULE_DIR_TST)/misc
++   else
++    $(error Unable to find the folder to install the shared folders driver to)
++   endif
++  endif # MODULE_DIR unspecified
++ endif
+ 
+-# module install dir.
+-ifneq ($(filter install install_rpm,$(MAKECMDGOALS)),)
+- ifndef MODULE_DIR
+-  MODULE_DIR_TST := /lib/modules/$(shell uname -r)
+-  ifeq ($(shell if test -d $(MODULE_DIR_TST); then echo yes; fi),yes)
+-   MODULE_DIR := $(MODULE_DIR_TST)/misc
+-  else
+-   $(error Unable to find the folder to install the shared folders driver to)
+-  endif
+- endif # MODULE_DIR unspecified
+-endif
++ # guess kernel version (24 or 26)
++ ifeq ($(shell if grep '"2.4.' $(KERN_INCL)/linux/version.h > /dev/null; then echo yes; fi),yes)
++ KERN_VERSION := 24
++ else
++ KERN_VERSION := 26
++ endif
++ # KERN_VERSION := $(if $(wildcard $(KERN_DIR)/Rules.make),24,26)
+ 
+-# guess kernel version (24 or 26)
+-ifeq ($(shell if grep '"2.4.' $(KERN_INCL)/linux/version.h > /dev/null; then echo yes; fi),yes)
+-KERN_VERSION := 24
+-else
+-KERN_VERSION := 26
+-endif
+-# KERN_VERSION := $(if $(wildcard $(KERN_DIR)/Rules.make),24,26)
++else # neq($(KERNELRELEASE),)
++
++ #
++ # building from Linux-2.6-kbuild (make -C <kernel_directory> M=`pwd`)
++ #
++
++ KERN_VERSION := 26
++
++endif # neq($(KERNELRELEASE),)
+ 
+ # debug - show guesses.
+ ifdef DEBUG
+@@ -95,18 +116,19 @@
+ # Compiler options
+ #
+ ifndef INCL
+- INCL    := -I$(KERN_INCL) $(addprefix -I, $(EXTRA_INCL))
++ INCL    := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL))
+  ifndef KBUILD_EXTMOD
+   KBUILD_EXTMOD := $(shell pwd)
+  endif
+  INCL    += $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
+  export INCL
  endif
+-KFLAGS   := -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -D_X86_ -DIN_RT_R0 -DIN_SUP_R0 \
+-	    -DVBOX_HGCM -DLOG_TO_BACKDOOR
+-#ifeq ($(BUILD_TYPE),debug) - you'll have to enable this manually to get debug stuff.
+-#KFLAGS   += -DDEBUG
+-#endif
++KFLAGS   := -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -D_X86_ -DIN_RT_R0 \
++	    -DIN_SUP_R0 -DVBOX -DVBOX_HGCM -DLOG_TO_BACKDOOR -DIN_MODULE \
++	    -DIN_GUEST_R0
++ifeq ($(BUILD_TYPE),debug)
++KFLAGS   += -DDEBUG
++endif
  
+ ifeq ($(KERN_VERSION), 24)
+ #
+@@ -133,16 +155,19 @@
  
--MODULE = vboxdrv
-+override MODULE = vboxdrv
- OBJS   = \
- 	linux/SUPDrv-linux.o \
- 	SUPDRVShared.o \
+ $(MODULE)-y  := $(OBJS)
+ 
+-# detect FC6 2.6.18
+-KFLAGS += $(foreach inc,$(KERN_INCL),\
+-            $(if $(wildcard $(inc)/linux/utsrelease.h),\
+-              $(if $(shell if grep -q '"2.6.18.*fc6.*"' $(inc)/linux/utsrelease.h;\
+-                then echo yes; fi),-DKERNEL_FC6,),))
+-# detect rhel5 2.6.18
+-KFLAGS += $(foreach inc,$(KERN_INCL),\
+-            $(if $(wildcard $(inc)/linux/utsrelease.h),\
+-              $(if $(shell if grep -q '"2.6.18.*el5.*"' $(inc)/linux/utsrelease.h;\
+-                then echo yes; fi),-DKERNEL_FC6,),))
++# special hack for FC6 2.6.18 and rhel5 2.6.18
++ifeq ($(KERNELRELEASE),)
++ KFLAGS += $(foreach inc,$(KERN_INCL),\
++             $(if $(wildcard $(inc)/linux/utsrelease.h),\
++               $(if $(shell if grep -q '"2.6.18.*fc6.*"' $(inc)/linux/utsrelease.h;\
++                 then echo yes; fi),-DKERNEL_FC6,),) \
++             $(if $(wildcard $(inc)/linux/utsrelease.h),\
++               $(if $(shell if grep -q '"2.6.18.*el5.*"' $(inc)/linux/utsrelease.h;\
++                 then echo yes; fi),-DKERNEL_FC6,),))
++else
++ KFLAGS += $(filter -DKERNEL_FC6,$(patsubst 2.6.18%fc6,-DKERNEL_FC6,$(KERNELRELEASE)) \
++                                 $(patsubst 2.6.18%el5,-DKERNEL_FC6,$(KERNELRELEASE)))
++endif
+ 
+ # build defs
+ EXTRA_CFLAGS += $(INCL) $(KFLAGS) $(KDEBUG)

Deleted: trunk/debian/patches/10-diff-vmreq.dpatch
===================================================================
--- trunk/debian/patches/10-diff-vmreq.dpatch	2008-01-28 07:44:26 UTC (rev 196)
+++ trunk/debian/patches/10-diff-vmreq.dpatch	2008-02-03 14:10:20 UTC (rev 197)
@@ -1,67 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10-diff-vmreq.dpatch by Michael Meskes <meskes at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix runtime assertions
-
- at DPATCH@
-
-Index: virtualbox-1.5.4/srcVBox/VMM/VMReq.cpp
-===================================================================
---- virtualbox-1.5.4/srcVBox/VMM/VMReq.cpp	(revision 27120)
-+++ virtualbox-1.5.4/srcVBox/VMM/VMReq.cpp	(revision 27121)
-@@ -525,9 +525,16 @@
-         return VERR_VM_REQUEST_INVALID_TYPE;
-     }
- 
-+    /*
-+     * Are we the EMT or not?
-+     * Also, store pVM (and fFlags) locally since pReq may be invalid after queuing it.
-+     */
-     int rc = VINF_SUCCESS;
--    if (pReq->pVM->NativeThreadEMT != RTThreadNativeSelf())
-+    PVM pVM = ((VMREQ volatile *)pReq)->pVM;                    /* volatile paranoia */
-+    if (pVM->NativeThreadEMT != RTThreadNativeSelf())
-     {
-+        unsigned fFlags = ((VMREQ volatile *)pReq)->fFlags;     /* volatile paranoia */
-+
-         /*
-          * Insert it.
-          */
-@@ -535,20 +542,20 @@
-         PVMREQ pNext;
-         do
-         {
--            pNext = pReq->pVM->vm.s.pReqs;
-+            pNext = pVM->vm.s.pReqs;
-             pReq->pNext = pNext;
--        } while (!ASMAtomicCmpXchgPtr((void * volatile *)&pReq->pVM->vm.s.pReqs, (void *)pReq, (void *)pNext));
-+        } while (!ASMAtomicCmpXchgPtr((void * volatile *)&pVM->vm.s.pReqs, (void *)pReq, (void *)pNext));
- 
-         /*
-          * Notify EMT.
-          */
--        VM_FF_SET(pReq->pVM, VM_FF_REQUEST);
--        VMR3NotifyFF(pReq->pVM, false);
-+        VM_FF_SET(pVM, VM_FF_REQUEST);
-+        VMR3NotifyFF(pVM, false);
- 
-         /*
-          * Wait and return.
-          */
--        if (!(pReq->fFlags & VMREQFLAGS_NO_WAIT))
-+        if (!(fFlags & VMREQFLAGS_NO_WAIT))
-             rc = VMR3ReqWait(pReq, cMillies);
-         LogFlow(("VMR3ReqQueue: returns %Vrc
-", rc));
-     }
-@@ -558,7 +565,7 @@
-          * The requester was EMT, just execute it.
-          */
-         pReq->enmState = VMREQSTATE_QUEUED;
--        rc = vmR3ReqProcessOne(pReq->pVM, pReq);
-+        rc = vmR3ReqProcessOne(pVM, pReq);
-         LogFlow(("VMR3ReqQueue: returns %Vrc (processed)
-", rc));
-     }
-     return rc;

Modified: trunk/debian/virtualbox-ose-source.files/rules
===================================================================
--- trunk/debian/virtualbox-ose-source.files/rules	2008-01-28 07:44:26 UTC (rev 196)
+++ trunk/debian/virtualbox-ose-source.files/rules	2008-02-03 14:10:20 UTC (rev 197)
@@ -35,6 +35,13 @@
 # compiler), VERSION (the final package version string), PKGNAME (full
 # package name with KVERS included), DEB_DESTDIR (path to store DEBs)
 
+# Set ARCH so we can cross compile 
+ifneq ($(shell echo $(KVERS)|cut -f 3 -d"-"),amd64)
+	ARCH := i386
+else
+	ARCH := x86_64
+endif
+
 # The kdist_configure target is called by make-kpkg modules_config and
 # by kdist* rules by dependency. It should configure the module so it is
 # ready for compilation (mostly useful for calling configure).
@@ -56,7 +63,7 @@
 	dh_clean -k
 
 	# Build the module
-	$(MAKE) all KSRC=$(KSRC) KVER=$(KVERS) KERN_DIR=$(KSRC)
+	$(MAKE) all KSRC=$(KSRC) KVER=$(KVERS) KERN_DIR=$(KSRC) ARCH=$(ARCH)
 
 	# Install the module
 	dh_install vboxdrv.ko /lib/modules/$(KVERS)/misc/




More information about the Pkg-virtualbox-commits mailing list