Changeset View
Changeset View
Standalone View
Standalone View
files/fixes_for_5.5.patch
- This file was added.
| Index: VirtualBox-6.1.2/src/VBox/HostDrivers/linux/Makefile | |||||
| =================================================================== | |||||
| --- VirtualBox-6.1.2.orig/src/VBox/HostDrivers/linux/Makefile | |||||
| +++ VirtualBox-6.1.2/src/VBox/HostDrivers/linux/Makefile | |||||
| @@ -35,9 +35,6 @@ endif | |||||
| ifneq ($(wildcard $(CURDIR)/vboxnetadp/Makefile),) | |||||
| obj-m += vboxnetadp/ | |||||
| endif | |||||
| -ifneq ($(wildcard $(CURDIR)/vboxpci/Makefile),) | |||||
| - obj-m += vboxpci/ | |||||
| -endif | |||||
| else # ! KERNELRELEASE | |||||
| @@ -45,10 +42,11 @@ else # ! KERNELRELEASE | |||||
| KBUILD_VERBOSE ?= | |||||
| KERN_VER ?= $(shell uname -r) | |||||
| -.PHONY: all install clean check unload load vboxdrv vboxnetflt vboxnetadp \ | |||||
| - vboxpci | |||||
| +PWD ?= $(shell pwd) | |||||
| + | |||||
| +.PHONY: all install clean check unload load vboxdrv vboxnetflt vboxnetadp | |||||
| -all: vboxdrv vboxnetflt vboxnetadp vboxpci | |||||
| +all: vboxdrv vboxnetflt vboxnetadp | |||||
| # We want to build on Linux 2.6.18 and later kernels. | |||||
| ifneq ($(filter-out 1.% 2.0.% 2.1.% 2.2.% 2.3.% 2.4.% 2.5.%,$(KERN_VER)),) | |||||
| @@ -64,6 +62,7 @@ vboxnetflt: vboxdrv | |||||
| if [ -f vboxdrv/Module.symvers ]; then \ | |||||
| cp vboxdrv/Module.symvers vboxnetflt; \ | |||||
| fi; \ | |||||
| + export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxnetflt/Module.symvers; \ | |||||
| echo "=== Building 'vboxnetflt' module ==="; \ | |||||
| $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt || exit 1; \ | |||||
| cp vboxnetflt/vboxnetflt.ko .; \ | |||||
| @@ -75,41 +74,29 @@ vboxnetadp: vboxdrv | |||||
| if [ -f vboxdrv/Module.symvers ]; then \ | |||||
| cp vboxdrv/Module.symvers vboxnetadp; \ | |||||
| fi; \ | |||||
| + export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxnetadp/Module.symvers; \ | |||||
| echo "=== Building 'vboxnetadp' module ==="; \ | |||||
| - $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp || exit 1; \ | |||||
| + $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp || exit 1; \ | |||||
| cp vboxnetadp/vboxnetadp.ko .; \ | |||||
| echo; \ | |||||
| fi | |||||
| -vboxpci: vboxdrv | |||||
| - @if [ -d vboxpci ]; then \ | |||||
| - if [ -f vboxdrv/Module.symvers ]; then \ | |||||
| - cp vboxdrv/Module.symvers vboxpci; \ | |||||
| - fi; \ | |||||
| - echo "=== Building 'vboxpci' module ==="; \ | |||||
| - $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxpci || exit 1; \ | |||||
| - cp vboxpci/vboxpci.ko .; \ | |||||
| - echo; \ | |||||
| - fi | |||||
| - | |||||
| install: | |||||
| @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install | |||||
| @if [ -d vboxnetflt ]; then \ | |||||
| + export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxnetflt/Module.symvers; \ | |||||
| $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt install; \ | |||||
| fi | |||||
| @if [ -d vboxnetadp ]; then \ | |||||
| + export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxnetadp/Module.symvers; \ | |||||
| $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp install; \ | |||||
| fi | |||||
| - @if [ -d vboxpci ]; then \ | |||||
| - $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxpci install; \ | |||||
| - fi | |||||
| else | |||||
| vboxdrv: | |||||
| vboxnetflt: | |||||
| vboxnetadp: | |||||
| -vboxpci: | |||||
| install: | |||||
| endif | |||||
| @@ -122,16 +109,13 @@ clean: | |||||
| @if [ -d vboxnetadp ]; then \ | |||||
| $(MAKE) -C vboxnetadp clean; \ | |||||
| fi | |||||
| - @if [ -d vboxpci ]; then \ | |||||
| - $(MAKE) -C vboxpci clean; \ | |||||
| - fi | |||||
| - rm -f vboxdrv.ko vboxnetflt.ko vboxnetadp.ko vboxpci.ko | |||||
| + rm -f vboxdrv.ko vboxnetflt.ko vboxnetadp.ko | |||||
| check: | |||||
| @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv check | |||||
| unload: | |||||
| - @for module in vboxpci vboxnetadp vboxnetflt vboxdrv; do \ | |||||
| + @for module in vboxnetadp vboxnetflt vboxdrv; do \ | |||||
| if grep "^$$module " /proc/modules >/dev/null; then \ | |||||
| echo "Removing previously installed $$module module"; \ | |||||
| /sbin/rmmod $$module; \ | |||||
| @@ -139,7 +123,7 @@ unload: | |||||
| done | |||||
| load: unload | |||||
| - @for module in vboxdrv vboxnetflt vboxnetadp vboxpci; do \ | |||||
| + @for module in vboxdrv vboxnetflt vboxnetadp; do \ | |||||
| if test -f $$module.ko; then \ | |||||
| echo "Installing $$module module"; \ | |||||
| /sbin/insmod $$module.ko; \ | |||||
| Index: VirtualBox-6.1.2/src/VBox/Additions/linux/Makefile | |||||
| =================================================================== | |||||
| --- VirtualBox-6.1.2.orig/src/VBox/Additions/linux/Makefile | |||||
| +++ VirtualBox-6.1.2/src/VBox/Additions/linux/Makefile | |||||
| @@ -24,6 +24,7 @@ obj-m = vboxguest/ vboxsf/ vboxvideo/ | |||||
| else # ! KERNELRELEASE | |||||
| KBUILD_VERBOSE = | |||||
| +PWD ?= $(shell pwd) | |||||
| ifeq ($(KBUILD_VERBOSE),) | |||||
| VBOX_QUIET := @ | |||||
| VBOX_QUIET_SH := @ | |||||
| @@ -49,6 +50,7 @@ vboxsf: vboxguest | |||||
| if [ -f vboxguest/Module.symvers ]; then \ | |||||
| cp vboxguest/Module.symvers vboxsf; \ | |||||
| fi; \ | |||||
| + export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxsf/Module.symvers; \ | |||||
| echo "=== Building 'vboxsf' module ==="; \ | |||||
| $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) KBUILD_EXTRA_SYMBOLS=$(abspath vboxsf/Module.symvers) -C vboxsf || exit 1; \ | |||||
| if [ -f vboxsf/vboxsf.ko ]; then \ | |||||
| @@ -64,6 +66,7 @@ vboxvideo: | |||||
| if [ -f vboxguest/Module.symvers ]; then \ | |||||
| cp vboxguest/Module.symvers vboxvideo; \ | |||||
| fi; \ | |||||
| + export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxvideo/Module.symvers; \ | |||||
| echo "=== Building 'vboxvideo' module ==="; \ | |||||
| $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) KBUILD_EXTRA_SYMBOLS=$(abspath vboxvideo/Module.symvers) -C vboxvideo || exit 1; \ | |||||
| if [ -f vboxvideo/vboxvideo.ko ]; then \ | |||||
| @@ -77,9 +80,11 @@ vboxvideo: | |||||
| install: | |||||
| $(VBOX_QUIET)$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest install | |||||
| $(VBOX_QUIET_SH)if [ -d vboxsf ]; then \ | |||||
| + export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxsf/Module.symvers; \ | |||||
| $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxsf install; \ | |||||
| fi | |||||
| $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \ | |||||
| + export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxvideo/Module.symvers; \ | |||||
| $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo install; \ | |||||
| fi | |||||
| Index: VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_drv.c | |||||
| =================================================================== | |||||
| --- VirtualBox-6.1.2.orig/src/VBox/Additions/linux/drm/vbox_drv.c | |||||
| +++ VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_drv.c | |||||
| @@ -35,8 +35,18 @@ | |||||
| #include <linux/module.h> | |||||
| #include <linux/console.h> | |||||
| #include <linux/vt_kern.h> | |||||
| +#include <linux/version.h> | |||||
| +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0)) | |||||
| +#include <drm/drm_file.h> | |||||
| +#include <drm/drm_drv.h> | |||||
| +#include <drm/drm_device.h> | |||||
| +#include <linux/pci.h> | |||||
| +#include <drm/drm_ioctl.h> | |||||
| +#include <drm/drm_pci.h> | |||||
| +#else | |||||
| #include <drm/drmP.h> | |||||
| +#endif | |||||
| #include <drm/drm_crtc_helper.h> | |||||
| #include "vbox_drv.h" | |||||
| Index: VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_drv.h | |||||
| =================================================================== | |||||
| --- VirtualBox-6.1.2.orig/src/VBox/Additions/linux/drm/vbox_drv.h | |||||
| +++ VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_drv.h | |||||
| @@ -103,7 +103,13 @@ | |||||
| #define S64_MIN ((s64)(-S64_MAX - 1)) | |||||
| #endif | |||||
| +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0)) | |||||
| +#include <drm/drm_file.h> | |||||
| +#include <drm/drm_drv.h> | |||||
| +#include <drm/drm_device.h> | |||||
| +#else | |||||
| #include <drm/drmP.h> | |||||
| +#endif | |||||
| #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) || defined(RHEL_75) | |||||
| #include <drm/drm_encoder.h> | |||||
| #endif | |||||
| Index: VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_fb.c | |||||
| =================================================================== | |||||
| --- VirtualBox-6.1.2.orig/src/VBox/Additions/linux/drm/vbox_fb.c | |||||
| +++ VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_fb.c | |||||
| @@ -42,7 +42,19 @@ | |||||
| #include <linux/fb.h> | |||||
| #include <linux/init.h> | |||||
| +#include <linux/version.h> | |||||
| +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0)) | |||||
| +#include <drm/drm_file.h> | |||||
| +#include <drm/drm_drv.h> | |||||
| +#include <drm/drm_device.h> | |||||
| +#include <linux/pci.h> | |||||
| +#include <drm/drm_fourcc.h> | |||||
| +#include <drm/drm_pci.h> | |||||
| +#include <drm/drm_ioctl.h> | |||||
| +#define drm_compat_ioctl NULL | |||||
| +#else | |||||
| #include <drm/drmP.h> | |||||
| +#endif | |||||
| #include <drm/drm_crtc.h> | |||||
| #include <drm/drm_fb_helper.h> | |||||
| #include <drm/drm_crtc_helper.h> | |||||
| Index: VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_mode.c | |||||
| =================================================================== | |||||
| --- VirtualBox-6.1.2.orig/src/VBox/Additions/linux/drm/vbox_mode.c | |||||
| +++ VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_mode.c | |||||
| @@ -45,6 +45,14 @@ | |||||
| #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) || defined(RHEL_81) | |||||
| #include <drm/drm_probe_helper.h> | |||||
| #endif | |||||
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) | |||||
| +#include <drm/drm_fourcc.h> | |||||
| +#endif | |||||
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0) | |||||
| +#include <drm/drm_vblank.h> | |||||
| +#else | |||||
| +#include <drm/drmP.h> | |||||
| +#endif | |||||
| #include "VBoxVideo.h" | |||||
| @@ -398,6 +406,13 @@ static struct drm_encoder *drm_encoder_f | |||||
| static struct drm_encoder *vbox_best_single_encoder(struct drm_connector | |||||
| *connector) | |||||
| { | |||||
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) | |||||
| + struct drm_encoder *encoder; | |||||
| + | |||||
| + /* There is only one encoder per connector */ | |||||
| + drm_connector_for_each_possible_encoder(connector, encoder) | |||||
| + return encoder; | |||||
| +#else | |||||
| int enc_id = connector->encoder_ids[0]; | |||||
| /* pick the encoder ids */ | |||||
| @@ -410,6 +425,7 @@ static struct drm_encoder *vbox_best_sin | |||||
| #else | |||||
| return drm_encoder_find(connector->dev, enc_id); | |||||
| #endif | |||||
| +#endif | |||||
| return NULL; | |||||
| } | |||||
| Index: VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_ttm.c | |||||
| =================================================================== | |||||
| --- VirtualBox-6.1.2.orig/src/VBox/Additions/linux/drm/vbox_ttm.c | |||||
| +++ VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_ttm.c | |||||
| @@ -34,6 +34,10 @@ | |||||
| */ | |||||
| #include "vbox_drv.h" | |||||
| #include <drm/ttm/ttm_page_alloc.h> | |||||
| +#include <linux/pci.h> | |||||
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) | |||||
| +#include <drm/drm_fourcc.h> | |||||
| +#endif | |||||
| #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_72) | |||||
| #define PLACEMENT_FLAGS(placement) (placement) | |||||
| @@ -310,11 +314,12 @@ 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); | |||||
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) | |||||
| + bdev->vma_manager, | |||||
| +#elif LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0) | |||||
| + DRM_FILE_PAGE_OFFSET, | |||||
| #endif | |||||
| + true); | |||||
| if (ret) { | |||||
| DRM_ERROR("Error initialising bo driver; %d\n", ret); | |||||
| #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) && !defined(RHEL_77) && !defined(RHEL_81) | |||||
| Index: VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_irq.c | |||||
| =================================================================== | |||||
| --- VirtualBox-6.1.2.orig/src/VBox/Additions/linux/drm/vbox_irq.c | |||||
| +++ VirtualBox-6.1.2/src/VBox/Additions/linux/drm/vbox_irq.c | |||||
| @@ -42,6 +42,10 @@ | |||||
| #include <drm/drm_probe_helper.h> | |||||
| #endif | |||||
| #include <VBoxVideo.h> | |||||
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) | |||||
| +#include <drm/drm_irq.h> | |||||
| +#include <linux/pci.h> | |||||
| +#endif | |||||
| static void vbox_clear_irq(void) | |||||
| { | |||||
Copyright © 2015-2021 Solus Project. The Solus logo is Copyright © 2016-2021 Solus Project. All Rights Reserved.