]> git.pld-linux.org Git - packages/VirtualBox.git/blobdiff - kernel-5.6.patch
up to 6.1.6
[packages/VirtualBox.git] / kernel-5.6.patch
diff --git a/kernel-5.6.patch b/kernel-5.6.patch
deleted file mode 100644 (file)
index a5462c3..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-Index: include/iprt/time.h
-===================================================================
---- include/iprt/time.h        (revision 83470)
-+++ include/iprt/time.h        (revision 83471)
-@@ -359,6 +359,12 @@
- /* PORTME: Add struct timeval guard macro here. */
- #if defined(RTTIME_INCL_TIMEVAL) || defined(_STRUCT_TIMEVAL) || defined(_SYS__TIMEVAL_H_) || defined(_SYS_TIME_H) || defined(_TIMEVAL) || defined(_LINUX_TIME_H) \
-  || (defined(RT_OS_NETBSD) && defined(_SYS_TIME_H_))
-+/*
-+ * Starting with Linux kernel version 5.6-rc3, the struct timeval is no longer
-+ * available to kernel code and must not be used in kernel code.
-+ * Only 64-bit time-interfaces are allowed into the kernel.
-+ */
-+# if defined(RT_OS_LINUX) && (!defined(__KERNEL__) || !defined(_LINUX_TIME64_H))
- /**
-  * Gets the time as POSIX timeval.
-  *
-@@ -392,6 +398,7 @@
- {
-     return RTTimeSpecAddMicro(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_usec);
- }
-+# endif /* RT_OS_LINUX ... */
- #endif /* various ways of detecting struct timeval */
-@@ -431,15 +438,19 @@
- {
-     return RTTimeSpecAddNano(RTTimeSpecSetSeconds(pTime, pTimespec->tv_sec), pTimespec->tv_nsec);
- }
-+#endif /* various ways of detecting struct timespec */
--
--# ifdef _LINUX_TIME64_H
-+#if defined(RT_OS_LINUX) && defined(_LINUX_TIME64_H)
-+/*
-+ * Starting with Linux kernel version 5.6-rc3, the _STRUCT_TIMESPEC is only defined
-+ * under !__KERNEL__ guard and _LINUX_TIME64_H does not define a corresponding
-+ * _STRUCT_TIMESPEC64. Only 64-bit time-interfaces are now allowed into the kernel.
-+ */
- DECLINLINE(PRTTIMESPEC) RTTimeSpecSetTimespec64(PRTTIMESPEC pTime, const struct timespec64 *pTimeval)
- {
-     return RTTimeSpecAddNano(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_nsec);
- }
--# endif
--#endif /* various ways of detecting struct timespec */
-+#endif /* RT_OS_LINUX && _LINUX_TIME64_H */
-Index: src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
-===================================================================
---- src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c  (revision 83470)
-+++ src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c  (revision 83471)
-@@ -1461,9 +1461,19 @@
-              * MMIO / physical memory.
-              */
-             Assert(pMemLnxToMap->Core.enmType == RTR0MEMOBJTYPE_PHYS && !pMemLnxToMap->Core.u.Phys.fAllocated);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
-+            /*
-+             * ioremap() defaults to no caching since the 2.6 kernels.
-+             * ioremap_nocache() has been removed finally in 5.6-rc1.
-+             */
-             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 /* 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);
-+#endif /* KERNEL_VERSION < 2.6.25 */
-             if (pMemLnx->Core.pv)
-             {
-                 /** @todo fix protection. */
-Index: src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c
-===================================================================
---- src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c    (revision 83470)
-+++ src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c    (revision 83471)
-@@ -38,12 +38,24 @@
- DECLINLINE(uint64_t) rtTimeGetSystemNanoTS(void)
- {
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 16) /* This must match timer-r0drv-linux.c! */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
-     /*
-+     * Starting with kernel version 5.6-rc3 only 64-bit time interfaces
-+     * are allowed in the kernel.
-+     */
-+    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;
-+
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 16) /* This must match timer-r0drv-linux.c! */
-+    /*
-      * Use ktime_get_ts, this is also what clock_gettime(CLOCK_MONOTONIC,) is using.
-      */
-     uint64_t u64;
--    struct timespec Ts;
-+    struct timespec Ts = { 0, 0 };
-     ktime_get_ts(&Ts);
-     u64 = Ts.tv_sec * RT_NS_1SEC_64 + Ts.tv_nsec;
-     return u64;
-Index: src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
-===================================================================
---- src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c (revision 83470)
-+++ src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c (revision 83471)
-@@ -842,15 +842,27 @@
-         rcLnx = pci_request_region(pPciDev, iRegion, "vboxpci");
-         if (!rcLnx)
-         {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
-+            /*
-+             * ioremap() defaults to no caching since the 2.6 kernels.
-+             * ioremap_nocache() has been removed finally in 5.6-rc1.
-+             */
-+            RTR0PTR R0PtrMapping = ioremap(pci_resource_start(pPciDev, iRegion),
-+                                           pci_resource_len(pPciDev, iRegion));
-+#else /* KERNEL_VERSION < 2.6.25 */
-             /* For now no caching, try to optimize later. */
-             RTR0PTR R0PtrMapping = ioremap_nocache(pci_resource_start(pPciDev, iRegion),
-                                                    pci_resource_len(pPciDev, iRegion));
--
-+#endif /* KERNEL_VERSION < 2.6.25 */
-             if (R0PtrMapping != NIL_RTR0PTR)
-                 pIns->aRegionR0Mapping[iRegion] = R0PtrMapping;
-             else
-             {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
-+                vbpci_printk(KERN_DEBUG, pPciDev, "ioremap() failed\n");
-+#else
-                 vbpci_printk(KERN_DEBUG, pPciDev, "ioremap_nocache() failed\n");
-+#endif
-                 pci_release_region(pPciDev, iRegion);
-                 rc = VERR_MAP_FAILED;
-             }
-Index: include/iprt/time.h
-===================================================================
---- include/iprt/time.h        (revision 83472)
-+++ include/iprt/time.h        (revision 83473)
-@@ -357,14 +357,18 @@
- /* PORTME: Add struct timeval guard macro here. */
--#if defined(RTTIME_INCL_TIMEVAL) || defined(_STRUCT_TIMEVAL) || defined(_SYS__TIMEVAL_H_) || defined(_SYS_TIME_H) || defined(_TIMEVAL) || defined(_LINUX_TIME_H) \
-- || (defined(RT_OS_NETBSD) && defined(_SYS_TIME_H_))
- /*
-  * Starting with Linux kernel version 5.6-rc3, the struct timeval is no longer
-  * available to kernel code and must not be used in kernel code.
-  * Only 64-bit time-interfaces are allowed into the kernel.
-  */
--# if defined(RT_OS_LINUX) && (!defined(__KERNEL__) || !defined(_LINUX_TIME64_H))
-+#if defined(RT_OS_LINUX) && (defined(__KERNEL__) || defined(_LINUX_TIME64_H))
-+#define RTTIME_NO_TIMEVAL
-+#endif
-+#if !defined(RTTIME_NO_TIMEVAL) \
-+ && (defined(RTTIME_INCL_TIMEVAL) || defined(_STRUCT_TIMEVAL) || defined(_SYS__TIMEVAL_H_) \
-+ || defined(_SYS_TIME_H) || defined(_TIMEVAL) || defined(_LINUX_TIME_H) \
-+ || (defined(RT_OS_NETBSD) && defined(_SYS_TIME_H_)))
- /**
-  * Gets the time as POSIX timeval.
-  *
-@@ -398,7 +402,6 @@
- {
-     return RTTimeSpecAddMicro(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_usec);
- }
--# endif /* RT_OS_LINUX ... */
- #endif /* various ways of detecting struct timeval */
-Index: include/iprt/time.h
-===================================================================
---- include/iprt/time.h        (revision 83483)
-+++ include/iprt/time.h        (revision 83484)
-@@ -406,8 +406,20 @@
- /* PORTME: Add struct timespec guard macro here. */
--#if defined(RTTIME_INCL_TIMESPEC) || defined(_STRUCT_TIMESPEC) || defined(_SYS__TIMESPEC_H_) || defined(TIMEVAL_TO_TIMESPEC) || defined(_TIMESPEC) \
-- || (defined(RT_OS_NETBSD) && defined(_SYS_TIME_H_))
-+/*
-+ * Starting with Linux kernel version 5.6-rc3, the _STRUCT_TIMESPEC is only defined
-+ * under !__KERNEL__ guard and _LINUX_TIME64_H does not define a corresponding
-+ * _STRUCT_TIMESPEC64. Only 64-bit time-interfaces are now allowed into the kernel.
-+ * We have to keep it for __KERNEL__ though to support older guest kernels (2.6.X)
-+ * without _LINUX_TIME64_H.
-+ */
-+#if defined(RT_OS_LINUX) && defined(_LINUX_TIME64_H)
-+#define RTTIME_NO_TIMESPEC
-+#endif
-+#if !defined(RTTIME_NO_TIMESPEC) \
-+ && (defined(RTTIME_INCL_TIMESPEC) || defined(_STRUCT_TIMESPEC) || defined(_SYS__TIMESPEC_H_) \
-+ || defined(TIMEVAL_TO_TIMESPEC) || defined(_TIMESPEC) \
-+ || (defined(RT_OS_NETBSD) && defined(_SYS_TIME_H_)))
- /**
-  * Gets the time as POSIX timespec.
-  *
-@@ -443,12 +455,7 @@
- }
- #endif /* various ways of detecting struct timespec */
--#if defined(RT_OS_LINUX) && defined(_LINUX_TIME64_H)
--/*
-- * Starting with Linux kernel version 5.6-rc3, the _STRUCT_TIMESPEC is only defined
-- * under !__KERNEL__ guard and _LINUX_TIME64_H does not define a corresponding
-- * _STRUCT_TIMESPEC64. Only 64-bit time-interfaces are now allowed into the kernel.
-- */
-+#if defined(RTTIME_NO_TIMESPEC)
- DECLINLINE(PRTTIMESPEC) RTTimeSpecSetTimespec64(PRTTIMESPEC pTime, const struct timespec64 *pTimeval)
- {
-     return RTTimeSpecAddNano(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_nsec);
-Index: src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c
-===================================================================
---- src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c    (revision 83483)
-+++ src/VBox/Runtime/r0drv/linux/time-r0drv-linux.c    (revision 83484)
-@@ -194,9 +194,9 @@
-     IPRT_LINUX_RESTORE_EFL_AC();
- # ifdef _LINUX_TIME64_H
-     return RTTimeSpecSetTimespec64(pTime, &Ts);
--#else
-+# else
-     return RTTimeSpecSetTimespec(pTime, &Ts);
--#endif
-+# endif
- #else   /* < 2.6.16 */
-     struct timeval Tv;
-     do_gettimeofday(&Tv);
This page took 0.05644 seconds and 4 git commands to generate.