virtualbox-6.1.16

This commit is contained in:
Rmys
2020-12-17 18:47:48 +03:00
committed by GitHub
parent b8ab67cac8
commit 2495d3b02f
3 changed files with 215 additions and 2 deletions
@@ -0,0 +1,14 @@
diff --git a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp
index 6ad7df3e..2f12c277 100644
--- a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp
+++ b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp
@@ -162,6 +162,9 @@ static int vbglR3GuestCtrlMsgWaitFor(uint32_t idClient, uint32_t *pidMsg, uint32
*/
DECL_NO_INLINE(static, bool) vbglR3GuestCtrlDetectPeekGetCancelSupport(uint32_t idClient)
{
+
+ return false;
+
/*
* Seems we get VINF_SUCCESS back from the host if we try unsupported
* guest control functions, so we need to supply some random message
@@ -0,0 +1,189 @@
This patch file contains the changes needed to compile the VirtualBox
modules for kernel 5.9.0+.
The changes are as follows:
1. The kernel headers no longer define HAVE_UNLOCKED_IOCTL; however,
this symbol is needed for compilation of VB.
2. The calling sequence for get_user_pages_remote() is changed.
3. Routine sched_setscheduler() is replaced by sched_set_fifo_low().
4. The type of vbox_master_set() is changed from int to void.
5. Routine drm_gem_object_put_unlocked() is replaced by drm_gem_object_put().
6. Member offset is removed from struct ttm_buffer_object.
Index: VirtualBox-6.1.14/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+++ VirtualBox-6.1.14/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
@@ -137,7 +137,10 @@
#include <linux/interrupt.h>
#include <linux/completion.h>
#include <linux/compiler.h>
-#ifndef HAVE_UNLOCKED_IOCTL /* linux/fs.h defines this */
+#if RTLNX_VER_MIN(5, 9, 0)
+#define HAVE_UNLOCKED_IOCTL 1 /* defined in linux/fs.h for kernels before 5.9 */
+#endif
+#ifndef HAVE_UNLOCKED_IOCTL
# include <linux/smp_lock.h>
#endif
/* For the shared folders module */
Index: VirtualBox-6.1.14/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+++ VirtualBox-6.1.14/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
@@ -1181,7 +1181,9 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
*/
else
rc = get_user_pages_remote(
+#if RTLNX_VER_MAX(5, 9, 0)
pTask, /* Task for fault accounting. */
+#endif
pTask->mm, /* Whose pages. */
R3Ptr, /* Where from. */
cPages, /* How many pages. */
Index: VirtualBox-6.1.14/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c
+++ VirtualBox-6.1.14/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c
@@ -92,8 +92,12 @@ DECLHIDDEN(int) rtThreadNativeSetPriorit
return VERR_INVALID_PARAMETER;
}
+#if RTLNX_VER_MAX(5, 9, 0)
sched_setscheduler(current, iSchedClass, &Param);
#else
+ sched_set_fifo_low(current);
+#endif
+#else
RT_NOREF_PV(enmType);
#endif
RT_NOREF_PV(pThread);
Index: VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -262,8 +262,13 @@ static const struct file_operations vbox
.read = drm_read,
};
+#if RTLNX_VER_MAX(5, 9, 0)
static int vbox_master_set(struct drm_device *dev,
struct drm_file *file_priv, bool from_open)
+#else
+static void vbox_master_set(struct drm_device *dev,
+ struct drm_file *file_priv, bool from_open)
+#endif
{
struct vbox_private *vbox = dev->dev_private;
Index: VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_fb.c
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Additions/linux/drm/vbox_fb.c
+++ VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_fb.c
@@ -405,7 +405,11 @@ void vbox_fbdev_fini(struct drm_device *
vbox_bo_unpin(bo);
vbox_bo_unreserve(bo);
}
+#if RTLNX_VER_MIN(5, 9, 0)
+ drm_gem_object_put(afb->obj);
+#else
drm_gem_object_put_unlocked(afb->obj);
+#endif
afb->obj = NULL;
}
drm_fb_helper_fini(&fbdev->helper);
Index: VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_main.c
@@ -40,14 +40,19 @@
#include <VBoxVideoVBE.h>
#include "hgsmi_channels.h"
+#include <linux/version.h>
+
static void vbox_user_framebuffer_destroy(struct drm_framebuffer *fb)
{
struct vbox_framebuffer *vbox_fb = to_vbox_framebuffer(fb);
if (vbox_fb->obj)
+#if RTLNX_VER_MAX(5, 9, 0)
drm_gem_object_put_unlocked(vbox_fb->obj);
-
+#else
+ drm_gem_object_put(vbox_fb->obj);
+#endif
drm_framebuffer_cleanup(fb);
kfree(fb);
}
@@ -221,7 +226,11 @@ static struct drm_framebuffer *vbox_user
err_free_vbox_fb:
kfree(vbox_fb);
err_unref_obj:
+#if RTLNX_VER_MAX(5, 9, 0)
drm_gem_object_put_unlocked(obj);
+#else
+ drm_gem_object_put(obj);
+#endif
return ERR_PTR(ret);
}
@@ -588,7 +597,11 @@ int vbox_dumb_create(struct drm_file *fi
return ret;
ret = drm_gem_handle_create(file, gobj, &handle);
+#if RTLNX_VER_MAX(5, 9, 0)
drm_gem_object_put_unlocked(gobj);
+#else
+ drm_gem_object_put(gobj);
+#endif
if (ret)
return ret;
Index: VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Additions/linux/drm/vbox_drv.h
+++ VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -417,6 +417,9 @@ struct vbox_bo {
#else
struct ttm_place placements[3];
#endif
+#if RTLNX_VER_MIN(5, 9, 0)
+ uint64_t offset;
+#endif
int pin_count;
};
Index: VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Additions/linux/drm/vbox_mode.c
+++ VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_mode.c
@@ -885,8 +885,11 @@ out_unmap_bo:
out_unreserve_bo:
vbox_bo_unreserve(bo);
out_unref_obj:
+#if RTLNX_VER_MAX(5, 9, 0)
drm_gem_object_put_unlocked(obj);
-
+#else
+ drm_gem_object_put(obj);
+#endif
return ret;
}
Index: VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- VirtualBox-6.1.14.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -445,7 +445,11 @@ err_free_vboxbo:
static inline u64 vbox_bo_gpu_offset(struct vbox_bo *bo)
{
+#if RTLNX_VER_MAX(5, 9, 0)
return bo->bo.offset;
+#else
+ return bo->offset;
+#endif
}
int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
+12 -2
View File
@@ -12,7 +12,7 @@
<IsA>app:gui</IsA>
<Summary>A powerful virtualization program</Summary>
<Description>VirtualBox is a family of powerful x86 virtualization products for enterprise as well as home use. This is the Open Source Edition which lacks USB support and some other things.</Description>
<Archive sha1sum="b551df401a8e1f07900c1dbcc8794cc2a1958173" type="tarbz2">http://download.virtualbox.org/virtualbox/6.1.14/VirtualBox-6.1.14a.tar.bz2</Archive>
<Archive sha1sum="526fdb768335b71c534f40c593a8390e8ddbe450" type="tarbz2">http://download.virtualbox.org/virtualbox/6.1.16/VirtualBox-6.1.16.tar.bz2</Archive>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="dkms.conf">dkms.conf</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="dkms-guest.conf">dkms-guest.conf</AdditionalFile>
@@ -72,7 +72,10 @@
<Patch level="1">0001-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch</Patch>
<Patch level="1">017-fix-narrowing-conversion.patch</Patch>
<Patch level="1">018-xclient.patch</Patch>
<Patch level="1">020-gsoap.patch</Patch>
<Patch level="1">012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch</Patch>
<!-- <Patch level="1">020-gsoap.patch</Patch> -->
<!-- <Patch level="1">021-kernel-5.9.patch</Patch> -->
</Patches>
</Source>
@@ -199,6 +202,13 @@
</Package>
<History>
<Update release="40">
<Date>2020-11-10</Date>
<Version>6.1.16</Version>
<Comment>Version bump kernel597.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="39">
<Date>2020-09-05</Date>
<Version>6.1.14</Version>