[arch-commits] Commit in virtualbox/trunk (021-kernel-5.9.patch PKGBUILD)
Jan Steffens
heftig at archlinux.org
Mon Oct 12 21:23:12 UTC 2020
Date: Monday, October 12, 2020 @ 21:23:12
Author: heftig
Revision: 723745
6.1.14-2: add patch for linux 5.9
Added:
virtualbox/trunk/021-kernel-5.9.patch
Modified:
virtualbox/trunk/PKGBUILD
----------------------+
021-kernel-5.9.patch | 189 +++++++++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 8 +-
2 files changed, 194 insertions(+), 3 deletions(-)
Added: 021-kernel-5.9.patch
===================================================================
--- 021-kernel-5.9.patch (rev 0)
+++ 021-kernel-5.9.patch 2020-10-12 21:23:12 UTC (rev 723745)
@@ -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)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-10-12 21:22:16 UTC (rev 723744)
+++ PKGBUILD 2020-10-12 21:23:12 UTC (rev 723745)
@@ -11,7 +11,7 @@
'virtualbox-ext-vnc')
pkgver=6.1.14
_tarver=${pkgver}a
-pkgrel=1
+pkgrel=2
_vboxsf_commit='5aba938bcabd978e4615186ad7d8617d633e6f30'
arch=('x86_64')
url='https://virtualbox.org/'
@@ -79,7 +79,8 @@
'016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch'
'017-fix-narrowing-conversion.patch'
'018-xclient.patch'
- '020-gsoap.patch')
+ '020-gsoap.patch'
+ '021-kernel-5.9.patch')
sha256sums=('16f3cb83ab3c4dacf2a9d3cc638cbd18db23767828bba6b8ba1c1b57abeb6aef'
'SKIP'
'76d98ea062fcad9e5e3fa981d046a6eb12a3e718a296544a68b66f4b65cb56db'
@@ -104,7 +105,8 @@
'100c9e14e9cfb12ae65364e830153d2481cf272ceeb39d11c6b203bc6e35bf0c'
'5aac692909a0a0ec56b08bdece9e42cf7463abdca9da2f990d441ff463be6a99'
'cac5a573e9ed5aafb2f469c2e6fffb8cd4f389bbadba5a968c9f65be7a72fee3'
- 'c6892a3561a72a9b308cb33fa6647cc53e54a3bd40cb41780cad7f8e9d7df9f6')
+ 'c6892a3561a72a9b308cb33fa6647cc53e54a3bd40cb41780cad7f8e9d7df9f6'
+ '05bfc8306bbd856087c393dcb47d16de4213a4cc69124857f705f3784d88581a')
prepare() {
cd "VirtualBox-$pkgver"
More information about the arch-commits
mailing list