1
0
forked from pool/virtualbox

Accepting request 830373 from home:lwfinger:branches:Virtualization

- Pseudo version bump to 6.1.13, which is NOT an Oracle release.
  Update VB sources to run under kernel 5.8.0+ with no modifications to the
  kernel. These sources are derived from r85883 of the Oracle svn repository.
  For operations with USB{2,3}, the extension pack for revision 140056 must
  be installed. Once Oracle releases 6.1.14, then the extension pack and
  VB itself will have the same revision number.
  File "fixes_for_5.8.patch" is removed as that part was fixed upstream.
  Fixes boo#1175201.

OBS-URL: https://build.opensuse.org/request/show/830373
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=568
This commit is contained in:
Larry Finger 2020-08-29 19:52:49 +00:00 committed by Git OBS Bridge
parent 903ea79527
commit 245cab47c0
15 changed files with 343 additions and 912 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6b6c6e262dbc3be6614f5b041587b4d4dd9d2b52c72639dde8781dbdc21dfe83
size 119430832

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d0257cc263029a8979a5e03d786bf52ebcec545c2a2c7586d0428bee69cdfdd7
size 121288285

View File

@ -1,473 +0,0 @@
Fixes needed to build vboxdrv with kernel 5.8. The changes handle the following kernel API changes:
1. In struct mm_struct, member mmap_sem was renamed to mmap_lock.
2. The information in cpu_tlbstate is no longer exported.
3. The routines __get_vm_area() and map_vm_area() no longer exist and their
replacements are not exported. Two fixes have been attempted:
a. The missing routines were not available until kernel 2.6.23, thus the code was
changed to revert back to the "old" method. Unfortunately, this did not work, and
likely it will require Oracle to make the changes.
b. The replacements for __get_vm_area() and map_vm_area() are implemented. The resulting
code builds but gets missing globals on loading. For testing, the kernel is modified.
This change cannot be permanent, but it can be temporary.
Index: VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- VirtualBox-6.1.12.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+++ VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
@@ -1,4 +1,4 @@
-/* $Id: memobj-r0drv-linux.c $ */
+/* $Id: memobj-r0drv-linux.c 85516 2020-07-29 10:47:38Z vboxsync $ */
/** @file
* IPRT - Ring-0 Memory Objects, Linux.
*/
@@ -52,6 +52,14 @@
# define PAGE_READONLY_EXEC PAGE_READONLY
#endif
+/** @def IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ * Whether we use alloc_vm_area (3.2+) for executable memory.
+ * This is a must for 5.8+, but we enable it all the way back to 3.2.x for
+ * better W^R compliance (fExecutable flag). */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) || defined(DOXYGEN_RUNNING)
+# define IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+#endif
+
/*
* 2.6.29+ kernels don't work with remap_pfn_range() anymore because
* track_pfn_vma_new() is apparently not defined for non-RAM pages.
@@ -72,12 +80,27 @@
# define gfp_t unsigned
#endif
+/*
+ * Wrappers around mmap_lock/mmap_sem difference.
+ */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
+# define LNX_MM_DOWN_READ(a_pMm) down_read(&(a_pMm)->mmap_lock)
+# define LNX_MM_UP_READ(a_pMm) up_read(&(a_pMm)->mmap_lock)
+# define LNX_MM_DOWN_WRITE(a_pMm) down_write(&(a_pMm)->mmap_lock)
+# define LNX_MM_UP_WRITE(a_pMm) up_write(&(a_pMm)->mmap_lock)
+#else
+# define LNX_MM_DOWN_READ(a_pMm) down_read(&(a_pMm)->mmap_sem)
+# define LNX_MM_UP_READ(a_pMm) up_read(&(a_pMm)->mmap_sem)
+# define LNX_MM_DOWN_WRITE(a_pMm) down_write(&(a_pMm)->mmap_sem)
+# define LNX_MM_UP_WRITE(a_pMm) up_write(&(a_pMm)->mmap_sem)
+#endif
+
/*********************************************************************************************************************************
* Structures and Typedefs *
*********************************************************************************************************************************/
/**
- * The Darwin version of the memory object structure.
+ * The Linux version of the memory object structure.
*/
typedef struct RTR0MEMOBJLNX
{
@@ -90,11 +113,20 @@ typedef struct RTR0MEMOBJLNX
bool fExecutable;
/** Set if we've vmap'ed the memory into ring-0. */
bool fMappedToRing0;
+#ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ /** Return from alloc_vm_area() that we now need to use for executable
+ * memory. */
+ struct vm_struct *pArea;
+ /** PTE array that goes along with pArea (must be freed). */
+ pte_t **papPtesForArea;
+#endif
/** The pages in the apPages array. */
size_t cPages;
/** Array of struct page pointers. (variable size) */
struct page *apPages[1];
-} RTR0MEMOBJLNX, *PRTR0MEMOBJLNX;
+} RTR0MEMOBJLNX;
+/** Pointer to the linux memory object. */
+typedef RTR0MEMOBJLNX *PRTR0MEMOBJLNX;
static void rtR0MemObjLinuxFreePages(PRTR0MEMOBJLNX pMemLnx);
@@ -182,7 +214,7 @@ static pgprot_t rtR0MemObjLinuxConvertPr
* Worker for rtR0MemObjNativeReserveUser and rtR0MemObjNativerMapUser that creates
* an empty user space mapping.
*
- * We acquire the mmap_sem of the task!
+ * We acquire the mmap_sem/mmap_lock of the task!
*
* @returns Pointer to the mapping.
* (void *)-1 on failure.
@@ -222,9 +254,9 @@ static void *rtR0MemObjLinuxDoMmap(RTR3P
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
ulAddr = vm_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
#else
- down_write(&pTask->mm->mmap_sem);
+ LNX_MM_DOWN_WRITE(pTask->mm);
ulAddr = do_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
- up_write(&pTask->mm->mmap_sem);
+ LNX_MM_UP_WRITE(pTask->mm);
#endif
}
else
@@ -232,9 +264,9 @@ static void *rtR0MemObjLinuxDoMmap(RTR3P
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
ulAddr = vm_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0);
#else
- down_write(&pTask->mm->mmap_sem);
+ LNX_MM_DOWN_WRITE(pTask->mm);
ulAddr = do_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0);
- up_write(&pTask->mm->mmap_sem);
+ LNX_MM_UP_WRITE(pTask->mm);
#endif
if ( !(ulAddr & ~PAGE_MASK)
&& (ulAddr & (uAlignment - 1)))
@@ -257,7 +289,7 @@ static void *rtR0MemObjLinuxDoMmap(RTR3P
* Worker that destroys a user space mapping.
* Undoes what rtR0MemObjLinuxDoMmap did.
*
- * We acquire the mmap_sem of the task!
+ * We acquire the mmap_sem/mmap_lock of the task!
*
* @param pv The ring-3 mapping.
* @param cb The size of the mapping.
@@ -269,13 +301,13 @@ static void rtR0MemObjLinuxDoMunmap(void
Assert(pTask == current); RT_NOREF_PV(pTask);
vm_munmap((unsigned long)pv, cb);
#elif defined(USE_RHEL4_MUNMAP)
- down_write(&pTask->mm->mmap_sem);
+ LNX_MM_DOWN_WRITE(pTask->mm);
do_munmap(pTask->mm, (unsigned long)pv, cb, 0); /* should it be 1 or 0? */
- up_write(&pTask->mm->mmap_sem);
+ LNX_MM_UP_WRITE(pTask->mm);
#else
- down_write(&pTask->mm->mmap_sem);
+ LNX_MM_DOWN_WRITE(pTask->mm);
do_munmap(pTask->mm, (unsigned long)pv, cb);
- up_write(&pTask->mm->mmap_sem);
+ LNX_MM_UP_WRITE(pTask->mm);
#endif
}
@@ -520,15 +552,49 @@ static int rtR0MemObjLinuxVMap(PRTR0MEMO
pgprot_val(fPg) |= _PAGE_NX;
# endif
+# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ if (fExecutable)
+ {
+ pte_t **papPtes = (pte_t **)kmalloc_array(pMemLnx->cPages, sizeof(papPtes[0]), GFP_KERNEL);
+ if (papPtes)
+ {
+ pMemLnx->pArea = alloc_vm_area(pMemLnx->Core.cb, papPtes); /* Note! pArea->nr_pages is not set. */
+ if (pMemLnx->pArea)
+ {
+ size_t i;
+ Assert(pMemLnx->pArea->size >= pMemLnx->Core.cb); /* Note! includes guard page. */
+ Assert(pMemLnx->pArea->addr);
+# ifdef _PAGE_NX
+ pgprot_val(fPg) |= _PAGE_NX; /* Uses RTR0MemObjProtect to clear NX when memory ready, W^X fashion. */
+# endif
+ pMemLnx->papPtesForArea = papPtes;
+ for (i = 0; i < pMemLnx->cPages; i++)
+ *papPtes[i] = mk_pte(pMemLnx->apPages[i], fPg);
+ pMemLnx->Core.pv = pMemLnx->pArea->addr;
+ pMemLnx->fMappedToRing0 = true;
+ }
+ else
+ {
+ kfree(papPtes);
+ rc = VERR_MAP_FAILED;
+ }
+ }
+ else
+ rc = VERR_MAP_FAILED;
+ }
+ else
+# endif
+ {
# ifdef VM_MAP
- pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg);
+ pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg);
# else
- pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_ALLOC, fPg);
+ pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_ALLOC, fPg);
# endif
- if (pMemLnx->Core.pv)
- pMemLnx->fMappedToRing0 = true;
- else
- rc = VERR_MAP_FAILED;
+ if (pMemLnx->Core.pv)
+ pMemLnx->fMappedToRing0 = true;
+ else
+ rc = VERR_MAP_FAILED;
+ }
#else /* < 2.4.22 */
rc = VERR_NOT_SUPPORTED;
#endif
@@ -554,6 +620,22 @@ static int rtR0MemObjLinuxVMap(PRTR0MEMO
static void rtR0MemObjLinuxVUnmap(PRTR0MEMOBJLNX pMemLnx)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 22)
+# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ if (pMemLnx->pArea)
+ {
+# if 0
+ pte_t **papPtes = pMemLnx->papPtesForArea;
+ size_t i;
+ for (i = 0; i < pMemLnx->cPages; i++)
+ *papPtes[i] = 0;
+# endif
+ free_vm_area(pMemLnx->pArea);
+ kfree(pMemLnx->papPtesForArea);
+ pMemLnx->pArea = NULL;
+ pMemLnx->papPtesForArea = NULL;
+ }
+ else
+# endif
if (pMemLnx->fMappedToRing0)
{
Assert(pMemLnx->Core.pv);
@@ -593,7 +675,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR
size_t iPage;
Assert(pTask);
if (pTask && pTask->mm)
- down_read(&pTask->mm->mmap_sem);
+ LNX_MM_DOWN_READ(pTask->mm);
iPage = pMemLnx->cPages;
while (iPage-- > 0)
@@ -608,7 +690,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR
}
if (pTask && pTask->mm)
- up_read(&pTask->mm->mmap_sem);
+ LNX_MM_UP_READ(pTask->mm);
}
/* else: kernel memory - nothing to do here. */
break;
@@ -1076,7 +1158,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
papVMAs = (struct vm_area_struct **)RTMemAlloc(sizeof(*papVMAs) * cPages);
if (papVMAs)
{
- down_read(&pTask->mm->mmap_sem);
+ LNX_MM_DOWN_READ(pTask->mm);
/*
* Get user pages.
@@ -1162,7 +1244,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
}
- up_read(&pTask->mm->mmap_sem);
+ LNX_MM_UP_READ(pTask->mm);
RTMemFree(papVMAs);
@@ -1189,7 +1271,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
#endif
}
- up_read(&pTask->mm->mmap_sem);
+ LNX_MM_UP_READ(pTask->mm);
RTMemFree(papVMAs);
rc = VERR_LOCK_FAILED;
@@ -1422,6 +1504,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKerne
* Use vmap - 2.4.22 and later.
*/
pgprot_t fPg = rtR0MemObjLinuxConvertProt(fProt, true /* kernel */);
+ /** @todo We don't really care too much for EXEC here... 5.8 always adds NX. */
Assert(((offSub + cbSub) >> PAGE_SHIFT) <= pMemLnxToMap->cPages);
# ifdef VM_MAP
pMemLnx->Core.pv = vmap(&pMemLnxToMap->apPages[offSub >> PAGE_SHIFT], cbSub >> PAGE_SHIFT, VM_MAP, fPg);
@@ -1469,7 +1552,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKerne
pMemLnx->Core.pv = pMemLnxToMap->Core.u.Phys.uCachePolicy == RTMEM_CACHE_POLICY_MMIO
? ioremap(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub)
: ioremap_cache(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub);
-#else
+#else /* KERNEL_VERSION < 2.6.25 */
pMemLnx->Core.pv = pMemLnxToMap->Core.u.Phys.uCachePolicy == RTMEM_CACHE_POLICY_MMIO
? ioremap_nocache(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub)
: ioremap(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub);
@@ -1604,7 +1687,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
const size_t cPages = (offSub + cbSub) >> PAGE_SHIFT;
size_t iPage;
- down_write(&pTask->mm->mmap_sem);
+ LNX_MM_DOWN_WRITE(pTask->mm);
rc = VINF_SUCCESS;
if (pMemLnxToMap->cPages)
@@ -1721,7 +1804,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
}
#endif /* CONFIG_NUMA_BALANCING */
- up_write(&pTask->mm->mmap_sem);
+ LNX_MM_UP_WRITE(pTask->mm);
if (RT_SUCCESS(rc))
{
@@ -1753,6 +1836,29 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINTERNAL pMem, size_t offSub, size_t cbSub, uint32_t fProt)
{
+# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ /*
+ * Currently only supported when we've got addresses PTEs from the kernel.
+ */
+ PRTR0MEMOBJLNX pMemLnx = (PRTR0MEMOBJLNX)pMem;
+ if (pMemLnx->pArea && pMemLnx->papPtesForArea)
+ {
+ pgprot_t const fPg = rtR0MemObjLinuxConvertProt(fProt, true /*fKernel*/);
+ size_t const cPages = (offSub + cbSub) >> PAGE_SHIFT;
+ pte_t **papPtes = pMemLnx->papPtesForArea;
+ size_t i;
+
+ for (i = offSub >> PAGE_SHIFT; i < cPages; i++)
+ {
+ set_pte(papPtes[i], mk_pte(pMemLnx->apPages[i], fPg));
+ }
+ preempt_disable();
+ __flush_tlb_all();
+ preempt_enable();
+ return VINF_SUCCESS;
+ }
+# endif
+
NOREF(pMem);
NOREF(offSub);
NOREF(cbSub);
Index: VirtualBox-6.1.12/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
===================================================================
--- VirtualBox-6.1.12.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+++ VirtualBox-6.1.12/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
@@ -763,12 +763,19 @@ EXPORT_SYMBOL(SUPDrvLinuxIDC);
RTCCUINTREG VBOXCALL supdrvOSChangeCR4(RTCCUINTREG fOrMask, RTCCUINTREG fAndMask)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
+#else
+ RTCCUINTREG uOld = __read_cr4();
+#endif
RTCCUINTREG uNew = (uOld & fAndMask) | fOrMask;
if (uNew != uOld)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
this_cpu_write(cpu_tlbstate.cr4, uNew);
__write_cr4(uNew);
+#endif
+ ASMSetCR4(uNew);
}
#else
RTCCUINTREG uOld = ASMGetCR4();
Index: VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
===================================================================
--- VirtualBox-6.1.12.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+++ VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
@@ -38,7 +38,7 @@
#include <linux/kmemleak.h>
#if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP)
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23)
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
/**
* Starting with 2.6.23 we can use __get_vm_area and map_vm_area to allocate
* memory in the moduel range. This is preferrable to the exec heap below.
Index: VirtualBox-6.1.12/src/VBox/Additions/linux/sharedfolders/vfsmod.c
===================================================================
--- VirtualBox-6.1.12.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.c
+++ VirtualBox-6.1.12/src/VBox/Additions/linux/sharedfolders/vfsmod.c
@@ -52,7 +52,7 @@
#endif
#include <linux/seq_file.h>
#include <linux/vfs.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 62)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 62) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
# include <linux/vermagic.h>
#endif
#include <VBox/err.h>
Index: VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
===================================================================
--- VirtualBox-6.1.12.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+++ VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
@@ -1,4 +1,4 @@
-/* $Id: the-linux-kernel.h $ */
+/* $Id: the-linux-kernel.h 85518 2020-07-29 11:01:45Z vboxsync $ */
/** @file
* IPRT - Include all necessary headers for the Linux kernel.
*/
@@ -176,6 +176,11 @@
# include <asm/set_memory.h>
#endif
+/* for __flush_tlb_all() */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28) && (defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86))
+# include <asm/tlbflush.h>
+#endif
+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
# include <asm/smap.h>
#else
Index: VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c
===================================================================
--- VirtualBox-6.1.12.orig/src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c
+++ VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c
@@ -1,4 +1,4 @@
-/* $Id: time-r0drv-linux.c $ */
+/* $Id: time-r0drv-linux.c 85208 2020-07-10 23:58:39Z vboxsync $ */
/** @file
* IPRT - Time, Ring-0 Driver, Linux.
*/
@@ -31,6 +31,12 @@
#define LOG_GROUP RTLOGGROUP_TIME
#include "the-linux-kernel.h"
#include "internal/iprt.h"
+/* Make sure we have the setting functions we need for RTTimeNow: */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 16)
+# define RTTIME_INCL_TIMEVAL
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+# define RTTIME_INCL_TIMESPEC
+#endif
#include <iprt/time.h>
#include <iprt/asm.h>
@@ -45,6 +51,7 @@ DECLINLINE(uint64_t) rtTimeGetSystemNano
*/
uint64_t u64;
struct timespec64 Ts = { 0, 0 };
+
ktime_get_ts64(&Ts);
u64 = Ts.tv_sec * RT_NS_1SEC_64 + Ts.tv_nsec;
return u64;
@@ -181,22 +188,19 @@ RT_EXPORT_SYMBOL(RTTimeSystemMilliTS);
RTDECL(PRTTIMESPEC) RTTimeNow(PRTTIMESPEC pTime)
{
IPRT_LINUX_SAVE_EFL_AC();
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 16)
-/* On Linux 4.20, time.h includes time64.h and we have to use 64-bit times. */
-# ifdef _LINUX_TIME64_H
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0)
struct timespec64 Ts;
- ktime_get_real_ts64(&Ts);
-# else
- struct timespec Ts;
- ktime_get_real_ts(&Ts);
-# endif
+ ktime_get_real_ts64(&Ts); /* ktime_get_real_ts64 was added as a macro in 3.17, function since 4.18. */
IPRT_LINUX_RESTORE_EFL_AC();
-# ifdef _LINUX_TIME64_H
return RTTimeSpecSetTimespec64(pTime, &Ts);
-# else
+
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 16)
+ struct timespec Ts;
+ ktime_get_real_ts(&Ts); /* ktime_get_real_ts was removed in Linux 4.20. */
+ IPRT_LINUX_RESTORE_EFL_AC();
return RTTimeSpecSetTimespec(pTime, &Ts);
-# endif
-#else /* < 2.6.16 */
+
+#else /* < 2.6.16 */
struct timeval Tv;
do_gettimeofday(&Tv);
IPRT_LINUX_RESTORE_EFL_AC();

View File

@ -1,13 +1,13 @@
Index: b/src/VBox/Additions/linux/sharedfolders/regops.c
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/sharedfolders/regops.c
===================================================================
--- a/src/VBox/Additions/linux/sharedfolders/regops.c
+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
@@ -1436,7 +1436,7 @@ DECLINLINE(int) vbsf_lock_user_pages(uin
# elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/sharedfolders/regops.c
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/sharedfolders/regops.c
@@ -1432,7 +1432,7 @@ DECLINLINE(int) vbsf_lock_user_pages(uin
# elif RTLNX_VER_MIN(4,6,0)
ssize_t cPagesLocked = get_user_pages_unlocked(uPtrFrom, cPages, fWrite, 1 /*force*/, papPages);
# elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 168) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
# elif RTLNX_VER_RANGE(4,4,168, 4,5,0)
- ssize_t cPagesLocked = get_user_pages_unlocked(current, current->mm, uPtrFrom, cPages, papPages,
+ ssize_t cPagesLocked = get_user_pages_unlocked(uPtrFrom, cPages, papPages,
fWrite ? FOLL_WRITE | FOLL_FORCE : FOLL_FORCE);
# elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
# elif RTLNX_VER_MIN(4,0,0)
ssize_t cPagesLocked = get_user_pages_unlocked(current, current->mm, uPtrFrom, cPages, fWrite, 1 /*force*/, papPages);

View File

@ -1,8 +1,8 @@
Index: VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
===================================================================
--- VirtualBox-6.0.2.orig/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
+++ VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
@@ -83,6 +83,7 @@
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
@@ -85,6 +85,7 @@
#include <QtWidgets/qgraphicsitem.h>
#include <QtWidgets/qgraphicslayoutitem.h>
#include <QtWidgets/qgraphicswidget.h>
@ -10,15 +10,15 @@ Index: VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
#include <QtCore/QMetaType>
#include <QtGui/qevent.h>
#include <QtGui/qtouchdevice.h>
Index: VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
===================================================================
--- VirtualBox-6.0.2.orig/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
+++ VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
@@ -18,6 +18,7 @@
/* Qt includes: */
#include <QButtonGroup>
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
@@ -21,6 +21,7 @@
#include <QLabel>
#include <QRadioButton>
#include <QRegExpValidator>
+#include <QButtonGroup>
/* GUI includes: */
#include "QIWidgetValidator.h"
#include "QILineEdit.h"

View File

@ -1,13 +1,12 @@
Index: VirtualBox-6.1.10/Config.kmk
Index: VirtualBox-6.1.13/Config.kmk
===================================================================
--- VirtualBox-6.1.10.orig/Config.kmk
+++ VirtualBox-6.1.10/Config.kmk
@@ -2684,8 +2684,16 @@ else
--- VirtualBox-6.1.13.orig/Config.kmk
+++ VirtualBox-6.1.13/Config.kmk
@@ -2721,8 +2721,16 @@ else
# The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)).
# Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`.
# gcc-5 of openSUSE42.1 only returns the major version on `gcc -dumpversion`!
- VBOX_GCC_VERSION = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion) | \
- $(SED_EXT) 's|\([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' )
+ #
+ # Check to make sure that the compiler has either -dumpfullversion or -dumpversion. gcc-10 has neither
+ RC = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion 2>/dev/null) ; echo $$?)
@ -16,15 +15,15 @@ Index: VirtualBox-6.1.10/Config.kmk
+ VBOX_GCC_VERSION = 100001
+ else
+ VBOX_GCC_VERSION = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion 2>/dev/null) | \
+ $(SED_EXT) 's|\([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' )
$(SED_EXT) 's|\([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|' )
+ endif
endif
# YASM macros
Index: VirtualBox-6.1.10/src/VBox/Debugger/DBGCDumpImage.cpp
ifeq ($(KBUILD_TARGET), darwin)
VBOX_CLANG_VERSION = $(shell $(1) --version | \
$(SED_EXT) -n 's|.*version \([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|p' )
Index: VirtualBox-6.1.13/src/VBox/Debugger/DBGCDumpImage.cpp
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Debugger/DBGCDumpImage.cpp
+++ VirtualBox-6.1.10/src/VBox/Debugger/DBGCDumpImage.cpp
--- VirtualBox-6.1.13.orig/src/VBox/Debugger/DBGCDumpImage.cpp
+++ VirtualBox-6.1.13/src/VBox/Debugger/DBGCDumpImage.cpp
@@ -468,7 +468,7 @@ static const char *dbgcMachoCpuType(int3
{
switch (iType)

View File

@ -1,7 +1,7 @@
Index: VirtualBox-6.1.0_RC1/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
Index: VirtualBox-6.1.13/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
===================================================================
--- VirtualBox-6.1.0_RC1.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ VirtualBox-6.1.0_RC1/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
--- VirtualBox-6.1.13.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ VirtualBox-6.1.13/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -73,6 +73,10 @@
#define VBOXNETFLT_OS_SPECFIC 1
#include "../VBoxNetFltInternal.h"
@ -13,85 +13,51 @@ Index: VirtualBox-6.1.0_RC1/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-lin
typedef struct VBOXNETFLTNOTIFIER {
struct notifier_block Notifier;
PVBOXNETFLTINS pThis;
@@ -924,13 +928,13 @@ static void vboxNetFltLinuxSkBufToSG(PVB
for (i = 0; i < skb_shinfo(pBuf)->nr_frags; i++)
{
skb_frag_t *pFrag = &skb_shinfo(pBuf)->frags[i];
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) || defined(OPENSUSE_152)
pSG->aSegs[iSeg].cb = pFrag->bv_len;
pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
-# else /* < KERNEL_VERSION(5, 4, 0) */
+# else /* < KERNEL_VERSION(5, 4, 0) */
pSG->aSegs[iSeg].cb = pFrag->size;
pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
-# endif /* >= KERNEL_VERSION(5, 4, 0) */
+# endif /* >= KERNEL_VERSION(5, 4, 0) */
Log6((" %p", pSG->aSegs[iSeg].pv));
pSG->aSegs[iSeg++].Phys = NIL_RTHCPHYS;
Assert(iSeg <= pSG->cSegsAlloc);
@@ -945,13 +949,13 @@ static void vboxNetFltLinuxSkBufToSG(PVB
for (i = 0; i < skb_shinfo(pFragBuf)->nr_frags; i++)
{
skb_frag_t *pFrag = &skb_shinfo(pFragBuf)->frags[i];
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) || defined(OPENSUSE_152)
pSG->aSegs[iSeg].cb = pFrag->bv_len;
pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
-# else /* < KERNEL_VERSION(5, 4, 0) */
+# else /* < KERNEL_VERSION(5, 4, 0) */
pSG->aSegs[iSeg].cb = pFrag->size;
pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
-# endif /* >= KERNEL_VERSION(5, 4, 0) */
+# endif /* >= KERNEL_VERSION(5, 4, 0) */
Log6((" %p", pSG->aSegs[iSeg].pv));
pSG->aSegs[iSeg++].Phys = NIL_RTHCPHYS;
Assert(iSeg <= pSG->cSegsAlloc);
Index: VirtualBox-6.1.0_RC1/src/VBox/Additions/linux/drm/vbox_drv.c
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-6.1.0_RC1.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-6.1.0_RC1/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -307,11 +307,13 @@ static void vbox_master_drop(struct drm_
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -305,11 +305,13 @@ static void vbox_master_drop(struct drm_
static struct drm_driver driver = {
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
#if RTLNX_VER_MAX(5,4,0)
.driver_features =
- DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ |
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
+ DRIVER_PRIME |
+#endif
# if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0) && !defined(RHEL_81)
# if RTLNX_VER_MAX(5,1,0) && !RTLNX_RHEL_MAJ_PREREQ(8,1)
DRIVER_IRQ_SHARED |
# endif /* < KERNEL_VERSION(5, 1, 0) && !defined(RHEL_81) */
# endif
- DRIVER_PRIME,
+ DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
#else /* >= KERNEL_VERSION(5, 4, 0) */
#else /* >= 5.4.0 */
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
#endif /* < KERNEL_VERSION(5, 4, 0) */
Index: VirtualBox-6.1.0_RC1/src/VBox/Additions/linux/drm/vbox_main.c
#endif /* < 5.4.0 */
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- VirtualBox-6.1.0_RC1.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-6.1.0_RC1/src/VBox/Additions/linux/drm/vbox_main.c
@@ -626,8 +626,12 @@ static inline u64 vbox_bo_mmap_offset(st
#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_70)
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_main.c
@@ -628,8 +628,12 @@ static inline u64 vbox_bo_mmap_offset(st
#elif RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0)
return bo->bo.addr_space_offset;
#else
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
+ return drm_vma_node_offset_addr(&bo->bo.base.vma_node);
+#else
return drm_vma_node_offset_addr(&bo->bo.vma_node);
#endif /* >= KERNEL_VERSION(5, 4, 0) */
#endif /* >= 5.4.0 */
+#endif
}
int
Index: VirtualBox-6.1.0_RC1/include/iprt/cdefs.h
Index: VirtualBox-6.1.13/include/iprt/cdefs.h
===================================================================
--- VirtualBox-6.1.0_RC1.orig/include/iprt/cdefs.h
+++ VirtualBox-6.1.0_RC1/include/iprt/cdefs.h
@@ -1173,14 +1173,15 @@
* Tell the compiler that we're falling through to the next case in a switch.
* @sa RT_FALL_THRU */
#if RT_GNUC_PREREQ(7, 0)
--- VirtualBox-6.1.13.orig/include/iprt/cdefs.h
+++ VirtualBox-6.1.13/include/iprt/cdefs.h
@@ -1240,14 +1240,15 @@
#if RT_CLANG_PREREQ(4, 0) && RT_CPLUSPLUS_PREREQ(201100)
# define RT_FALL_THROUGH() [[clang::fallthrough]]
#elif RT_GNUC_PREREQ(7, 0)
-# define RT_FALL_THROUGH() __attribute__((__fallthrough__))
+# define FALL_THROUGH __attribute__((__fallthrough__))
#else

View File

@ -1,18 +1,8 @@
Index: VirtualBox-6.1.10/src/VBox/HostDrivers/linux/Makefile
Index: VirtualBox-6.1.13/src/VBox/HostDrivers/linux/Makefile
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/HostDrivers/linux/Makefile
+++ VirtualBox-6.1.10/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
--- VirtualBox-6.1.13.orig/src/VBox/HostDrivers/linux/Makefile
+++ VirtualBox-6.1.13/src/VBox/HostDrivers/linux/Makefile
@@ -42,8 +41,9 @@ else # ! KERNELRELEASE
KBUILD_VERBOSE ?=
KERN_VER ?= $(shell uname -r)
@ -22,15 +12,12 @@ Index: VirtualBox-6.1.10/src/VBox/HostDrivers/linux/Makefile
+
+.PHONY: all install clean check unload load vboxdrv vboxnetflt vboxnetadp
-all: vboxdrv vboxnetflt vboxnetadp vboxpci
+all: vboxdrv vboxnetflt vboxnetadp
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)),)
@@ -61,55 +59,38 @@ vboxdrv:
@@ -58,22 +58,18 @@ vboxdrv:
vboxnetflt: vboxdrv
@if [ -d vboxnetflt ]; then \
+@if [ -d vboxnetflt ]; then \
- if [ -f vboxdrv/Module.symvers ]; then \
- cp vboxdrv/Module.symvers vboxnetflt; \
- fi; \
@ -43,7 +30,7 @@ Index: VirtualBox-6.1.10/src/VBox/HostDrivers/linux/Makefile
fi
vboxnetadp: vboxdrv
@if [ -d vboxnetadp ]; then \
+@if [ -d vboxnetadp ]; then \
- if [ -f vboxdrv/Module.symvers ]; then \
- cp vboxdrv/Module.symvers vboxnetadp; \
- fi; \
@ -54,73 +41,22 @@ Index: VirtualBox-6.1.10/src/VBox/HostDrivers/linux/Makefile
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) KBUILD_EXTRA_SYMBOLS=$(abspath vboxpci/Module.symvers) -C vboxpci || exit 1; \
- cp vboxpci/vboxpci.ko .; \
- echo; \
- fi
-
@@ -81,9 +77,11 @@ vboxnetadp: vboxdrv
install:
@$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install
@if [ -d vboxnetflt ]; then \
+@$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install
+@if [ -d vboxnetflt ]; then \
+ export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxdrv/Module.symvers; \
$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt install; \
fi
@if [ -d vboxnetadp ]; then \
+@if [ -d vboxnetadp ]; then \
+ export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxdrv/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 +103,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 +117,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.10/src/VBox/Additions/linux/Makefile
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/Makefile
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/Makefile
+++ VirtualBox-6.1.10/src/VBox/Additions/linux/Makefile
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/Makefile
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/Makefile
@@ -24,6 +24,7 @@ obj-m = vboxguest/ vboxsf/ vboxvideo/
else # ! KERNELRELEASE
@ -147,21 +83,21 @@ Index: VirtualBox-6.1.10/src/VBox/Additions/linux/Makefile
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 \
+ $(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 \
+ $(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.10/include/iprt/x86.h
Index: VirtualBox-6.1.13/include/iprt/x86.h
===================================================================
--- VirtualBox-6.1.10.orig/include/iprt/x86.h
+++ VirtualBox-6.1.10/include/iprt/x86.h
@@ -840,37 +840,59 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
--- VirtualBox-6.1.13.orig/include/iprt/x86.h
+++ VirtualBox-6.1.13/include/iprt/x86.h
@@ -858,37 +858,59 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
* reserved flags.
* @{ */
/** Bit 0 - PE - Protection Enabled */
@ -221,7 +157,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
#define X86_CR0_PAGING RT_BIT_32(31)
#define X86_CR0_BIT_PG 31 /**< Bit number of X86_CR0_PG */
/** @} */
@@ -879,9 +901,13 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
@@ -897,9 +919,13 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
/** @name CR3
* @{ */
/** Bit 3 - PWT - Page-level Writes Transparent. */
@ -235,7 +171,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** Bits 12-31 - - Page directory page number. */
#define X86_CR3_PAGE_MASK (0xfffff000)
/** Bits 5-31 - - PAE Page directory page number. */
@@ -894,46 +920,84 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
@@ -912,46 +938,84 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
/** @name CR4
* @{ */
/** Bit 0 - VME - Virtual-8086 Mode Extensions. */
@ -320,7 +256,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** Bit 23 - CET - Control-flow Enhancement Technology enabled. */
#define X86_CR4_CET RT_BIT_32(23)
/** @} */
@@ -1147,12 +1211,16 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1165,12 +1229,16 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
/** Machine check type register (P5). */
#define MSR_P5_MC_TYPE UINT32_C(0x00000001)
/** Time Stamp Counter. */
@ -337,7 +273,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
#ifndef MSR_IA32_APICBASE /* qemu cpu.h kludge */
# define MSR_IA32_APICBASE 0x1b
@@ -1178,7 +1246,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1196,7 +1264,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_CORE_THREAD_COUNT 0x35
/** CPU Feature control. */
@ -347,7 +283,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** Feature control - Lock MSR from writes (R/W0). */
#define MSR_IA32_FEATURE_CONTROL_LOCK RT_BIT_64(0)
/** Feature control - Enable VMX inside SMX operation (R/WL). */
@@ -1203,11 +1273,15 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1221,11 +1291,15 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_FEATURE_CONTROL_LMCE RT_BIT_64(20)
/** Per-processor TSC adjust MSR. */
@ -363,7 +299,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** IBRS - Indirect branch restricted speculation. */
#define MSR_IA32_SPEC_CTRL_F_IBRS RT_BIT_32(0)
/** STIBP - Single thread indirect branch predictors. */
@@ -1215,7 +1289,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1235,7 +1309,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
/** Prediction command register.
* Write only, logical processor scope, no state since write only. */
@ -373,7 +309,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** IBPB - Indirect branch prediction barrie when written as 1. */
#define MSR_IA32_PRED_CMD_F_IBPB RT_BIT_32(0)
@@ -1226,7 +1302,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1246,7 +1322,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_BIOS_SIGN_ID 0x8B
/** SMM monitor control. */
@ -383,7 +319,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** SMM control - Valid. */
#define MSR_IA32_SMM_MONITOR_VALID RT_BIT_64(0)
/** SMM control - VMXOFF unblocks SMI. */
@@ -1235,10 +1313,14 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1255,10 +1333,14 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_SMM_MONITOR_MSGEG_PHYSADDR(a) (((a) >> 12) & UINT64_C(0xfffff))
/** SMBASE - Base address of SMRANGE image (Read-only, SMM only). */
@ -398,7 +334,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** General performance counter no. 1. */
#define MSR_IA32_PMC1 0xC2
/** General performance counter no. 2. */
@@ -1261,18 +1343,26 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1281,18 +1363,26 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_FSB_CLOCK_STS 0xCD
/** C-State configuration control. Intel specific: Nehalem, Sandy Bridge. */
@ -425,7 +361,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** CPU is no subject to meltdown problems. */
#define MSR_IA32_ARCH_CAP_F_RDCL_NO RT_BIT_32(0)
/** CPU has better IBRS and you can leave it on all the time. */
@@ -1286,7 +1376,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1306,7 +1396,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_ARCH_CAP_F_MDS_NO RT_BIT_32(4)
/** Flush command register. */
@ -435,7 +371,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** Flush the level 1 data cache when this bit is written. */
#define MSR_IA32_FLUSH_CMD_F_L1D RT_BIT_32(0)
@@ -1307,14 +1399,20 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1327,14 +1419,20 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#endif
/** Machine Check Global Capabilities Register. */
@ -456,7 +392,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** Default PAT MSR value on processor powerup / reset (see Intel spec. 11.12.4
* "Programming the PAT", AMD spec. 7.8.2 "PAT Indexing") */
#define MSR_IA32_CR_PAT_INIT_VAL UINT64_C(0x0007040600070406)
@@ -1333,36 +1431,58 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1353,36 +1451,58 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_FLEX_RATIO 0x194
/** Performance state value and starting with Intel core more.
* Apple uses the >=core features to determine TSC granularity on older CPUs. */
@ -515,7 +451,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** Trace/Profile Resource Control (R/W) */
#define MSR_IA32_DEBUGCTL UINT32_C(0x000001d9)
@@ -1500,7 +1620,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1520,7 +1640,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
/** @} */
/** Intel TSX (Transactional Synchronization Extensions) control MSR. */
@ -525,7 +461,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** Variable range MTRRs.
* @{ */
@@ -1550,89 +1672,167 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1570,89 +1692,167 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_PERF_GLOBAL_OVF_CTRL 0x390
/** Precise Event Based sampling (Intel only). */
@ -693,7 +629,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** X2APIC MSR range start. */
#define MSR_IA32_X2APIC_START 0x800
@@ -1767,23 +1967,47 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1787,23 +1987,47 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
/** The mask which give the SYSCALL EIP. */
#define MSR_K6_STAR_SYSCALL_EIP_MASK UINT32_C(0xffffffff)
/** K6 WHCR - Write Handling Control Register. */
@ -741,7 +677,7 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
/** K8 LSTAR - Long mode SYSCALL target (RIP). */
#define MSR_K8_LSTAR UINT32_C(0xc0000082)
@@ -1799,14 +2023,20 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
@@ -1819,14 +2043,20 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_K8_KERNEL_GS_BASE UINT32_C(0xc0000102)
/** K8 TSC_AUX - Used with RDTSCP. */
#define MSR_K8_TSC_AUX UINT32_C(0xc0000103)
@ -759,13 +695,13 @@ Index: VirtualBox-6.1.10/include/iprt/x86.h
+#ifndef MSR_K8_TOP_MEM2
#define MSR_K8_TOP_MEM2 UINT32_C(0xc001001d)
+#endif
/** North bridge config? See BIOS & Kernel dev guides for
* details. */
#define MSR_K8_NB_CFG UINT32_C(0xc001001f)
Index: VirtualBox-6.1.10/include/VBox/vmm/hm_vmx.h
/** SMM MSRs. */
#define MSR_K7_SMBASE UINT32_C(0xc0010111)
Index: VirtualBox-6.1.13/include/VBox/vmm/hm_vmx.h
===================================================================
--- VirtualBox-6.1.10.orig/include/VBox/vmm/hm_vmx.h
+++ VirtualBox-6.1.10/include/VBox/vmm/hm_vmx.h
--- VirtualBox-6.1.13.orig/include/VBox/vmm/hm_vmx.h
+++ VirtualBox-6.1.13/include/VBox/vmm/hm_vmx.h
@@ -1473,7 +1473,9 @@ AssertCompileSize(VMXABORT, 4);
/** VMCS (and related regions) memory type - Uncacheable. */
#define VMX_BASIC_MEM_TYPE_UC 0
@ -776,20 +712,20 @@ Index: VirtualBox-6.1.10/include/VBox/vmm/hm_vmx.h
/** Width of physical addresses used for VMCS and associated memory regions
* (1=32-bit, 0=processor's physical address width). */
#define VMX_BASIC_PHYSADDR_WIDTH_32BIT RT_BIT_64(48)
Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.h
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_drv.h
+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -86,10 +86,8 @@
# endif
#endif
-#if defined(CONFIG_SUSE_VERSION)
-# if CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 1
-# define OPENSUSE_151
-# endif
+#if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 1
+# define OPENSUSE_151
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_drv.h
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -87,6 +87,12 @@
#else
# define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0)
#endif
+
+#if defined(CONFIG_SUSE_VERSION)
+# if CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 1
+# define OPENSUSE_151
+# endif
+#endif
#if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4
# define SUSE_SLE12
#endif

View File

@ -6,14 +6,13 @@ to "#!/usr/bin/python3".
Larry Finger
Index: VirtualBox-5.1.30/src/VBox/Frontends/VBoxShell/vboxshell.py
Index: VirtualBox-6.1.13/src/VBox/Frontends/VBoxShell/vboxshell.py
===================================================================
--- VirtualBox-5.1.30.orig/src/VBox/Frontends/VBoxShell/vboxshell.py
+++ VirtualBox-5.1.30/src/VBox/Frontends/VBoxShell/vboxshell.py
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VBoxShell/vboxshell.py
+++ VirtualBox-6.1.13/src/VBox/Frontends/VBoxShell/vboxshell.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
# $Id: vboxshell.py $
# $Id: vboxshell.py 82968 2020-02-04 10:35:17Z vboxsync $

View File

@ -1,38 +1,25 @@
Index: VirtualBox-6.1.10/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h
+++ VirtualBox-6.1.10/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h
@@ -49,7 +49,7 @@ typedef struct RTR0SEMLNXWAIT
{
/** The wait queue entry. */
#if LINUX_VERSION_CODE > KERNEL_VERSION(4, 13, 0) \
- || defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL == 4 \
+ || defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4 \
|| defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15
wait_queue_entry_t WaitQE;
#else
Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -327,7 +327,9 @@ static struct drm_driver driver = {
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_72)
# if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0) && !defined(RHEL_75) \
&& !defined(OPENSUSE_151)
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -325,7 +325,9 @@ static struct drm_driver driver = {
.master_drop = vbox_master_drop,
#if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2)
# if RTLNX_VER_MAX(4,14,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if !(defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4)
.set_busid = drm_pci_set_busid,
+#endif
# endif
#endif
Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_main.c
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_main.c
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_main.c
@@ -606,11 +606,13 @@ int vbox_dumb_destroy(struct drm_file *f
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && !defined(OPENSUSE_151) && !defined(RHEL_77) && !defined(RHEL_81)
#if RTLNX_VER_MAX(4,19,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if !(defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4)
static void ttm_bo_put(struct ttm_buffer_object *bo)
{
@ -43,143 +30,143 @@ Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_main.c
void vbox_gem_free_object(struct drm_gem_object *obj)
{
Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_ttm.c
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -211,7 +211,7 @@ static struct ttm_backend_func vbox_tt_b
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -210,7 +210,7 @@ static struct ttm_backend_func vbox_tt_b
.destroy = &vbox_ttm_backend_destroy,
};
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) \
- && !defined(OPENSUSE_151)
+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
-#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev,
unsigned long size,
u32 page_flags,
@@ -229,7 +229,7 @@ static struct ttm_tt *vbox_ttm_tt_create
@@ -227,7 +227,7 @@ static struct ttm_tt *vbox_ttm_tt_create
return NULL;
tt->func = &vbox_tt_backend_func;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) \
- && !defined(OPENSUSE_151)
+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
-#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) {
#else
if (ttm_tt_init(tt, bo, page_flags)) {
@@ -243,7 +243,7 @@ static struct ttm_tt *vbox_ttm_tt_create
@@ -240,7 +240,7 @@ static struct ttm_tt *vbox_ttm_tt_create
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)
# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
- && !defined(OPENSUSE_151)
+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
#if RTLNX_VER_MAX(4,17,0)
-# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
static int vbox_ttm_tt_populate(struct ttm_tt *ttm)
{
return ttm_pool_populate(ttm);
@@ -278,7 +278,7 @@ static struct ttm_bo_driver vbox_bo_driv
@@ -274,7 +274,7 @@ static struct ttm_bo_driver vbox_bo_driv
.io_mem_reserve = &vbox_ttm_io_mem_reserve,
.io_mem_free = &vbox_ttm_io_mem_free,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL_75)
# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
- && !defined(OPENSUSE_151)
+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
#if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5)
-# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
.io_mem_pfn = ttm_bo_default_io_mem_pfn,
# endif
#endif
@@ -429,7 +429,7 @@ int vbox_bo_create(struct drm_device *de
@@ -421,7 +421,7 @@ int vbox_bo_create(struct drm_device *de
ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
ttm_bo_type_device, &vboxbo->placement,
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) && !defined(RHEL_76) \
- && !defined(OPENSUSE_151)
+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
-#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
align >> PAGE_SHIFT, false, NULL, acc_size,
#else
align >> PAGE_SHIFT, false, acc_size,
@@ -459,7 +459,7 @@ static inline u64 vbox_bo_gpu_offset(str
@@ -450,7 +450,7 @@ static inline u64 vbox_bo_gpu_offset(str
int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
{
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) \
- || defined(OPENSUSE_151)
+ || defined(OPENSUSE_151) || defined(SUSE_SLE12)
-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
@@ -478,7 +478,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
@@ -468,7 +468,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
for (i = 0; i < bo->placement.num_placement; i++)
PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
- && !defined(OPENSUSE_151)
+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
@@ -497,7 +497,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
@@ -486,7 +486,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
int vbox_bo_unpin(struct vbox_bo *bo)
{
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) \
- || defined(OPENSUSE_151)
+ || defined(OPENSUSE_151) || defined(SUSE_SLE12)
-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
@@ -514,7 +514,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
@@ -502,7 +502,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
for (i = 0; i < bo->placement.num_placement; i++)
PLACEMENT_FLAGS(bo->placements[i]) &= ~TTM_PL_FLAG_NO_EVICT;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
- && !defined(OPENSUSE_151)
+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
@@ -533,7 +533,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
@@ -520,7 +520,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
*/
int vbox_bo_push_sysram(struct vbox_bo *bo)
{
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) \
- || defined(OPENSUSE_151)
+ || defined(OPENSUSE_151) || defined(SUSE_SLE12)
-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
@@ -555,7 +555,7 @@ int vbox_bo_push_sysram(struct vbox_bo *
@@ -541,7 +541,7 @@ int vbox_bo_push_sysram(struct vbox_bo *
for (i = 0; i < bo->placement.num_placement; i++)
PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
- && !defined(OPENSUSE_151)
+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.h
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_drv.h
+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -91,6 +91,9 @@
# define OPENSUSE_151
# endif
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_drv.h
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -87,6 +87,9 @@
#else
# define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0)
#endif
+#if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4
+# define SUSE_SLE12
+#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) || defined(RHEL_71)
#define U8_MAX ((u8)~0U)
Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_mode.c
/** @def RTLNX_RHEL_RANGE
* Check that it's a RedHat kernel in the given version range.
Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_mode.c
+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_mode.c
@@ -547,7 +547,8 @@ static void vbox_set_edid(struct drm_con
--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_mode.c
+++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_mode.c
@@ -544,7 +544,8 @@ static void vbox_set_edid(struct drm_con
for (i = 0; i < EDID_SIZE - 1; ++i)
sum += edid[i];
edid[EDID_SIZE - 1] = (0x100 - (sum & 0xFF)) & 0xFF;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || defined(RHEL_77) || defined(RHEL_81)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || \
+ defined(SUSE_SLE12) || defined(RHEL_77) || defined(RHEL_81)
-#if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,7) || RTLNX_RHEL_MAJ_PREREQ(8,1) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,7) || \
+ defined(SUSE_SLE12) || RTLNX_RHEL_MAJ_PREREQ(8,1) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
drm_connector_update_edid_property(connector, (struct edid *)edid);
#else
drm_mode_connector_update_edid_property(connector, (struct edid *)edid);
@@ -722,7 +723,7 @@ static int vbox_connector_init(struct dr
@@ -719,7 +720,7 @@ static int vbox_connector_init(struct dr
drm_connector_register(connector);
#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || defined(RHEL_77) || defined(RHEL_81)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || defined(SUSE_SLE12) || defined(RHEL_77) || defined(RHEL_81)
-#if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,7) || RTLNX_RHEL_MAJ_PREREQ(8,1) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,7) || defined(SUSE_SLE12) || RTLNX_RHEL_MAJ_PREREQ(8,1) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
drm_connector_attach_encoder(connector, encoder);
#else
drm_mode_connector_attach_encoder(connector, encoder);

View File

@ -1,7 +1,7 @@
Index: VirtualBox-6.0.2/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
Index: VirtualBox-6.1.13/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
===================================================================
--- VirtualBox-6.0.2.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+++ VirtualBox-6.0.2/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
--- VirtualBox-6.1.13.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+++ VirtualBox-6.1.13/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
@@ -35,7 +35,7 @@
#include <iprt/assert.h>
#include <iprt/errcore.h>
@ -10,8 +10,8 @@ Index: VirtualBox-6.0.2/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+#include <linux/kmemleak.h>
#if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP)
# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23)
@@ -294,6 +294,7 @@ DECLHIDDEN(int) rtR0MemAllocEx(size_t cb
# if RTLNX_VER_MIN(2,6,23) && RTLNX_VER_MAX(5,8,0)
@@ -296,6 +296,7 @@ DECLHIDDEN(int) rtR0MemAllocEx(size_t cb
fFlags &= ~RTMEMHDR_FLAG_KMALLOC;
pHdr = vmalloc(cb + sizeof(*pHdr));
}

View File

@ -1,7 +1,7 @@
Index: VirtualBox-6.1.0/src/bldprogs/scm.cpp
Index: VirtualBox-6.1.13/src/bldprogs/scm.cpp
===================================================================
--- VirtualBox-6.1.0.orig/src/bldprogs/scm.cpp
+++ VirtualBox-6.1.0/src/bldprogs/scm.cpp
--- VirtualBox-6.1.13.orig/src/bldprogs/scm.cpp
+++ VirtualBox-6.1.13/src/bldprogs/scm.cpp
@@ -2206,7 +2206,7 @@ static int scmProcessFileInner(PSCMRWSTA
pszTreatAs = "shell";
else if ( (cchFirst >= 15 && strncmp(pchFirst, "/usr/bin/python", 15) == 0)
@ -11,10 +11,10 @@ Index: VirtualBox-6.1.0/src/bldprogs/scm.cpp
else if ( (cchFirst >= 13 && strncmp(pchFirst, "/usr/bin/perl", 13) == 0)
|| (cchFirst >= 17 && strncmp(pchFirst, "/usr/bin/env perl", 17) == 0) )
pszTreatAs = "perl";
Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/configure
Index: VirtualBox-6.1.13/src/libs/libxml2-2.9.4/configure
===================================================================
--- VirtualBox-6.1.0.orig/src/libs/libxml2-2.9.4/configure
+++ VirtualBox-6.1.0/src/libs/libxml2-2.9.4/configure
--- VirtualBox-6.1.13.orig/src/libs/libxml2-2.9.4/configure
+++ VirtualBox-6.1.13/src/libs/libxml2-2.9.4/configure
@@ -15153,10 +15153,10 @@ PYTHON_SITE_PACKAGES=
PYTHON_TESTS=
pythondir=
@ -39,11 +39,11 @@ Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PYTHON+:} false; then :
Index: VirtualBox-6.1.0/src/VBox/ValidationKit/testboxscript/setup.sh
Index: VirtualBox-6.1.13/src/VBox/ValidationKit/testboxscript/setup.sh
===================================================================
--- VirtualBox-6.1.0.orig/src/VBox/ValidationKit/testboxscript/setup.sh
+++ VirtualBox-6.1.0/src/VBox/ValidationKit/testboxscript/setup.sh
@@ -652,7 +652,7 @@ import sys;\
--- VirtualBox-6.1.13.orig/src/VBox/ValidationKit/testboxscript/setup.sh
+++ VirtualBox-6.1.13/src/VBox/ValidationKit/testboxscript/setup.sh
@@ -659,7 +659,7 @@ import sys;\
x = sys.version_info[0] == 2 and (sys.version_info[1] >= 6 or (sys.version_info[1] == 5 and sys.version_info[2] >= 1));\
sys.exit(not x);\
";
@ -52,12 +52,12 @@ Index: VirtualBox-6.1.0/src/VBox/ValidationKit/testboxscript/setup.sh
do
python=`which ${python} 2> /dev/null`
if [ -n "${python}" -a -x "${python}" ]; then
Index: VirtualBox-6.1.0/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
Index: VirtualBox-6.1.13/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
===================================================================
--- VirtualBox-6.1.0.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
+++ VirtualBox-6.1.0/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
@@ -20,7 +20,7 @@
%define %PYTHON% 1
--- VirtualBox-6.1.13.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
+++ VirtualBox-6.1.13/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
@@ -21,7 +21,7 @@
%define %CHM% 1
%define VBOXDOCDIR %{_defaultdocdir}/%NAME%
%global __requires_exclude_from ^/usr/lib/virtualbox/VBoxPython.*$
-%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
@ -65,7 +65,7 @@ Index: VirtualBox-6.1.0/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
Summary: Oracle VM VirtualBox
Name: %NAME%
@@ -100,7 +100,7 @@ install -m 755 -d $RPM_BUILD_ROOT/usr/sh
@@ -101,7 +101,7 @@ install -m 755 -d $RPM_BUILD_ROOT/usr/sh
%if %{?with_python:1}%{!?with_python:0}
(export VBOX_INSTALL_PATH=/usr/lib/virtualbox && \
cd ./sdk/installer && \
@ -74,10 +74,10 @@ Index: VirtualBox-6.1.0/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
%endif
rm -rf sdk/installer
mv nls $RPM_BUILD_ROOT/usr/share/virtualbox
Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml.spec.in
Index: VirtualBox-6.1.13/src/libs/libxml2-2.9.4/libxml.spec.in
===================================================================
--- VirtualBox-6.1.0.orig/src/libs/libxml2-2.9.4/libxml.spec.in
+++ VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml.spec.in
--- VirtualBox-6.1.13.orig/src/libs/libxml2-2.9.4/libxml.spec.in
+++ VirtualBox-6.1.13/src/libs/libxml2-2.9.4/libxml.spec.in
@@ -101,11 +101,11 @@ rm -fr %{buildroot}
make install DESTDIR=%{buildroot}
@ -93,10 +93,10 @@ Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml.spec.in
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml2.spec
Index: VirtualBox-6.1.13/src/libs/libxml2-2.9.4/libxml2.spec
===================================================================
--- VirtualBox-6.1.0.orig/src/libs/libxml2-2.9.4/libxml2.spec
+++ VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml2.spec
--- VirtualBox-6.1.13.orig/src/libs/libxml2-2.9.4/libxml2.spec
+++ VirtualBox-6.1.13/src/libs/libxml2-2.9.4/libxml2.spec
@@ -103,7 +103,7 @@ make install DESTDIR=%{buildroot}
%if 0%{?with_python3}
@ -106,10 +106,10 @@ Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml2.spec
make install DESTDIR=%{buildroot}
%endif # with_python3
Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
Index: VirtualBox-6.1.13/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
===================================================================
--- VirtualBox-6.1.0.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+++ VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
--- VirtualBox-6.1.13.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+++ VirtualBox-6.1.13/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
@@ -439,6 +439,8 @@ char *PyTraceback_AsString(PyObject *exc
{ // a temp scope so I can use temp locals.
#if PY_MAJOR_VERSION <= 2
@ -119,10 +119,10 @@ Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
#else
/* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/PyGBase.cpp
Index: VirtualBox-6.1.13/src/libs/xpcom18a4/python/src/PyGBase.cpp
===================================================================
--- VirtualBox-6.1.0.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
+++ VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/PyGBase.cpp
--- VirtualBox-6.1.13.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
+++ VirtualBox-6.1.13/src/libs/xpcom18a4/python/src/PyGBase.cpp
@@ -183,7 +183,11 @@ PyG_Base::~PyG_Base()
// Get the correct interface pointer for this object given the IID.
void *PyG_Base::ThisAsIID( const nsIID &iid )
@ -136,11 +136,11 @@ Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/PyGBase.cpp
if (iid.Equals(NS_GET_IID(nsISupports)))
return (nsISupports *)(nsIInternalPython *)this;
if (iid.Equals(NS_GET_IID(nsISupportsWeakReference)))
Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/Makefile.kmk
Index: VirtualBox-6.1.13/src/libs/xpcom18a4/python/Makefile.kmk
===================================================================
--- VirtualBox-6.1.0.orig/src/libs/xpcom18a4/python/Makefile.kmk
+++ VirtualBox-6.1.0/src/libs/xpcom18a4/python/Makefile.kmk
@@ -533,6 +533,52 @@ VBoxPython3_8m_x86_LIBS = $(VBOX_P
--- VirtualBox-6.1.13.orig/src/libs/xpcom18a4/python/Makefile.kmk
+++ VirtualBox-6.1.13/src/libs/xpcom18a4/python/Makefile.kmk
@@ -554,6 +554,52 @@ VBoxPython3_8m_x86_LIBS = $(VBOX_P
endif
endif
@ -193,10 +193,10 @@ Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/Makefile.kmk
ifdef VBOX_PYTHONDEF_INC
#
# Python without versioning
Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/gen_python_deps.py
Index: VirtualBox-6.1.13/src/libs/xpcom18a4/python/gen_python_deps.py
===================================================================
--- VirtualBox-6.1.0.orig/src/libs/xpcom18a4/python/gen_python_deps.py
+++ VirtualBox-6.1.0/src/libs/xpcom18a4/python/gen_python_deps.py
--- VirtualBox-6.1.13.orig/src/libs/xpcom18a4/python/gen_python_deps.py
+++ VirtualBox-6.1.13/src/libs/xpcom18a4/python/gen_python_deps.py
@@ -16,7 +16,7 @@ from __future__ import print_function
import os,sys
from distutils.version import StrictVersion

View File

@ -1,8 +1,8 @@
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
@@ -114,10 +114,6 @@ void UITools::preparePalette()
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
@@ -124,10 +124,6 @@ void UITools::preparePalette()
{
/* Setup palette: */
setAutoFillBackground(true);
@ -13,11 +13,11 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UI
}
void UITools::prepareLayout()
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
@@ -1328,7 +1328,7 @@ void UIVirtualBoxManager::prepareMenuBar
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
@@ -2033,7 +2033,7 @@ void UIVirtualBoxManager::prepareMenuBar
/* Make sure menu-bar fills own solid background: */
menuBar()->setAutoFillBackground(true);
QPalette pal = menuBar()->palette();
@ -26,13 +26,13 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtua
pal.setColor(QPalette::Active, QPalette::Button, color);
menuBar()->setPalette(pal);
}
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
@@ -121,10 +121,6 @@ void UIChooser::preparePalette()
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
@@ -193,10 +193,6 @@ void UIChooser::prepare()
void UIChooser::preparePalette()
{
/* Setup palette: */
setAutoFillBackground(true);
- QPalette pal = palette();
- QColor bodyColor = pal.color(QPalette::Active, QPalette::Midlight).darker(110);
@ -40,12 +40,12 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
- setPalette(pal);
}
void UIChooser::prepareLayout()
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
void UIChooser::prepareModel()
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
@@ -902,7 +902,7 @@ void UIChooserItemMachine::paintBackgrou
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
@@ -960,7 +960,7 @@ void UIChooserItemMachine::paintBackgrou
else
{
/* Prepare color: */
@ -54,7 +54,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iDefaultLightnessMax));
@@ -931,7 +931,7 @@ void UIChooserItemMachine::paintBackgrou
@@ -989,7 +989,7 @@ void UIChooserItemMachine::paintBackgrou
/* Default background: */
else
{
@ -63,7 +63,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
color1 = backgroundColor.lighter(m_iDefaultLightnessMax);
color2 = backgroundColor.lighter(m_iDefaultLightnessMax - 70);
}
@@ -952,7 +952,7 @@ void UIChooserItemMachine::paintBackgrou
@@ -1010,7 +1010,7 @@ void UIChooserItemMachine::paintBackgrou
/* Default background: */
else
{
@ -72,7 +72,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
color1 = backgroundColor.lighter(m_iDefaultLightnessMin);
color2 = backgroundColor.lighter(m_iDefaultLightnessMin - 40);
}
@@ -987,7 +987,7 @@ void UIChooserItemMachine::paintFrame(QP
@@ -1045,7 +1045,7 @@ void UIChooserItemMachine::paintFrame(QP
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
@ -81,11 +81,11 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
/* Create/assign pen: */
QPen pen(strokeColor);
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
@@ -710,7 +710,7 @@ void UIToolsItem::paintBackground(QPaint
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
@@ -716,7 +716,7 @@ void UIToolsItem::paintBackground(QPaint
/* Prepare color: */
const QColor backgroundColor = isEnabled()
? pal.color(QPalette::Active, QPalette::Highlight)
@ -94,7 +94,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UI
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iHighlightLightnessMax));
@@ -749,7 +749,7 @@ void UIToolsItem::paintBackground(QPaint
@@ -755,7 +755,7 @@ void UIToolsItem::paintBackground(QPaint
/* Prepare color: */
const QColor backgroundColor = isEnabled()
? pal.color(QPalette::Active, QPalette::Highlight)
@ -103,7 +103,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UI
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iHoverLightnessMax));
@@ -787,8 +787,8 @@ void UIToolsItem::paintBackground(QPaint
@@ -793,8 +793,8 @@ void UIToolsItem::paintBackground(QPaint
{
/* Prepare color: */
const QColor backgroundColor = isEnabled()
@ -114,7 +114,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UI
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iDefaultLightnessMax));
@@ -821,7 +821,7 @@ void UIToolsItem::paintFrame(QPainter *p
@@ -827,7 +827,7 @@ void UIToolsItem::paintFrame(QPainter *p
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
@ -123,13 +123,13 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UI
/* Create/assign pen: */
QPen pen(strokeColor);
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
@@ -314,14 +314,6 @@ void UIVirtualBoxManagerWidget::prepare(
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
@@ -493,14 +493,6 @@ void UIVirtualBoxManagerWidget::prepare(
void UIVirtualBoxManagerWidget::preparePalette()
{
/* Configure palette: */
setAutoFillBackground(true);
- QPalette pal = palette();
-#ifdef VBOX_WS_MAC
@ -139,10 +139,10 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtua
-#endif
- pal.setColor(QPalette::Window, color);
- setPalette(pal);
}
/* Prepare: */
prepareWidgets();
@@ -449,7 +441,7 @@ void UIVirtualBoxManagerWidget::prepareW
void UIVirtualBoxManagerWidget::prepareWidgets()
@@ -621,7 +613,7 @@ void UIVirtualBoxManagerWidget::prepareW
}
/* Adjust splitter colors according to main widgets it splits: */
@ -151,11 +151,11 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtua
/* Set the initial distribution. The right site is bigger. */
m_pSplitter->setStretchFactor(0, 2);
m_pSplitter->setStretchFactor(1, 3);
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
@@ -643,7 +643,7 @@ void UIChooserItem::paintFlatButton(QPai
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
@@ -647,7 +647,7 @@ void UIChooserItem::paintFlatButton(QPai
/* Prepare colors: */
const QPalette pal = QApplication::palette();
@ -164,25 +164,25 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
/* Prepare pen: */
QPen pen;
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
@@ -245,10 +245,6 @@ void UIChooserView::prepare()
void UIChooserView::preparePalette()
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
@@ -246,10 +246,6 @@ void UIChooserView::prepare()
void UIChooserView::prepareThis()
{
/* Setup palette: */
/* Prepare palette: */
- QPalette pal = qApp->palette();
- const QColor bodyColor = pal.color(QPalette::Active, QPalette::Midlight).darker(110);
- pal.setColor(QPalette::Base, bodyColor);
- setPalette(pal);
}
void UIChooserView::resizeEvent(QResizeEvent *pEvent)
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
/* Prepare frame: */
setFrameShape(QFrame::NoFrame);
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
@@ -182,10 +182,6 @@ void UIToolsView::prepare()
void UIToolsView::preparePalette()
{
@ -194,11 +194,11 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UI
}
void UIToolsView::resizeEvent(QResizeEvent *pEvent)
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
@@ -1183,7 +1183,7 @@ void UIDetailsElement::paintBackground(Q
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
@@ -1302,7 +1302,7 @@ void UIDetailsElement::paintBackground(Q
const QPalette pal = palette();
/* Paint default background: */
@ -207,7 +207,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/
const QColor dcTone1 = defaultColor.lighter(m_iDefaultToneFinal);
const QColor dcTone2 = defaultColor.lighter(m_iDefaultToneStart);
QLinearGradient gradientDefault(fullRect.topLeft(), fullRect.bottomLeft());
@@ -1224,7 +1224,7 @@ void UIDetailsElement::paintFrame(QPaint
@@ -1343,7 +1343,7 @@ void UIDetailsElement::paintFrame(QPaint
: optionRect;
/* Paint frame: */
@ -216,10 +216,10 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/
QPen pen(strokeColor);
pen.setWidth(0);
pPainter->setPen(pen);
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
@@ -110,7 +110,7 @@ void UIToolBar::paintEvent(QPaintEvent *
const QRect rectangle = pEvent->rect();
@ -229,11 +229,11 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBa
QLinearGradient gradient(rectangle.topLeft(), rectangle.bottomLeft());
gradient.setColorAt(0, backgroundColor.lighter(130));
gradient.setColorAt(1, backgroundColor.lighter(125));
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
@@ -700,7 +700,7 @@ void UIDetailsSet::paintBackground(QPain
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
@@ -764,7 +764,7 @@ void UIDetailsSet::paintBackground(QPain
const QRect optionRect = pOptions->rect;
/* Paint default background: */
@ -242,11 +242,11 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/
pPainter->fillRect(optionRect, defaultColor);
/* Restore painter: */
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
@@ -639,7 +639,7 @@ void UIChooserItemGlobal::paintBackgroun
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
@@ -644,7 +644,7 @@ void UIChooserItemGlobal::paintBackgroun
pPainter->fillRect(rectangle, bgGrad);
#else
/* Prepare color: */
@ -255,7 +255,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
/* Draw gradient: */
pPainter->fillRect(rectangle, backgroundColor);
#endif
@@ -670,7 +670,7 @@ void UIChooserItemGlobal::paintFrame(QPa
@@ -675,7 +675,7 @@ void UIChooserItemGlobal::paintFrame(QPa
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
@ -264,11 +264,11 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
/* Create/assign pen: */
QPen pen(strokeColor);
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
@@ -277,7 +277,7 @@ void UIDetailsGroup::paintBackground(QPa
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
@@ -286,7 +286,7 @@ void UIDetailsGroup::paintBackground(QPa
#ifdef VBOX_WS_MAC
const QColor defaultColor = palette().color(QPalette::Active, QPalette::Mid).lighter(145);
#else
@ -277,11 +277,11 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/
#endif
pPainter->fillRect(optionRect, defaultColor);
Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
===================================================================
--- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
@@ -1499,7 +1499,7 @@ void UIChooserItemGroup::paintBackground
--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
+++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
@@ -1579,7 +1579,7 @@ void UIChooserItemGroup::paintBackground
const QPalette pal = palette();
const QColor headerColor = pal.color(QPalette::Active,
model()->selectedItems().contains(this) ?
@ -290,7 +290,7 @@ Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/
/* Root-item: */
if (isRoot())
@@ -1596,7 +1596,7 @@ void UIChooserItemGroup::paintFrame(QPai
@@ -1676,7 +1676,7 @@ void UIChooserItemGroup::paintFrame(QPai
const QPalette pal = palette();
const QColor strokeColor = pal.color(QPalette::Active,
model()->selectedItems().contains(this) ?

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Aug 28 20:56:29 UTC 2020 - Larry Finger <Larry.Finger@gmail.com>
- Pseudo version bump to 6.1.13, which is NOT an Oracle release.
Update VB sources to run under kernel 5.8.0+ with no modifications to the
kernel. These sources are derived from r85883 of the Oracle svn repository.
For operations with USB{2,3}, the extension pack for revision 140056 must
be installed. Once Oracle releases 6.1.14, then the extension pack and
VB itself will have the same revision number.
File "fixes_for_5.8.patch" is removed as that part was fixed upstream.
Fixes boo#1175201.
-------------------------------------------------------------------
Thu Aug 20 16:40:59 UTC 2020 - Larry Finger <Larry.Finger@gmail.com>

View File

@ -66,7 +66,7 @@ python3 -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile
# ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!!
Name: virtualbox%{?dash}%{?name_suffix}
Version: 6.1.12
Version: 6.1.13
Release: 0
Summary: %{package_summary}
License: GPL-2.0-or-later
@ -179,10 +179,8 @@ Patch135: fix-missing-includes-with-qt-5.15.patch
Patch136: fixes_for_gcc10.patch
# Fix for changes in GSOAP 2.8.103
Patch137: handle_gsoap_208103.patch
# Fixes for kernel 5.8
Patch138: fixes_for_5.8.patch
# Fixes for kernel 5.9
Patch139: fixes_for_5.9.patch
Patch138: fixes_for_5.9.patch
Patch999: virtualbox-fix-ui-background-color.patch
#
@ -284,7 +282,8 @@ Recommends: %{name}-gui = %{version}
#rename from ose version:
Provides: %{name}-ose = %{version}
Obsoletes: %{name}-ose < %{version}
%endif # main_package
# end of main_package
%endif
### Requirements for virtualbox-kmp ###
%if %{kmp_package}
@ -293,7 +292,8 @@ BuildRequires: libxml2-devel
%kernel_module_package -t %{_builddir}/virtualbox-kmp-template -p %{SOURCE7} -n virtualbox -f %{SOURCE5} -x kdump um xen pae xenpae pv
Obsoletes: virtualbox-guest-kmp
Obsoletes: virtualbox-host-kmp
%endif # kmp_package
# end of kmp_package
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: x86_64
@ -448,13 +448,15 @@ Virtual Network Computing (VNC) is a graphical desktop sharing system that uses
protocol (RFB) to remotely control another computer. When this optional feature is desired, it is installed
as an "extpack" for VirtualBox. The implementation is licensed under GPL.
###########################################
%endif # main_package
# main_package
%endif
### Description of virtualbox-kmp ###
%if %{kmp_package}
%description
This package contains the kernel-modules that VirtualBox uses to create or run virtual machines.
%endif # kmp_package
# kmp_package
%endif
%prep
%setup -q -n VirtualBox-%{version}
@ -503,7 +505,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
%patch136 -p1
%patch137 -p1
%patch138 -p1
%patch139 -p1
# make VB UI background colors look sane again
%patch999 -p1
@ -517,7 +518,8 @@ cp %{SOURCE97} README.build
cp %{SOURCE10} LocalConfig.kmk
#copy autostart doc
cp %{SOURCE20} README.autostart
%endif # main_package
# main_package
%endif
#
##########################
@ -678,7 +680,6 @@ install -m 755 VBoxEFI*.fd %{buildroot}%{_vbox_instdir}
install -m 755 VBoxSysInfo.sh %{buildroot}%{_vbox_instdir}
install -m 644 *.so %{buildroot}%{_vbox_instdir}
install -m 644 *.r0 %{buildroot}%{_vbox_instdir}
rm components/VBoxREM.so
install -m 644 components/* %{buildroot}%{_vbox_instdir}/components/
# install languages
install -m 644 nls/* %{buildroot}%{_datadir}/virtualbox/nls/
@ -1087,7 +1088,8 @@ export DISABLE_RESTART_ON_UPDATE=yes
%dir %{_datadir}/licenses
%{_datadir}/licenses/LICENSE.vnc
%endif # main_package
# main_package
%endif
### %build and %install sections of virtualbox-kmp ###
%if %{kmp_package}
@ -1221,6 +1223,7 @@ do
make -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD/modules_build_dir/$flavor/$module_name
done
done
%endif # kmp_package
# kmp_package
%endif
%changelog