work for virtualbox qt5
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# 2013 © Sébastien Luttringer
|
||||
--- a/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2013-09-04 21:03:47.040743507 +0200
|
||||
+++ b/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2013-10-20 23:23:49.705371815 +0200
|
||||
@@ -58,23 +58,8 @@
|
||||
//#define DEBUG_DRI_CALLS
|
||||
|
||||
//@todo this could be different...
|
||||
-#ifdef RT_ARCH_AMD64
|
||||
-# ifdef RT_OS_FREEBSD
|
||||
-# define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri"
|
||||
-# define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/"
|
||||
-# else
|
||||
-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/xorg/modules/dri"
|
||||
+# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/xorg/modules/dri"
|
||||
# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
|
||||
-# endif
|
||||
-#else
|
||||
-# ifdef RT_OS_FREEBSD
|
||||
-# define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri"
|
||||
-# define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/"
|
||||
-# else
|
||||
-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri:/usr/lib/i386-linux-gnu/dri:/usr/lib/xorg/modules/dri"
|
||||
-# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
|
||||
-# endif
|
||||
-#endif
|
||||
|
||||
#ifdef DEBUG_DRI_CALLS
|
||||
#define SWDRI_SHOWNAME(pext, func) \
|
||||
@@ -0,0 +1,26 @@
|
||||
--- a/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2013-03-19 18:55:28.774951223 +0000
|
||||
+++ b/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2013-03-19 18:58:06.337193736 +0000
|
||||
@@ -63,18 +63,12 @@
|
||||
VBoxOGL_INCS = .
|
||||
if1of ($(KBUILD_TARGET), linux solaris freebsd)
|
||||
VBoxOGL_INCS += \
|
||||
- $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \
|
||||
- $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \
|
||||
- $(VBOX_PATH_X11_ROOT)/libXext-1.3.1 \
|
||||
- $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \
|
||||
- $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \
|
||||
- $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \
|
||||
- $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \
|
||||
- $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \
|
||||
- $(VBOX_PATH_X11_ROOT)/xextproto-7.1.1 \
|
||||
- $(VBOX_PATH_X11_ROOT)/xproto-7.0.18 \
|
||||
+ /usr/include/x11 \
|
||||
+ /usr/include/xorg \
|
||||
+ /usr/include/pixman-1 \
|
||||
$(VBOX_MESA_INCS) \
|
||||
- $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
|
||||
+ /usr/include/drm \
|
||||
+ /usr/include/libdrm
|
||||
VBoxOGL_DEFS += VBOX_NO_NATIVEGL
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,217 @@
|
||||
--- a/src/VBox/Additions/common/VBoxGuestLib/Makefile.km 2013-09-04 21:03:47.334749420 +0200
|
||||
+++ b/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk 2013-10-21 00:06:36.418245968 +0200
|
||||
@@ -40,8 +40,8 @@
|
||||
VBoxGuestR3LibShared
|
||||
ifndef VBOX_ONLY_TESTSUITE
|
||||
if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
|
||||
- LIBRARIES += \
|
||||
- VBoxGuestR3LibXFree86
|
||||
+# LIBRARIES += \
|
||||
+# VBoxGuestR3LibXFree86
|
||||
endif
|
||||
endif
|
||||
LIBRARIES.win.amd64 += VBoxGuestR3Lib-x86 VBoxGuestR3LibShared-x86
|
||||
|
||||
--- a/src/VBox/Additions/x11/Makefile.kmk 2013-03-19 18:55:28.974949837 +0000
|
||||
+++ b/src/VBox/Additions/x11/Makefile.kmk 2013-03-19 18:56:00.468064457 +0000
|
||||
@@ -17,6 +17,10 @@
|
||||
SUB_DEPTH = ../../../..
|
||||
include $(KBUILD_PATH)/subheader.kmk
|
||||
|
||||
+ifn1of ($(XSERVER_VERSION), 13 14 15 16 17 18 19 110 111)
|
||||
+ XSERVER_VERSION := 17
|
||||
+endif
|
||||
+
|
||||
# Include sub-makefiles.
|
||||
if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
|
||||
include $(PATH_SUB_CURRENT)/VBoxClient/Makefile.kmk
|
||||
|
||||
--- a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk 2013-03-19 18:55:28.818284256 +0000
|
||||
+++ b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk 2013-03-19 18:56:00.468064457 +0000
|
||||
@@ -29,7 +29,6 @@
|
||||
# vboxmouse_drv
|
||||
#
|
||||
if1of ($(KBUILD_TARGET), linux)
|
||||
- SYSMODS += vboxmouse_drv
|
||||
vboxmouse_drv_TEMPLATE = VBOXGUESTR3XF86MOD
|
||||
vboxmouse_drv_DEFS.linux = linux
|
||||
vboxmouse_drv_DEFS.x86 += __i386__
|
||||
@@ -69,7 +68,6 @@
|
||||
#
|
||||
# vboxmouse_drv_70
|
||||
#
|
||||
-DLLS += vboxmouse_drv_70
|
||||
vboxmouse_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxmouse_drv_70_DEFS = \
|
||||
XFree86Server IN_MODULE XFree86Module XFree86LOADER XINPUT XORG_7X IN_XF86_MODULE DONT_DEFINE_WRAPPERS NO_ANSIC
|
||||
@@ -85,7 +83,6 @@
|
||||
#
|
||||
# vboxmouse_drv_71
|
||||
#
|
||||
-DLLS += vboxmouse_drv_71
|
||||
vboxmouse_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxmouse_drv_71_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
|
||||
vboxmouse_drv_71_INCS := \
|
||||
@@ -100,7 +97,6 @@
|
||||
#
|
||||
# vboxmouse_drv_13
|
||||
#
|
||||
-DLLS += vboxmouse_drv_13
|
||||
vboxmouse_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxmouse_drv_13_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
|
||||
vboxmouse_drv_13_INCS := \
|
||||
@@ -114,7 +110,6 @@
|
||||
#
|
||||
# vboxmouse_drv_14
|
||||
#
|
||||
-DLLS += vboxmouse_drv_14
|
||||
vboxmouse_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxmouse_drv_14_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
|
||||
vboxmouse_drv_14_INCS := \
|
||||
@@ -128,7 +123,6 @@
|
||||
#
|
||||
# vboxmouse_drv_15
|
||||
#
|
||||
-DLLS += vboxmouse_drv_15
|
||||
vboxmouse_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxmouse_drv_15_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
|
||||
vboxmouse_drv_15_INCS := \
|
||||
@@ -142,7 +136,6 @@
|
||||
#
|
||||
# vboxmouse_drv_16
|
||||
#
|
||||
-DLLS += vboxmouse_drv_16
|
||||
vboxmouse_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxmouse_drv_16_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
|
||||
vboxmouse_drv_16_INCS := \
|
||||
|
||||
--- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2013-03-19 18:55:28.974949837 +0000
|
||||
+++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2013-03-19 18:56:00.468064457 +0000
|
||||
@@ -53,7 +53,6 @@
|
||||
# vboxvideo_drv
|
||||
#
|
||||
if1of ($(KBUILD_TARGET), linux)
|
||||
- SYSMODS += vboxvideo_drv
|
||||
endif # target linux
|
||||
vboxvideo_drv_TEMPLATE = VBOXGUESTR3XF86MOD
|
||||
vboxvideo_drv_DEFS.linux = linux
|
||||
@@ -128,7 +127,6 @@
|
||||
# base keywords instead of using .solaris or .linux.
|
||||
# Also it is *important* to use := and not = when deriving a property.
|
||||
#
|
||||
-DLLS += vboxvideo_drv_70
|
||||
vboxvideo_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
if1of ($(KBUILD_TARGET), linux)
|
||||
vboxvideo_drv_70_CFLAGS += \
|
||||
@@ -149,7 +147,6 @@
|
||||
#
|
||||
# vboxvideo_drv_71
|
||||
#
|
||||
-DLLS += vboxvideo_drv_71
|
||||
vboxvideo_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_71_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_71_DEFS := $(vboxvideo_70_DEFS) XORG_VERSION_CURRENT=700100000
|
||||
@@ -164,7 +161,6 @@
|
||||
#
|
||||
# vboxvideo_drv_13
|
||||
#
|
||||
-DLLS += vboxvideo_drv_13
|
||||
vboxvideo_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_13_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_13_DEFS := $(vboxvideo_13_DEFS) XORG_VERSION_CURRENT=100300000
|
||||
@@ -178,7 +174,6 @@
|
||||
#
|
||||
# vboxvideo_drv_14
|
||||
#
|
||||
-DLLS += vboxvideo_drv_14
|
||||
vboxvideo_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_14_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_14_DEFS := $(vboxvideo_13_DEFS) XORG_VERSION_CURRENT=100400000
|
||||
@@ -192,7 +187,6 @@
|
||||
#
|
||||
# vboxvideo_drv_15
|
||||
#
|
||||
-DLLS += vboxvideo_drv_15
|
||||
vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_15_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100503000
|
||||
@@ -213,7 +207,6 @@
|
||||
#
|
||||
# vboxvideo_drv_16
|
||||
#
|
||||
-DLLS += vboxvideo_drv_16
|
||||
vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_16_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100600000
|
||||
@@ -227,7 +220,6 @@
|
||||
#
|
||||
# vboxvideo_drv_17
|
||||
#
|
||||
-DLLS += vboxvideo_drv_17
|
||||
vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_17_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100699000
|
||||
@@ -241,7 +233,6 @@
|
||||
#
|
||||
# vboxvideo_drv_18
|
||||
#
|
||||
-DLLS += vboxvideo_drv_18
|
||||
vboxvideo_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_18_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_18_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100800000
|
||||
@@ -255,7 +246,6 @@
|
||||
#
|
||||
# vboxvideo_drv_19
|
||||
#
|
||||
-DLLS += vboxvideo_drv_19
|
||||
vboxvideo_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_19_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_19_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100900000
|
||||
@@ -269,7 +259,6 @@
|
||||
#
|
||||
# vboxvideo_drv_110
|
||||
#
|
||||
-DLLS += vboxvideo_drv_110
|
||||
vboxvideo_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_110_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_110_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=101000000
|
||||
@@ -283,7 +272,6 @@
|
||||
#
|
||||
# vboxvideo_drv_111
|
||||
#
|
||||
-DLLS += vboxvideo_drv_111
|
||||
vboxvideo_drv_111_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_111_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_111_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=101100000
|
||||
@@ -297,7 +285,6 @@
|
||||
#
|
||||
# vboxvideo_drv_112
|
||||
#
|
||||
-DLLS += vboxvideo_drv_112
|
||||
vboxvideo_drv_112_TEMPLATE = VBOXGUESTR3XORGMOD
|
||||
vboxvideo_drv_112_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
|
||||
vboxvideo_drv_112_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=101200000
|
||||
@@ -341,6 +328,23 @@
|
||||
endif
|
||||
|
||||
|
||||
+vboxvideo_drv_$(XSERVER_VERSION)_NAME := vboxvideo_drv
|
||||
+vboxvideo_drv_$(XSERVER_VERSION)_INCS := \
|
||||
+ /usr/include/xorg \
|
||||
+ /usr/include/x11 \
|
||||
+ /usr/include/pixman-1 \
|
||||
+ /usr/include/X11/dri \
|
||||
+ /usr/include/drm \
|
||||
+ /usr/include/libdrm
|
||||
+vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
|
||||
+DLLS += vboxvideo_drv_$(XSERVER_VERSION)
|
||||
+
|
||||
+# required for lenny backports
|
||||
+ifeq ($(XSERVER_VERSION),14)
|
||||
+ vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(VBOX_PATH_X11_XORG_1_4)/xorg
|
||||
+endif
|
||||
+
|
||||
+
|
||||
# Check the undefined symbols in the X.Org modules against lists of allowed
|
||||
# symbols. Not very elegant, but it will catch problems early.
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/src/VBox/Main/webservice/Makefile.kmk 2013-11-21 19:00:46.812761628 +0100
|
||||
+++ b/src/VBox/Main/webservice/Makefile.kmk 2014-01-04 04:37:05.803599026 +0100
|
||||
@@ -683,7 +683,7 @@
|
||||
: $(VBOXWEB_GSOAPH_FROM_GSOAP) $(VBOXWEB_GSOAPH_FROM_XSLT) $(VBOX_NSMAP) $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@)
|
||||
$(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT))
|
||||
$(RM) -f $@
|
||||
- $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT)
|
||||
+ $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -z1 -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT)
|
||||
$(APPEND) $@ done
|
||||
|
||||
# copy the generated headers and stuff. This has to be a separate rule if we
|
||||
@@ -0,0 +1,12 @@
|
||||
# 2015 © Sébastien Luttringer
|
||||
--- a/src/VBox/RDP/client-1.8.3/Makefile.kmk 2013-02-19 23:12:20.207464901 +0100
|
||||
+++ b/src/VBox/RDP/client-1.8.3/Makefile.kmk 2014-01-04 04:17:26.700618600 +0100
|
||||
@@ -41,7 +41,7 @@
|
||||
EGD_SOCKET=\"/var/run/egd-pool\" WITH_RDPSND=1 HAVE_DIRENT_H=1 \
|
||||
HAVE_ICONV=1 HAVE_SYS_STATVFS_H=1 \
|
||||
HAVE_SYS_PARAM_H=1 HAVE_SYS_MOUNT_H=1 HAVE_STRUCT_STATVFS_F_NAMEMAX=1 \
|
||||
- KEYMAP_PATH=$(if $(findstring RTPATH_APP_PRIVATE,$(CDEFS)),RTPATH_APP_PRIVATE,\"/opt/VirtualBox\")\"/rdesktop-vrdp-keymaps\" \
|
||||
+ KEYMAP_PATH=$(if $(findstring RTPATH_APP_PRIVATE,$(CDEFS)),RTPATH_APP_PRIVATE,\"/usr/share/virtualbox\")\"/rdesktop-vrdp-keymaps\" \
|
||||
RDESKTOP=1
|
||||
ifdef WITH_BIRD_VD_HACKS
|
||||
rdesktop-vrdp_DEFS += WITH_BIRD_VD_HACKS
|
||||
@@ -0,0 +1,19 @@
|
||||
--- a/src/VBox/Additions/x11/vboxvideo/vboxvideo.h 2015-03-04 00:38:45.381480285 +0100
|
||||
+++ b/src/VBox/Additions/x11/vboxvideo/vboxvideo.h 2015-03-04 00:40:57.536942966 +0100
|
||||
@@ -130,15 +130,7 @@
|
||||
#define VBOX_MAX_DRAWABLES 256 /* At random. */
|
||||
|
||||
#define VBOXPTR(p) ((VBOXPtr)((p)->driverPrivate))
|
||||
-
|
||||
-/** Helper to work round different ways of getting the root window in different
|
||||
- * server versions. */
|
||||
-#if defined(XORG_VERSION_CURRENT) && XORG_VERSION_CURRENT < 70000000 \
|
||||
- && XORG_VERSION_CURRENT >= 10900000
|
||||
-# define ROOT_WINDOW(pScrn) screenInfo.screens[(pScrn)->scrnIndex]->root
|
||||
-#else
|
||||
-# define ROOT_WINDOW(pScrn) WindowTable[(pScrn)->scrnIndex]
|
||||
-#endif
|
||||
+#define ROOT_WINDOW(pScrn) screenInfo.screens[(pScrn)->scrnIndex]->root
|
||||
|
||||
/** Structure containing all virtual monitor-specific information. */
|
||||
struct VBoxScreen
|
||||
@@ -0,0 +1,107 @@
|
||||
# https://www.virtualbox.org/ticket/13961
|
||||
|
||||
--- a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c 2015-03-20 15:24:13.000000000 +0100
|
||||
+++ b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c 2015-03-20 15:23:51.000000000 +0100
|
||||
@@ -48,12 +48,6 @@
|
||||
# include <iprt/power.h>
|
||||
# define VBOX_WITH_SUSPEND_NOTIFICATION
|
||||
#endif
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
|
||||
-# include <asm/smap.h>
|
||||
-#else
|
||||
-static inline void clac(void) { }
|
||||
-static inline void stac(void) { }
|
||||
-#endif
|
||||
|
||||
#include <linux/sched.h>
|
||||
#ifdef CONFIG_DEVFS_FS
|
||||
--- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h 2015-03-20 15:24:13.000000000 +0100
|
||||
+++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h 2015-03-20 15:23:52.000000000 +0100
|
||||
@@ -145,6 +145,13 @@
|
||||
# include <asm/tlbflush.h>
|
||||
#endif
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
|
||||
+# include <asm/smap.h>
|
||||
+#else
|
||||
+static inline void clac(void) { }
|
||||
+static inline void stac(void) { }
|
||||
+#endif
|
||||
+
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
|
||||
# ifndef page_to_pfn
|
||||
# define page_to_pfn(page) ((page) - mem_map)
|
||||
--- a/src/VBox/Runtime/r0drv/linux/threadctxhooks-r0drv-linux.c 2015-03-20 15:24:13.000000000 +0100
|
||||
+++ b/src/VBox/Runtime/r0drv/linux/threadctxhooks-r0drv-linux.c 2015-03-20 15:23:52.000000000 +0100
|
||||
@@ -36,6 +36,9 @@
|
||||
#include <iprt/thread.h>
|
||||
#include <iprt/err.h>
|
||||
#include <iprt/asm.h>
|
||||
+#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
|
||||
+# include <iprt/asm-amd64-x86.h>
|
||||
+#endif
|
||||
#include "internal/thread.h"
|
||||
|
||||
/*
|
||||
@@ -68,6 +71,11 @@
|
||||
struct preempt_ops hPreemptOps;
|
||||
/** The reference count for this object. */
|
||||
uint32_t volatile cRefs;
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 19) && defined(RT_ARCH_AMD64)
|
||||
+ /** Starting with 3.1.19, the linux kernel doesn't restore kernel RFLAGS during
|
||||
+ * task switch, so we have to do that ourselves. (x86 code is not affected.) */
|
||||
+ RTCCUINTREG fSavedRFlags;
|
||||
+#endif
|
||||
} RTTHREADCTXINT, *PRTTHREADCTXINT;
|
||||
|
||||
|
||||
@@ -84,12 +92,24 @@
|
||||
static void rtThreadCtxHooksLnxSchedOut(struct preempt_notifier *pPreemptNotifier, struct task_struct *pNext)
|
||||
{
|
||||
PRTTHREADCTXINT pThis = RT_FROM_MEMBER(pPreemptNotifier, RTTHREADCTXINT, hPreemptNotifier);
|
||||
+#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
|
||||
+ RTCCUINTREG fSavedEFlags = ASMGetFlags();
|
||||
+ stac();
|
||||
+#endif
|
||||
+
|
||||
AssertPtr(pThis);
|
||||
AssertPtr(pThis->pfnThreadCtxHook);
|
||||
Assert(pThis->fRegistered);
|
||||
Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD));
|
||||
|
||||
pThis->pfnThreadCtxHook(RTTHREADCTXEVENT_PREEMPTING, pThis->pvUser);
|
||||
+
|
||||
+#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
|
||||
+ ASMSetFlags(fSavedEFlags);
|
||||
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 19) && defined(RT_ARCH_AMD64)
|
||||
+ pThis->fSavedRFlags = fSavedEFlags;
|
||||
+# endif
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -105,11 +125,24 @@
|
||||
static void rtThreadCtxHooksLnxSchedIn(struct preempt_notifier *pPreemptNotifier, int iCpu)
|
||||
{
|
||||
PRTTHREADCTXINT pThis = RT_FROM_MEMBER(pPreemptNotifier, RTTHREADCTXINT, hPreemptNotifier);
|
||||
+#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
|
||||
+ RTCCUINTREG fSavedEFlags = ASMGetFlags();
|
||||
+ stac();
|
||||
+#endif
|
||||
+
|
||||
AssertPtr(pThis);
|
||||
AssertPtr(pThis->pfnThreadCtxHook);
|
||||
Assert(pThis->fRegistered);
|
||||
|
||||
pThis->pfnThreadCtxHook(RTTHREADCTXEVENT_RESUMED, pThis->pvUser);
|
||||
+
|
||||
+#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
|
||||
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 19) && defined(RT_ARCH_AMD64)
|
||||
+ fSavedEFlags &= ~RT_BIT_64(18) /*X86_EFL_AC*/;
|
||||
+ fSavedEFlags |= pThis->fSavedRFlags & RT_BIT_64(18) /*X86_EFL_AC*/;
|
||||
+# endif
|
||||
+ ASMSetFlags(fSavedEFlags);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
|
||||
KERNEL=="vboxdrvu", NAME="vboxdrvu", OWNER="root", GROUP="root", MODE="0666"
|
||||
KERNEL=="vboxnetctl", NAME="vboxnetctl", OWNER="root", GROUP="root", MODE="0600"
|
||||
|
||||
SUBSYSTEM=="usb_device", ACTION=="add", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
|
||||
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
|
||||
SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
|
||||
SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
|
||||
@@ -0,0 +1,2 @@
|
||||
ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600"
|
||||
ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666"
|
||||
@@ -0,0 +1,21 @@
|
||||
VBOX_WITH_ADDITION_DRIVERS =
|
||||
VBOX_WITH_INSTALLER = 1
|
||||
VBOX_WITH_LINUX_ADDITIONS = 1
|
||||
VBOX_WITH_X11_ADDITIONS = 1
|
||||
VBOX_WITH_TESTCASES =
|
||||
VBOX_WITH_TESTSUITE =
|
||||
VBOX_WITH_ORIGIN :=
|
||||
VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
|
||||
VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
|
||||
VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
|
||||
VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
|
||||
VBOX_PATH_APP_DOCS := /usr/share/doc/virtualbox
|
||||
VBOX_PATH_PACKAGE_DOCS := $(VBOX_PATH_APP_DOCS)
|
||||
VBOX_WITH_REGISTRATION_REQUEST =
|
||||
VBOX_WITH_UPDATE_REQUEST =
|
||||
VBOX_BLD_PYTHON = python
|
||||
VBOX_JAVA_HOME = /usr/lib/jvm/java-7-openjdk
|
||||
VBOX_GCC_WERR =
|
||||
VBOX_GCC_WARN =
|
||||
# fix gsoap missing zlib include and produce errors with --as-needed
|
||||
VBOX_GSOAP_CXX_LIBS := gsoapssl++ z
|
||||
@@ -0,0 +1,17 @@
|
||||
Index: VirtualBox-2.2.0_OSE/src/VBox/Installer/freebsd/VirtualBox.desktop
|
||||
===================================================================
|
||||
--- VirtualBox-2.2.0_OSE.orig/src/VBox/Installer/freebsd/virtualbox.desktop
|
||||
+++ VirtualBox-2.2.0_OSE/src/VBox/Installer/freebsd/virtualbox.desktop
|
||||
@@ -3,6 +3,7 @@ Encoding=UTF-8
|
||||
Version=1.0
|
||||
Name=Oracle VM VirtualBox
|
||||
GenericName=Virtual Machine
|
||||
+GenericName[tr]=Sanal Makine
|
||||
Type=Application
|
||||
Exec=VirtualBox
|
||||
TryExec=VirtualBox
|
||||
@@ -14,3 +15,4 @@ Comment[de]=Windows und andere Betriebss
|
||||
Comment[pl]=Uruchamianie wielu systemów wirtualnych na jednym komputerze gospodarza
|
||||
Comment[sv]=Kör flera virtuella system på en enda värddator
|
||||
Comment[ko]=가상 머신
|
||||
+Comment[tr]=Tek bir sunucu bilgisayarda birden fazla sanal sistem çalıştırın
|
||||
@@ -0,0 +1,13 @@
|
||||
Index: VirtualBox-2.2.4_OSE/src/VBox/Frontends/Common/VBoxKeyboard/keyboard-layouts.h
|
||||
===================================================================
|
||||
--- VirtualBox-2.2.4_OSE.orig/src/VBox/Frontends/Common/VBoxKeyboard/keyboard-layouts.h
|
||||
+++ VirtualBox-2.2.4_OSE/src/VBox/Frontends/Common/VBoxKeyboard/keyboard-layouts.h
|
||||
@@ -1836,7 +1836,7 @@ static const char main_key_th_pat[MAIN_L
|
||||
/* Turkey */
|
||||
static const char main_key_tr[MAIN_LEN][2] =
|
||||
{
|
||||
-"\"\\","1!","2'","3^","4+","5%","6&","7/","8(","9)","0=","*?","-_",
|
||||
+"\"\xe9","1!","2'","3^","4+","5%","6&","7/","8(","9)","0=","*?","-_",
|
||||
"qQ","wW","eE","rR","tT","yY","uU","\xb9I","oO","pP","\xbb\xab","\xfc\xdc",
|
||||
"aA","sS","dD","fF","gG","hH","jJ","kK","lL","\xba\xaa","i\xa9",",;",
|
||||
"zZ","xX","cC","vV","bB","nN","mM","\xf6\xd6","\xe7\xc7",".:","<>","\x0\x0","\x0\x0"
|
||||
@@ -0,0 +1,43 @@
|
||||
Index: VirtualBox-4.0.2_OSE/src/VBox/VMM/VMMR3/VM.cpp
|
||||
===================================================================
|
||||
--- VirtualBox-4.0.2_OSE.orig/src/VBox/VMM/VMMR3/VM.cpp
|
||||
+++ VirtualBox-4.0.2_OSE/src/VBox/VMM/VMMR3/VM.cpp
|
||||
@@ -361,10 +361,8 @@ VMMR3DECL(int) VMR3Create(uint32_t cCp
|
||||
{
|
||||
case VERR_VM_DRIVER_LOAD_ERROR:
|
||||
#ifdef RT_OS_LINUX
|
||||
- pszError = N_("VirtualBox kernel driver not loaded. The vboxdrv kernel module "
|
||||
- "was either not loaded or /dev/vboxdrv is not set up properly. "
|
||||
- "Re-setup the kernel module by executing "
|
||||
- "'/etc/init.d/vboxdrv setup' as root");
|
||||
+ pszError = N_("VirtualBox kernel driver not loaded. "
|
||||
+ "Please install the module-virtualbox package.");
|
||||
#else
|
||||
pszError = N_("VirtualBox kernel driver not loaded");
|
||||
#endif
|
||||
@@ -403,10 +401,8 @@ VMMR3DECL(int) VMR3Create(uint32_t cCp
|
||||
case VERR_INVALID_HANDLE: /** @todo track down and fix this error. */
|
||||
case VERR_VM_DRIVER_NOT_INSTALLED:
|
||||
#ifdef RT_OS_LINUX
|
||||
- pszError = N_("VirtualBox kernel driver not installed. The vboxdrv kernel module "
|
||||
- "was either not loaded or /dev/vboxdrv was not created for some "
|
||||
- "reason. Re-setup the kernel module by executing "
|
||||
- "'/etc/init.d/vboxdrv setup' as root");
|
||||
+ pszError = N_("VirtualBox kernel driver not installed. "
|
||||
+ "Please install the module-virtualbox package.");
|
||||
#else
|
||||
pszError = N_("VirtualBox kernel driver not installed");
|
||||
#endif
|
||||
@@ -416,9 +412,9 @@ VMMR3DECL(int) VMR3Create(uint32_t cCp
|
||||
break;
|
||||
case VERR_VERSION_MISMATCH:
|
||||
case VERR_VM_DRIVER_VERSION_MISMATCH:
|
||||
- pszError = N_("The VirtualBox support driver which is running is from a different "
|
||||
- "version of VirtualBox. You can correct this by stopping all "
|
||||
- "running instances of VirtualBox and reinstalling the software.");
|
||||
+ pszError = N_("The version of the VirtualBox kernel modules and the version of "
|
||||
+ "VirtualBox application are not matching. You can correct this by "
|
||||
+ "updating virtualbox and module-virtualbox packages.");
|
||||
break;
|
||||
default:
|
||||
pszError = N_("Unknown error initializing kernel driver");
|
||||
@@ -0,0 +1,2 @@
|
||||
# Start VirtualBox Clients on guest machines
|
||||
test -c /dev/vboxguest && /usr/bin/VBoxClient-all
|
||||
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
# vboxreload: shortcut to reload virtualbox modules with DKMS support
|
||||
#
|
||||
# Copyright © 2013 Sébastien Luttringer
|
||||
#
|
||||
# This program 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; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
modules=(vboxnetadp vboxnetflt vboxpci vboxdrv)
|
||||
|
||||
echo -n 'Unloading modules: '
|
||||
for _m in "${modules[@]}"; do
|
||||
lsmod|grep -q "$_m" && rmmod "$_m" && echo -n "$_m "
|
||||
done
|
||||
echo
|
||||
|
||||
if type -P dkms >/dev/null; then
|
||||
echo 'DKMS autoinstall'
|
||||
dkms autoinstall
|
||||
fi
|
||||
|
||||
echo -n 'Loading modules: '
|
||||
for _m in "${modules[@]}"; do
|
||||
modprobe "$_m" && echo -n "$_m "
|
||||
done
|
||||
echo
|
||||
|
||||
# vim:set ts=2 sw=2 ai et:
|
||||
@@ -0,0 +1,10 @@
|
||||
--- VirtualBox-4.0.0_OSE/configure
|
||||
+++ VirtualBox-4.0.0_OSE/configure
|
||||
@@ -2527,7 +2527,6 @@
|
||||
check_compiler_h
|
||||
[ "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
|
||||
# tools/common/makeself*
|
||||
- [ $OSE -ge 1 ] && check_makeself
|
||||
fi
|
||||
|
||||
[ -n "$SETUP_WINE" ] && setup_wine
|
||||
@@ -0,0 +1,28 @@
|
||||
Index: VirtualBox-2.2.4_OSE/src/VBox/Installer/linux/VBox.sh
|
||||
===================================================================
|
||||
--- VirtualBox-2.2.4_OSE.orig/src/VBox/Installer/linux/VBox.sh
|
||||
+++ VirtualBox-2.2.4_OSE/src/VBox/Installer/linux/VBox.sh
|
||||
@@ -32,16 +32,18 @@ fi
|
||||
|
||||
if [ "$1" = "shutdown" ]; then
|
||||
SHUTDOWN="true"
|
||||
-elif ! lsmod|grep -q vboxdrv; then
|
||||
- cat << EOF
|
||||
+elif [ -x /usr/libexec/virt-wrapper ]; then
|
||||
+ /usr/libexec/virt-wrapper virtualbox || exit 1
|
||||
+
|
||||
+ if ! lsmod|grep -q vboxdrv; then
|
||||
+ cat << EOF
|
||||
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
|
||||
available for the current kernel (`uname -r`) or it failed to
|
||||
- load. Please recompile the kernel module and install it by
|
||||
-
|
||||
- sudo /etc/init.d/vboxdrv setup
|
||||
+ load.
|
||||
|
||||
You will not be able to start VMs until this problem is fixed.
|
||||
EOF
|
||||
+ fi
|
||||
elif [ ! -c /dev/vboxdrv ]; then
|
||||
cat << EOF
|
||||
WARNING: The character device /dev/vboxdrv does not exist. Try
|
||||
Reference in New Issue
Block a user