]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
UBUNTU: ubuntu: vbox -- update to 5.1.28-dfsg-1
authorSeth Forshee <seth.forshee@canonical.com>
Wed, 20 Sep 2017 16:27:57 +0000 (11:27 -0500)
committerSeth Forshee <seth.forshee@canonical.com>
Wed, 20 Sep 2017 16:27:57 +0000 (11:27 -0500)
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
19 files changed:
ubuntu/vbox/BOM
ubuntu/vbox/dkms.conf
ubuntu/vbox/include/VBox/ostypes.h
ubuntu/vbox/r0drv/linux/memobj-r0drv-linux.c
ubuntu/vbox/vboxguest/revision-generated.h
ubuntu/vbox/vboxguest/version-generated.h
ubuntu/vbox/vboxsf/revision-generated.h
ubuntu/vbox/vboxsf/version-generated.h
ubuntu/vbox/vboxvideo/Makefile
ubuntu/vbox/vboxvideo/revision-generated.h
ubuntu/vbox/vboxvideo/vbox_drv.c
ubuntu/vbox/vboxvideo/vbox_drv.h
ubuntu/vbox/vboxvideo/vbox_fb.c
ubuntu/vbox/vboxvideo/vbox_irq.c
ubuntu/vbox/vboxvideo/vbox_main.c
ubuntu/vbox/vboxvideo/vbox_mode.c
ubuntu/vbox/vboxvideo/vbox_prime.c
ubuntu/vbox/vboxvideo/vbox_ttm.c
ubuntu/vbox/vboxvideo/version-generated.h

index 11d4ea4976858ce4b896cba256dc17e191b68991..7695230c68ad608ca808e17dfc71dfa01712ae8e 100644 (file)
@@ -1,2 +1,2 @@
-Source: http://ports.ubuntu.com/pool/multiverse/v/virtualbox/virtualbox-guest-dkms_5.1.26-dfsg-2_all.deb
-Version: 5.1.26-dfsg-2
+Source: http://ports.ubuntu.com/pool/multiverse/v/virtualbox/virtualbox-guest-dkms_5.1.28-dfsg-1_all.deb
+Version: 5.1.28-dfsg-1
index d6d3053b2510465de53c6ba06e5070a6862cd61d..2da0d9fb99ae6bd29c76045145c0022992c71621 100644 (file)
@@ -1,5 +1,5 @@
 PACKAGE_NAME="virtualbox-guest"
-PACKAGE_VERSION="5.1.26"
+PACKAGE_VERSION="5.1.28"
 CLEAN="rm -f *.*o"
 BUILT_MODULE_NAME[0]="vboxguest"
 BUILT_MODULE_LOCATION[0]="vboxguest"
index f80404354922d52c5095023123f9deda297175c8..8f7d492ed43359fd37ac7f580cbb848f29f73933 100644 (file)
@@ -130,6 +130,8 @@ typedef enum VBOXOSTYPE
     VBOXOSTYPE_MacOS109_x64     = 0xB5100,
     VBOXOSTYPE_MacOS1010_x64    = 0xB6100,
     VBOXOSTYPE_MacOS1011_x64    = 0xB7100,
+    VBOXOSTYPE_MacOS1012_x64    = 0xB8100,
+    VBOXOSTYPE_MacOS1013_x64    = 0xB9100,
     VBOXOSTYPE_JRockitVE        = 0xC0000,
     VBOXOSTYPE_Haiku            = 0xD0000,
     VBOXOSTYPE_Haiku_x64        = 0xD0100,
index bcdfb00002a60e967dffd0f4ba044badb45aa6ee..1707e8d398025e2518f4238fb8d4442e4d2cdebf 100644 (file)
@@ -1025,6 +1025,14 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJINTERNAL ppMem, RTHCPHYS P
     return VINF_SUCCESS;
 }
 
+/* openSUSE Leap 42.3 detection :-/ */
+#if    LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) \
+    && LINUX_VERSION_CODE <  KERNEL_VERSION(4, 6, 0) \
+    && defined(FAULT_FLAG_REMOTE)
+# define GET_USER_PAGES_API     KERNEL_VERSION(4, 10, 0) /* no typo! */
+#else
+# define GET_USER_PAGES_API     LINUX_VERSION_CODE
+#endif
 
 DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3Ptr, size_t cb, uint32_t fAccess, RTR0PROCESS R0Process)
 {
@@ -1062,11 +1070,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
         /*
          * Get user pages.
          */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+#if GET_USER_PAGES_API >= KERNEL_VERSION(4, 6, 0)
         if (R0Process == RTR0ProcHandleSelf())
             rc = get_user_pages(R3Ptr,                  /* Where from. */
                                 cPages,                 /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0)
                                 fWrite ? FOLL_WRITE |   /* Write to memory. */
                                          FOLL_FORCE     /* force write access. */
                                        : 0,             /* Write to memory. */
@@ -1086,7 +1094,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
                                 pTask->mm,              /* Whose pages. */
                                 R3Ptr,                  /* Where from. */
                                 cPages,                 /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0)
                                 fWrite ? FOLL_WRITE |   /* Write to memory. */
                                          FOLL_FORCE     /* force write access. */
                                        : 0,             /* Write to memory. */
@@ -1096,16 +1104,16 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
 # endif
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 papVMAs                 /* vmas */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
+# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 10, 0)
                                 , NULL                  /* locked */
 # endif
                                 );
-#else /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
+#else /* GET_USER_PAGES_API < KERNEL_VERSION(4, 6, 0) */
             rc = get_user_pages(pTask,                  /* Task for fault accounting. */
                                 pTask->mm,              /* Whose pages. */
                                 R3Ptr,                  /* Where from. */
                                 cPages,                 /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0)
                                 fWrite ? FOLL_WRITE |   /* Write to memory. */
                                          FOLL_FORCE     /* force write access. */
                                        : 0,             /* Write to memory. */
@@ -1115,7 +1123,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
 # endif
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 papVMAs);               /* vmas */
-#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
+#endif /* GET_USER_PAGES_API < KERNEL_VERSION(4, 6, 0) */
         if (rc == cPages)
         {
             /*
index 00b2c7b32ad002bcd31a3405c2874663727f4309..74247d9120e57b97e3f34cb64686496c10c9570d 100644 (file)
@@ -1 +1 @@
-#define VBOX_SVN_REV 117224
+#define VBOX_SVN_REV 117968
index f12697034f4b16e26e5054715179eea94a7363c5..24cdc17c402c81dc44655c24aa5d351d201b0423 100644 (file)
@@ -3,11 +3,11 @@
 
 #define VBOX_VERSION_MAJOR 5
 #define VBOX_VERSION_MINOR 1
-#define VBOX_VERSION_BUILD 26
-#define VBOX_VERSION_STRING_RAW "5.1.26"
-#define VBOX_VERSION_STRING "5.1.26_Ubuntu"
+#define VBOX_VERSION_BUILD 28
+#define VBOX_VERSION_STRING_RAW "5.1.28"
+#define VBOX_VERSION_STRING "5.1.28_Ubuntu"
 #define VBOX_API_VERSION_STRING "5_1"
 
-#define VBOX_PRIVATE_BUILD_DESC "Private build by root"
+#define VBOX_PRIVATE_BUILD_DESC "Private build by buildd"
 
 #endif
index 00b2c7b32ad002bcd31a3405c2874663727f4309..74247d9120e57b97e3f34cb64686496c10c9570d 100644 (file)
@@ -1 +1 @@
-#define VBOX_SVN_REV 117224
+#define VBOX_SVN_REV 117968
index f12697034f4b16e26e5054715179eea94a7363c5..24cdc17c402c81dc44655c24aa5d351d201b0423 100644 (file)
@@ -3,11 +3,11 @@
 
 #define VBOX_VERSION_MAJOR 5
 #define VBOX_VERSION_MINOR 1
-#define VBOX_VERSION_BUILD 26
-#define VBOX_VERSION_STRING_RAW "5.1.26"
-#define VBOX_VERSION_STRING "5.1.26_Ubuntu"
+#define VBOX_VERSION_BUILD 28
+#define VBOX_VERSION_STRING_RAW "5.1.28"
+#define VBOX_VERSION_STRING "5.1.28_Ubuntu"
 #define VBOX_API_VERSION_STRING "5_1"
 
-#define VBOX_PRIVATE_BUILD_DESC "Private build by root"
+#define VBOX_PRIVATE_BUILD_DESC "Private build by buildd"
 
 #endif
index b6b003784abb7babae1b80198dcbdc00bdce6967..a499fb16b25da4196ac7da08821739311e1113d4 100644 (file)
@@ -34,7 +34,7 @@ ifeq ($(KERN_VERSION),24)
   MY_KERNELRELEASE := 2.4.0
 endif
 ifeq ($(filter 1.% 2.% 3.0.% 3.1.% 3.2.% 3.3.% 3.4.% 3.5.% 3.6.% 3.7.% \
-3.8.% 3.9.% 3.10.%,$(MY_KERNELRELEASE)),)
+3.8.% 3.9.%,$(MY_KERNELRELEASE)),)
 MOD_OBJS   = HGSMIBase.o HGSMICommon.o HGSMIMemAlloc.o heapoffset.o \
              Modesetting.o vbox_drv.o vbox_fb.o vbox_irq.o vbox_main.o \
              vbox_mode.o vbox_ttm.o VBVABase.o vbox_prime.o
index 00b2c7b32ad002bcd31a3405c2874663727f4309..74247d9120e57b97e3f34cb64686496c10c9570d 100644 (file)
@@ -1 +1 @@
-#define VBOX_SVN_REV 117224
+#define VBOX_SVN_REV 117968
index d2c1b04f583633c40996b190f5570a606536c750..4458df0fbd62012f8314bbcf9e9d476d8fd93079 100644 (file)
@@ -194,7 +194,7 @@ static struct pci_driver vbox_pci_driver =
     .driver.pm = &vbox_pm_ops,
 };
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL_74)
 /* This works around a bug in X servers prior to 1.18.4, which sometimes
  * submit more dirty rectangles than the kernel is willing to handle and
  * then disable dirty rectangle handling altogether when they see the
@@ -209,21 +209,21 @@ long vbox_ioctl(struct file *filp,
         return -EOVERFLOW;
     return rc;
 }
-#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !RHEL_74 */
 
 static const struct file_operations vbox_fops =
 {
     .owner = THIS_MODULE,
     .open = drm_open,
     .release = drm_release,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL_74)
     .unlocked_ioctl = vbox_ioctl,
 #else
     .unlocked_ioctl = drm_ioctl,
 #endif
     .mmap = vbox_mmap,
     .poll = drm_poll,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
     .fasync = drm_fasync,
 #endif
 #ifdef CONFIG_COMPAT
@@ -254,7 +254,7 @@ static int vbox_master_set(struct drm_device *dev,
     return 0;
 }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) && !defined(RHEL_74)
 static void vbox_master_drop(struct drm_device *dev,
                              struct drm_file *file_priv,
                              bool from_release)
@@ -281,7 +281,7 @@ static struct drm_driver driver =
     .lastclose = vbox_driver_lastclose,
     .master_set = vbox_master_set,
     .master_drop = vbox_master_drop,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
     .set_busid = drm_pci_set_busid,
 #endif
 
@@ -297,7 +297,7 @@ static struct drm_driver driver =
     .gem_free_object = vbox_gem_free_object,
     .dumb_create = vbox_dumb_create,
     .dumb_map_offset = vbox_dumb_mmap_offset,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
     .dumb_destroy = vbox_dumb_destroy,
 #else
     .dumb_destroy = drm_gem_dumb_destroy,
index 6f89d3bd963774aa6def2ad5c6473dfa9df8aa87..b7c9f4de959f7d90174739734bcc746e9c50bbf9 100644 (file)
 #include <drm/ttm/ttm_memory.h>
 #include <drm/ttm/ttm_module.h>
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if defined(RHEL_MAJOR) && defined(RHEL_MINOR)
+# if RHEL_MAJOR == 7 && RHEL_MINOR >= 4
+#  define RHEL_73
+#  define RHEL_74
+# elif RHEL_MAJOR == 7 && RHEL_MINOR >= 3
+#  define RHEL_73
+# endif
+#endif
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
 # include <drm/drm_gem.h>
 #endif
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
@@ -213,7 +222,7 @@ extern void vbox_mode_fini(struct drm_device *dev);
 # define DRM_MODE_FB_CMD drm_mode_fb_cmd2
 #endif
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(RHEL_73)
 # define CRTC_FB(crtc) (crtc)->fb
 #else
 # define CRTC_FB(crtc) (crtc)->primary->fb
@@ -229,7 +238,7 @@ void vbox_framebuffer_dirty_rectangles(struct drm_framebuffer *fb,
 
 int vbox_framebuffer_init(struct drm_device *dev,
              struct vbox_framebuffer *vbox_fb,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73)
              const
 #endif
              struct DRM_MODE_FB_CMD *mode_cmd,
@@ -245,7 +254,7 @@ struct vbox_bo {
     struct ttm_placement placement;
     struct ttm_bo_kmap_obj kmap;
     struct drm_gem_object gem;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
     u32 placements[3];
 #else
     struct ttm_place placements[3];
@@ -266,7 +275,7 @@ vbox_bo(struct ttm_buffer_object *bo)
 extern int vbox_dumb_create(struct drm_file *file,
                struct drm_device *dev,
                struct drm_mode_create_dumb *args);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
 extern int vbox_dumb_destroy(struct drm_file *file,
                 struct drm_device *dev,
                 uint32_t handle);
@@ -297,7 +306,7 @@ static inline int vbox_bo_reserve(struct vbox_bo *bo, bool no_wait)
 {
     int ret;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
     ret = ttm_bo_reserve(&bo->bo, true, no_wait, NULL);
 #else
     ret = ttm_bo_reserve(&bo->bo, true, no_wait, false, 0);
@@ -326,7 +335,7 @@ void vbox_gem_prime_unpin(struct drm_gem_object *obj);
 struct sg_table *vbox_gem_prime_get_sg_table(struct drm_gem_object *obj);
 struct drm_gem_object *vbox_gem_prime_import_sg_table(
         struct drm_device *dev,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
         size_t size,
 #else
         struct dma_buf_attachment *attach,
index 560db238242a61164a17710056ac135420d7347e..595c792ac9677c7d5f1aced940aad161ec6ee8a8 100644 (file)
@@ -443,7 +443,7 @@ int vbox_fbdev_init(struct drm_device *dev)
     vbox->fbdev = fbdev;
     spin_lock_init(&fbdev->dirty_lock);
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73)
     fbdev->helper.funcs = &vbox_fb_helper_funcs;
 #else
     drm_fb_helper_prepare(dev, &fbdev->helper, &vbox_fb_helper_funcs);
index d6ceed82ddf5ed669fda257f6236668961d3f944..2ea3a040a2ce9d445b2e0cd131fd42c09ef1447e 100644 (file)
@@ -127,7 +127,7 @@ static void vbox_update_mode_hints(struct vbox_private *vbox)
                                             hints->cy, 0, flags);
                 vbox_connector->vbox_crtc->disconnected = disconnected;
             }
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) || defined(RHEL_73)
             if ((hints->dx < 0xffff) && (hints->dy < 0xffff)) {
                 drm_object_property_set_value(&connector->base,
                     dev->mode_config.suggested_x_property, hints->dx & 0x8fff);
@@ -160,7 +160,7 @@ int vbox_irq_init(struct vbox_private *vbox)
 
     LogFunc(("vboxvideo: %d: vbox=%p\n", __LINE__, vbox));
     vbox_update_mode_hints(vbox);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(RHEL_73)
     ret = drm_irq_install(vbox->dev, vbox->dev->pdev->irq);
 #else
     ret = drm_irq_install(vbox->dev);
index 24bbedcc016a67a9ec3c89a446e7a12e14a8d400..302c5fb4dbc93373d9f4160a3ddb731ed417a0a1 100644 (file)
@@ -168,7 +168,7 @@ static const struct drm_framebuffer_funcs vbox_fb_funcs = {
 
 int vbox_framebuffer_init(struct drm_device *dev,
              struct vbox_framebuffer *vbox_fb,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73)
              const
 #endif
              struct DRM_MODE_FB_CMD *mode_cmd,
@@ -197,7 +197,7 @@ int vbox_framebuffer_init(struct drm_device *dev,
 static struct drm_framebuffer *
 vbox_user_framebuffer_create(struct drm_device *dev,
            struct drm_file *filp,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73)
            const
 #endif
            struct drm_mode_fb_cmd2 *mode_cmd)
@@ -207,7 +207,7 @@ vbox_user_framebuffer_create(struct drm_device *dev,
     int ret;
 
     LogFunc(("vboxvideo: %d\n", __LINE__));
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
     obj = drm_gem_object_lookup(filp, mode_cmd->handles[0]);
 #else
     obj = drm_gem_object_lookup(dev, filp, mode_cmd->handles[0]);
@@ -305,7 +305,7 @@ static bool have_hgsmi_mode_hints(struct vbox_private *vbox)
            && have_cursor == VINF_SUCCESS;
 }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) && !defined(RHEL_73)
 # define pci_iomap_range(dev, bar, offset, maxlen) \
     ioremap(pci_resource_start(dev, bar) + offset, maxlen)
 #endif
@@ -445,7 +445,7 @@ void vbox_driver_lastclose(struct drm_device *dev)
 {
     struct vbox_private *vbox = dev->dev_private;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(RHEL_73)
     if (vbox->fbdev)
         drm_fb_helper_restore_fbdev_mode_unlocked(&vbox->fbdev->helper);
 #else
@@ -512,7 +512,7 @@ int vbox_dumb_create(struct drm_file *file,
     return 0;
 }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
 int vbox_dumb_destroy(struct drm_file *file,
              struct drm_device *dev,
              uint32_t handle)
@@ -548,7 +548,7 @@ void vbox_gem_free_object(struct drm_gem_object *obj)
 
 static inline u64 vbox_bo_mmap_offset(struct vbox_bo *bo)
 {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
     return bo->bo.addr_space_offset;
 #else
     return drm_vma_node_offset_addr(&bo->bo.vma_node);
@@ -567,7 +567,7 @@ vbox_dumb_mmap_offset(struct drm_file *file,
     LogFunc(("vboxvideo: %d: dev=%p, handle=%u\n", __LINE__,
              dev, (unsigned)handle));
     mutex_lock(&dev->struct_mutex);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
     obj = drm_gem_object_lookup(file, handle);
 #else
     obj = drm_gem_object_lookup(dev, file, handle);
index 62336ea0d5240fc0eca4acbfaf2b4be90d6b63e7..2b96e5eaa845725742a193e31e513bf710134ea0 100644 (file)
@@ -53,7 +53,7 @@
 
 #include <linux/export.h>
 #include <drm/drm_crtc_helper.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
 # include <drm/drm_plane_helper.h>
 #endif
 
@@ -353,7 +353,7 @@ static void vbox_encoder_destroy(struct drm_encoder *encoder)
     kfree(encoder);
 }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) && !defined(RHEL_73)
 static struct drm_encoder *drm_encoder_find(struct drm_device *dev, uint32_t id)
 {
      struct drm_mode_object *mo;
@@ -427,7 +427,7 @@ static struct drm_encoder *vbox_encoder_init(struct drm_device *dev, unsigned i)
 
     drm_encoder_init(dev, &vbox_encoder->base, &vbox_enc_funcs,
                      DRM_MODE_ENCODER_DAC
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73)
                      , NULL
 #endif
                      );
@@ -557,7 +557,7 @@ static void vbox_connector_destroy(struct drm_connector *connector)
 
     LogFunc(("vboxvideo: %d: connector=%p\n", __LINE__, connector));
     vbox_connector = to_vbox_connector(connector);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73)
     drm_sysfs_connector_remove(connector);
 #else
     drm_connector_unregister(connector);
@@ -632,14 +632,14 @@ static int vbox_connector_init(struct drm_device *dev,
     connector->interlace_allowed = 0;
     connector->doublescan_allowed = 0;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) || defined(RHEL_73)
     drm_mode_create_suggested_offset_properties(dev);
     drm_object_attach_property(&connector->base,
                                dev->mode_config.suggested_x_property, 0);
     drm_object_attach_property(&connector->base,
                                dev->mode_config.suggested_y_property, 0);
 #endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73)
     drm_sysfs_connector_add(connector);
 #else
     drm_connector_register(connector);
@@ -743,7 +743,7 @@ static int vbox_cursor_set2(struct drm_crtc *crtc, struct drm_file *file_priv,
          * retry at once. */
         return -EBUSY;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
     obj = drm_gem_object_lookup(file_priv, handle);
 #else
     obj = drm_gem_object_lookup(crtc->dev, file_priv, handle);
index 2d162ea693730bff56705c42900dc92e3d866fc8..00c171165a4319ebdff74249c8f12bac2b9fa16a 100644 (file)
@@ -59,7 +59,7 @@ struct sg_table *vbox_gem_prime_get_sg_table(struct drm_gem_object *obj)
 
 struct drm_gem_object *vbox_gem_prime_import_sg_table(
         struct drm_device *dev,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
         size_t size,
 #else
         struct dma_buf_attachment *attach,
index 83f8122de33b8c576b9333068d8d52659554524c..1f4280dc8beaeb75529f0761bab8511ec35ce039 100644 (file)
@@ -48,7 +48,7 @@
 #include "vbox_drv.h"
 #include <ttm/ttm_page_alloc.h>
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
 # define PLACEMENT_FLAGS(placement) (placement)
 #else
 # define PLACEMENT_FLAGS(placement) (placement).flags
@@ -221,9 +221,9 @@ static int vbox_bo_move(struct ttm_buffer_object *bo,
                struct ttm_mem_reg *new_mem)
 {
     int r;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) && !defined(RHEL_74)
     r = ttm_bo_move_memcpy(bo, evict, no_wait_gpu, new_mem);
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0) && !defined(RHEL_74)
     r = ttm_bo_move_memcpy(bo, evict, interruptible, no_wait_gpu, new_mem);
 #else
     r = ttm_bo_move_memcpy(bo, interruptible, no_wait_gpu, new_mem);
@@ -275,7 +275,7 @@ struct ttm_bo_driver vbox_bo_driver = {
     .ttm_tt_populate = vbox_ttm_tt_populate,
     .ttm_tt_unpopulate = vbox_ttm_tt_unpopulate,
     .init_mem_type = vbox_bo_init_mem_type,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) || defined(RHEL_74)
     .eviction_valuable = ttm_bo_eviction_valuable,
 #endif
     .evict_flags = vbox_bo_evict_flags,
@@ -286,7 +286,8 @@ struct ttm_bo_driver vbox_bo_driver = {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
     .io_mem_pfn = ttm_bo_default_io_mem_pfn,
 #endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)) \
+    || defined(RHEL_74)
     .lru_tail = &ttm_bo_default_lru_tail,
     .swap_lru_tail = &ttm_bo_default_swap_lru_tail,
 #endif
@@ -305,7 +306,7 @@ int vbox_mm_init(struct vbox_private *vbox)
     ret = ttm_bo_device_init(&vbox->ttm.bdev,
                  vbox->ttm.bo_global_ref.ref.object,
                  &vbox_bo_driver,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL_73)
                  dev->anon_inode->i_mapping,
 #endif
                  DRM_FILE_PAGE_OFFSET,
@@ -358,7 +359,7 @@ void vbox_mm_fini(struct vbox_private *vbox)
 void vbox_ttm_placement(struct vbox_bo *bo, int domain)
 {
     u32 c = 0;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
     bo->placement.fpfn = 0;
     bo->placement.lpfn = 0;
 #else
@@ -375,7 +376,7 @@ void vbox_ttm_placement(struct vbox_bo *bo, int domain)
         PLACEMENT_FLAGS(bo->placements[c++]) = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;
     bo->placement.num_placement = c;
     bo->placement.num_busy_placement = c;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
     for (i = 0; i < c; ++i) {
         bo->placements[i].fpfn = 0;
         bo->placements[i].lpfn = 0;
@@ -402,7 +403,7 @@ int vbox_bo_create(struct drm_device *dev, int size, int align,
     }
 
     vboxbo->bo.bdev = &vbox->ttm.bdev;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(RHEL_73)
     vboxbo->bo.bdev->dev_mapping = dev->dev_mapping;
 #endif
 
@@ -414,7 +415,7 @@ int vbox_bo_create(struct drm_device *dev, int size, int align,
     ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
               ttm_bo_type_device, &vboxbo->placement,
               align >> PAGE_SHIFT, false, NULL, acc_size,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
               NULL,
 #endif
               NULL, vbox_bo_ttm_destroy);
index f12697034f4b16e26e5054715179eea94a7363c5..24cdc17c402c81dc44655c24aa5d351d201b0423 100644 (file)
@@ -3,11 +3,11 @@
 
 #define VBOX_VERSION_MAJOR 5
 #define VBOX_VERSION_MINOR 1
-#define VBOX_VERSION_BUILD 26
-#define VBOX_VERSION_STRING_RAW "5.1.26"
-#define VBOX_VERSION_STRING "5.1.26_Ubuntu"
+#define VBOX_VERSION_BUILD 28
+#define VBOX_VERSION_STRING_RAW "5.1.28"
+#define VBOX_VERSION_STRING "5.1.28_Ubuntu"
 #define VBOX_API_VERSION_STRING "5_1"
 
-#define VBOX_PRIVATE_BUILD_DESC "Private build by root"
+#define VBOX_PRIVATE_BUILD_DESC "Private build by buildd"
 
 #endif