forked from pool/virtualbox
d9d5fe30bb
- Fix build for SLE15 SP1 - add file "fixes_for_SLE15.patch" OBS-URL: https://build.opensuse.org/request/show/709210 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=493
55 lines
2.1 KiB
Diff
55 lines
2.1 KiB
Diff
There are two kernel 5.2 API changes that affect VirtualBox:
|
|
|
|
1. drm_fb_helper_fill_fix() and drm_fb_helper_fill_var() are replaced
|
|
by drm_fb_helper_fill_info().
|
|
2. The arguments for ttm_bo_device_init() are changed.
|
|
|
|
|
|
Index: VirtualBox-6.0.8/src/VBox/Additions/linux/drm/vbox_fb.c
|
|
===================================================================
|
|
--- VirtualBox-6.0.8.orig/src/VBox/Additions/linux/drm/vbox_fb.c
|
|
+++ VirtualBox-6.0.8/src/VBox/Additions/linux/drm/vbox_fb.c
|
|
@@ -335,13 +335,17 @@ static int vboxfb_create(struct drm_fb_h
|
|
info->apertures->ranges[0].base = pci_resource_start(dev->pdev, 0);
|
|
info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0);
|
|
|
|
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) || defined(RHEL_75)
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 2, 0)
|
|
+ drm_fb_helper_fill_info(info, &fbdev->helper, sizes);
|
|
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) || defined(RHEL_75)
|
|
drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
|
|
#else
|
|
drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
|
|
#endif
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
|
|
drm_fb_helper_fill_var(info, &fbdev->helper, sizes->fb_width,
|
|
sizes->fb_height);
|
|
+#endif
|
|
|
|
info->screen_base = bo->kmap.virtual;
|
|
info->screen_size = size;
|
|
Index: VirtualBox-6.0.8/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|
===================================================================
|
|
--- VirtualBox-6.0.8.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|
+++ VirtualBox-6.0.8/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|
@@ -298,7 +298,6 @@ int vbox_mm_init(struct vbox_private *vb
|
|
if (ret)
|
|
return ret;
|
|
#endif
|
|
-
|
|
ret = ttm_bo_device_init(&vbox->ttm.bdev,
|
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
|
|
vbox->ttm.bo_global_ref.ref.object,
|
|
@@ -307,7 +306,11 @@ int vbox_mm_init(struct vbox_private *vb
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL_71)
|
|
dev->anon_inode->i_mapping,
|
|
#endif
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
|
|
DRM_FILE_PAGE_OFFSET, true);
|
|
+#else
|
|
+ true);
|
|
+#endif
|
|
if (ret) {
|
|
DRM_ERROR("Error initialising bo driver; %d\n", ret);
|
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
|