module-virtualbox rebuild

This commit is contained in:
idriskalp
2020-04-13 19:41:47 +03:00
parent 0cbfd86317
commit 1f75bd912b
3 changed files with 186 additions and 5 deletions
@@ -0,0 +1,18 @@
Index: VirtualBox-6.1.2/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- 6.1.4_OSE/source/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
+++ 6.1.4_OSE/source/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
@@ -1461,9 +1461,13 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKerne
* MMIO / physical memory.
*/
Assert(pMemLnxToMap->Core.enmType == RTR0MEMOBJTYPE_PHYS && !pMemLnxToMap->Core.u.Phys.fAllocated);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
+ pMemLnx->Core.pv = ioremap(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub);
+#else
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
if (pMemLnx->Core.pv)
{
/** @todo fix protection. */
@@ -0,0 +1,155 @@
diff -Naur a/vboxdrv/include/iprt/time.h b/vboxdrv/include/iprt/time.h
--- a/vboxdrv/include/iprt/time.h 2020-02-27 08:29:15.598443630 +0300
+++ b/vboxdrv/include/iprt/time.h 2020-02-27 09:11:28.528393987 +0300
@@ -366,6 +366,7 @@
* @param pTime The time spec to interpret.
* @param pTimeval Where to store the time as POSIX timeval.
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 99)
DECLINLINE(struct timeval *) RTTimeSpecGetTimeval(PCRTTIMESPEC pTime, struct timeval *pTimeval)
{
int64_t i64 = RTTimeSpecGetMicro(pTime);
@@ -392,12 +393,14 @@
{
return RTTimeSpecAddMicro(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_usec);
}
+#endif
#endif /* various ways of detecting struct timeval */
/* 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_))
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 99)
/**
* Gets the time as POSIX timespec.
*
@@ -431,16 +434,17 @@
{
return RTTimeSpecAddNano(RTTimeSpecSetSeconds(pTime, pTimespec->tv_sec), pTimespec->tv_nsec);
}
+#endif
+#endif /* various ways of detecting struct timespec */
+
# ifdef _LINUX_TIME64_H
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
/** The offset of the unix epoch and the base for NT time (in 100ns units).
diff -Naur a/vboxdrv/r0drv/linux/time-r0drv-linux.c b/vboxdrv/r0drv/linux/time-r0drv-linux.c
--- a/vboxdrv/r0drv/linux/time-r0drv-linux.c 2020-02-27 08:29:15.608443629 +0300
+++ b/vboxdrv/r0drv/linux/time-r0drv-linux.c 2020-02-27 09:00:17.518407138 +0300
@@ -43,8 +43,8 @@
* Use ktime_get_ts, this is also what clock_gettime(CLOCK_MONOTONIC,) is using.
*/
uint64_t u64;
- struct timespec Ts;
- ktime_get_ts(&Ts);
+ struct timespec64 Ts;
+ ktime_get_ts64(&Ts);
u64 = Ts.tv_sec * RT_NS_1SEC_64 + Ts.tv_nsec;
return u64;
diff -Naur a/vboxnetadp/include/iprt/time.h b/vboxnetadp/include/iprt/time.h
--- a/vboxnetadp/include/iprt/time.h 2020-02-27 08:29:15.598443630 +0300
+++ b/vboxnetadp/include/iprt/time.h 2020-02-27 09:11:28.528393987 +0300
@@ -366,6 +366,7 @@
* @param pTime The time spec to interpret.
* @param pTimeval Where to store the time as POSIX timeval.
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 99)
DECLINLINE(struct timeval *) RTTimeSpecGetTimeval(PCRTTIMESPEC pTime, struct timeval *pTimeval)
{
int64_t i64 = RTTimeSpecGetMicro(pTime);
@@ -392,12 +393,14 @@
{
return RTTimeSpecAddMicro(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_usec);
}
+#endif
#endif /* various ways of detecting struct timeval */
/* 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_))
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 99)
/**
* Gets the time as POSIX timespec.
*
@@ -431,16 +434,17 @@
{
return RTTimeSpecAddNano(RTTimeSpecSetSeconds(pTime, pTimespec->tv_sec), pTimespec->tv_nsec);
}
+#endif
+#endif /* various ways of detecting struct timespec */
+
# ifdef _LINUX_TIME64_H
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
/** The offset of the unix epoch and the base for NT time (in 100ns units).
diff -Naur a/vboxnetflt/include/iprt/time.h b/vboxnetflt/include/iprt/time.h
--- a/vboxnetflt/include/iprt/time.h 2020-02-27 08:29:15.588443630 +0300
+++ b/vboxnetflt/include/iprt/time.h 2020-02-27 09:11:28.528393987 +0300
@@ -366,6 +366,7 @@
* @param pTime The time spec to interpret.
* @param pTimeval Where to store the time as POSIX timeval.
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 99)
DECLINLINE(struct timeval *) RTTimeSpecGetTimeval(PCRTTIMESPEC pTime, struct timeval *pTimeval)
{
int64_t i64 = RTTimeSpecGetMicro(pTime);
@@ -392,12 +393,14 @@
{
return RTTimeSpecAddMicro(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_usec);
}
+#endif
#endif /* various ways of detecting struct timeval */
/* 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_))
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 99)
/**
* Gets the time as POSIX timespec.
*
@@ -431,16 +434,17 @@
{
return RTTimeSpecAddNano(RTTimeSpecSetSeconds(pTime, pTimespec->tv_sec), pTimespec->tv_nsec);
}
+#endif
+#endif /* various ways of detecting struct timespec */
+
# ifdef _LINUX_TIME64_H
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
/** The offset of the unix epoch and the base for NT time (in 100ns units).
+13 -5
View File
@@ -14,17 +14,18 @@
<Description>This package provides the kernel support for VirtualBox.</Description>
<Archive sha1sum="89b11b043c8fe70fc4579bf08446477e8e483c9f" type="tarxz">https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-6.1.4.tar.xz</Archive>
<BuildDependencies>
<Dependency version="5.5.15">kernel-module-headers</Dependency>
<Dependency version="5.6.4">kernel-module-headers</Dependency>
</BuildDependencies>
<!--Patches>
<Patch>vbox_linux-4.3.diff</Patch>
</Patches-->
<Patches>
<Patch level="2">fixes_for_5.6.patch</Patch>
<Patch level="1">timet.patch</Patch>
</Patches>
</Source>
<Package>
<Name>module-virtualbox</Name>
<RuntimeDependencies>
<Dependency version="5.5.15">kernel</Dependency>
<Dependency version="5.6.4">kernel</Dependency>
<Dependency version="current">module-virtualbox-userspace</Dependency>
</RuntimeDependencies>
<Files>
@@ -50,6 +51,13 @@
</Package>
<History>
<Update release="54">
<Date>2020-04-13</Date>
<Version>6.1.4</Version>
<Comment>Rebuild.</Comment>
<Name>İdris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="53">
<Date>2020-04-03</Date>
<Version>6.1.4</Version>