VirtualBox

Changeset 83471 in vbox for trunk/include


Ignore:
Timestamp:
Mar 27, 2020 3:49:44 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
136707
Message:

Linux: ticketref:19312 Linux: kernel 5.6 - we need changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/time.h

    r82968 r83471  
    360360#if defined(RTTIME_INCL_TIMEVAL) || defined(_STRUCT_TIMEVAL) || defined(_SYS__TIMEVAL_H_) || defined(_SYS_TIME_H) || defined(_TIMEVAL) || defined(_LINUX_TIME_H) \
    361361 || (defined(RT_OS_NETBSD) && defined(_SYS_TIME_H_))
     362/*
     363 * Starting with Linux kernel version 5.6-rc3, the struct timeval is no longer
     364 * available to kernel code and must not be used in kernel code.
     365 * Only 64-bit time-interfaces are allowed into the kernel.
     366 */
     367# if defined(RT_OS_LINUX) && (!defined(__KERNEL__) || !defined(_LINUX_TIME64_H))
    362368/**
    363369 * Gets the time as POSIX timeval.
     
    393399    return RTTimeSpecAddMicro(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_usec);
    394400}
     401# endif /* RT_OS_LINUX ... */
    395402#endif /* various ways of detecting struct timeval */
    396403
     
    432439    return RTTimeSpecAddNano(RTTimeSpecSetSeconds(pTime, pTimespec->tv_sec), pTimespec->tv_nsec);
    433440}
    434 
    435 
    436 # ifdef _LINUX_TIME64_H
     441#endif /* various ways of detecting struct timespec */
     442
     443#if defined(RT_OS_LINUX) && defined(_LINUX_TIME64_H)
     444/*
     445 * Starting with Linux kernel version 5.6-rc3, the _STRUCT_TIMESPEC is only defined
     446 * under !__KERNEL__ guard and _LINUX_TIME64_H does not define a corresponding
     447 * _STRUCT_TIMESPEC64. Only 64-bit time-interfaces are now allowed into the kernel.
     448 */
    437449DECLINLINE(PRTTIMESPEC) RTTimeSpecSetTimespec64(PRTTIMESPEC pTime, const struct timespec64 *pTimeval)
    438450{
    439451    return RTTimeSpecAddNano(RTTimeSpecSetSeconds(pTime, pTimeval->tv_sec), pTimeval->tv_nsec);
    440452}
    441 # endif
    442 #endif /* various ways of detecting struct timespec */
     453#endif /* RT_OS_LINUX && _LINUX_TIME64_H */
    443454
    444455
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette