From 9b91bf41a9b6c2933b7757536fc9944e643602bf Mon Sep 17 00:00:00 2001 From: Matteo Bernardini Date: Sat, 23 May 2020 08:12:52 +0200 Subject: 20200523.1 global branch merge. Signed-off-by: Matteo Bernardini --- system/virtualbox-kernel/kernel_4.17.patch | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 system/virtualbox-kernel/kernel_4.17.patch (limited to 'system/virtualbox-kernel/kernel_4.17.patch') diff --git a/system/virtualbox-kernel/kernel_4.17.patch b/system/virtualbox-kernel/kernel_4.17.patch new file mode 100644 index 0000000000..007bf737f2 --- /dev/null +++ b/system/virtualbox-kernel/kernel_4.17.patch @@ -0,0 +1,32 @@ +In kernel 4.17, pci_get_bus_and_slot() has been removed in favor of +pci_get_domain_bus_and_slot(). It appears that VirtualBox only uses +domain number 0, thus pci_get_domain_bus_and_slot(0, bus, devfn) +is a suitable replacement for pci_get_bus_and_slot(bus, devfn). + +The resulting code compiles; however, I do not use PCI passthru, which +I think means that I have not actually tested the code. + +This patch released under a combined MIT/GPLv2 license. + +Shamelessly copied by the patch from Larry Finger. + +Signed-off-by: Matteo Bernardini + +diff -Naur virtualbox-kernel-5.2.8.orig/vboxpci/linux/VBoxPci-linux.c virtualbox-kernel-5.2.8/vboxpci/linux/VBoxPci-linux.c +--- virtualbox-kernel-5.2.8.orig/vboxpci/linux/VBoxPci-linux.c 2018-03-14 20:33:31.000000000 +0100 ++++ virtualbox-kernel-5.2.8/vboxpci/linux/VBoxPci-linux.c 2019-04-16 23:18:10.607698000 +0200 +@@ -89,7 +89,14 @@ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20) + # define PCI_DEV_GET(v,d,p) pci_get_device(v,d,p) + # define PCI_DEV_PUT(x) pci_dev_put(x) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0) ++/* assume the domain number to be zero - exactly the same assumption of ++* pci_get_bus_and_slot() ++*/ ++# define PCI_DEV_GET_SLOT(bus, devfn) pci_get_domain_bus_and_slot(0, bus, devfn) ++#else + # define PCI_DEV_GET_SLOT(bus, devfn) pci_get_bus_and_slot(bus, devfn) ++#endif + #else + # define PCI_DEV_GET(v,d,p) pci_find_device(v,d,p) + # define PCI_DEV_PUT(x) do { } while (0) -- cgit v1.2.3