Changeset 85698 in vbox for trunk/src/VBox/HostDrivers/Support
- Timestamp:
- Aug 11, 2020 5:05:29 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 139838
- Location:
- trunk/src/VBox/HostDrivers/Support
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrvInternal.h
r85552 r85698 55 55 56 56 #elif defined(RT_OS_LINUX) 57 # include < linux/version.h>58 # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,33)57 # include <iprt/linux/version.h> 58 # if RTLNX_VER_MIN(2,6,33) 59 59 # include <generated/autoconf.h> 60 60 # else … … 65 65 # if defined(CONFIG_MODVERSIONS) && !defined(MODVERSIONS) 66 66 # define MODVERSIONS 67 # if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5,71)67 # if RTLNX_VER_MAX(2,5,71) 68 68 # include <linux/modversions.h> 69 69 # endif 70 70 # endif 71 71 # ifndef KBUILD_STR 72 # if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6,16)72 # if RTLNX_VER_MAX(2,6,16) 73 73 # define KBUILD_STR(s) s 74 74 # else … … 79 79 # include <linux/spinlock.h> 80 80 # include <linux/slab.h> 81 # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,27)81 # if RTLNX_VER_MIN(2,6,27) 82 82 # include <linux/semaphore.h> 83 83 # else /* older kernels */ -
trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
r85505 r85698 47 47 48 48 /** @todo figure out the exact version number */ 49 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,16)49 #if RTLNX_VER_MIN(2,6,16) 50 50 # include <iprt/power.h> 51 51 # define VBOX_WITH_SUSPEND_NOTIFICATION … … 57 57 # include <linux/platform_device.h> 58 58 #endif 59 #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,28)) && defined(SUPDRV_WITH_MSR_PROBER)59 #if (RTLNX_VER_MIN(2,6,28)) && defined(SUPDRV_WITH_MSR_PROBER) 60 60 # define SUPDRV_LINUX_HAS_SAFE_MSR_API 61 61 # include <asm/msr.h> … … 72 72 /* check kernel version */ 73 73 # ifndef SUPDRV_AGNOSTIC 74 # if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6,0)74 # if RTLNX_VER_MAX(2,6,0) 75 75 # error Unsupported kernel version! 76 76 # endif … … 112 112 #ifdef VBOX_WITH_SUSPEND_NOTIFICATION 113 113 static int VBoxDrvProbe(struct platform_device *pDev); 114 # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,30)114 # if RTLNX_VER_MIN(2,6,30) 115 115 static int VBoxDrvSuspend(struct device *pDev); 116 116 static int VBoxDrvResume(struct device *pDev); … … 140 140 #define DEVICE_NAME_USR "vboxdrvu" 141 141 142 #if (defined(RT_ARCH_AMD64) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6,23)) || defined(VBOX_WITH_TEXT_MODMEM_HACK)142 #if (defined(RT_ARCH_AMD64) && RTLNX_VER_MAX(2,6,23)) || defined(VBOX_WITH_TEXT_MODMEM_HACK) 143 143 /** 144 144 * Memory for the executable memory heap (in IPRT). … … 203 203 name: DEVICE_NAME_SYS, 204 204 fops: &gFileOpsVBoxDrvSys, 205 # if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 17)205 # if RTLNX_VER_MAX(2,6,18) 206 206 devfs_name: DEVICE_NAME_SYS, 207 207 # endif … … 213 213 name: DEVICE_NAME_USR, 214 214 fops: &gFileOpsVBoxDrvUsr, 215 # if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 17)215 # if RTLNX_VER_MAX(2,6,18) 216 216 devfs_name: DEVICE_NAME_USR, 217 217 # endif … … 220 220 221 221 #ifdef VBOX_WITH_SUSPEND_NOTIFICATION 222 # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,30)222 # if RTLNX_VER_MIN(2,6,30) 223 223 static struct dev_pm_ops gPlatformPMOps = 224 224 { … … 233 233 { 234 234 .probe = VBoxDrvProbe, 235 # if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6,30)235 # if RTLNX_VER_MAX(2,6,30) 236 236 .suspend = VBoxDrvSuspend, 237 237 .resume = VBoxDrvResume, … … 241 241 { 242 242 .name = "vboxdrv", 243 # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,30)243 # if RTLNX_VER_MIN(2,6,30) 244 244 .pm = &gPlatformPMOps, 245 245 # endif … … 260 260 DECLINLINE(RTUID) vboxdrvLinuxUid(void) 261 261 { 262 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,29)263 # if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5,0)262 #if RTLNX_VER_MIN(2,6,29) 263 # if RTLNX_VER_MIN(3,5,0) 264 264 return from_kuid(current_user_ns(), current->cred->uid); 265 265 # else … … 273 273 DECLINLINE(RTGID) vboxdrvLinuxGid(void) 274 274 { 275 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,29)276 # if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5,0)275 #if RTLNX_VER_MIN(2,6,29) 276 # if RTLNX_VER_MIN(3,5,0) 277 277 return from_kgid(current_user_ns(), current->cred->gid); 278 278 # else … … 286 286 DECLINLINE(RTUID) vboxdrvLinuxEuid(void) 287 287 { 288 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,29)289 # if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5,0)288 #if RTLNX_VER_MIN(2,6,29) 289 # if RTLNX_VER_MIN(3,5,0) 290 290 return from_kuid(current_user_ns(), current->cred->euid); 291 291 # else … … 332 332 if (RT_SUCCESS(rc)) 333 333 { 334 #if (defined(RT_ARCH_AMD64) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6,23)) || defined(VBOX_WITH_TEXT_MODMEM_HACK)334 #if (defined(RT_ARCH_AMD64) && RTLNX_VER_MAX(2,6,23)) || defined(VBOX_WITH_TEXT_MODMEM_HACK) 335 335 # ifdef VBOX_WITH_TEXT_MODMEM_HACK 336 336 set_memory_x(&g_abExecMemory[0], sizeof(g_abExecMemory) / PAGE_SIZE); … … 516 516 * Ignored. 517 517 */ 518 # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,30) && !defined(DOXYGEN_RUNNING)518 # if RTLNX_VER_MIN(2,6,30) && !defined(DOXYGEN_RUNNING) 519 519 static int VBoxDrvSuspend(struct device *pDev) 520 520 # else … … 531 531 * @param pDev Pointer to the platform device. 532 532 */ 533 # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6,30)533 # if RTLNX_VER_MIN(2,6,30) 534 534 static int VBoxDrvResume(struct device *pDev) 535 535 # else … … 757 757 RTCCUINTREG VBOXCALL supdrvOSChangeCR4(RTCCUINTREG fOrMask, RTCCUINTREG fAndMask) 758 758 { 759 #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8,0)759 #if RTLNX_VER_MIN(5,8,0) 760 760 RTCCUINTREG const uOld = __read_cr4(); 761 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20,0)761 #elif RTLNX_VER_MIN(3,20,0) 762 762 RTCCUINTREG const uOld = this_cpu_read(cpu_tlbstate.cr4); 763 763 #else … … 767 767 if (uNew != uOld) 768 768 { 769 #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8,0)769 #if RTLNX_VER_MIN(5,8,0) 770 770 ASMSetCR4(uNew); 771 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20,0)771 #elif RTLNX_VER_MIN(3,20,0) 772 772 this_cpu_write(cpu_tlbstate.cr4, uNew); 773 773 __write_cr4(uNew); … … 1121 1121 1122 1122 /* Nobody waiting and no exit function. */ 1123 # if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13,0)1123 # if RTLNX_VER_MAX(3,13,0) 1124 1124 pMyMod->waiter = NULL; 1125 1125 # endif … … 1128 1128 /* References, very important as we must not allow the module 1129 1129 to be unloaded using rmmod. */ 1130 # if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19,0)1130 # if RTLNX_VER_MIN(3,19,0) 1131 1131 atomic_set(&pMyMod->refcnt, 42); 1132 1132 # else … … 1213 1213 mutex_unlock(&module_mutex); 1214 1214 1215 # if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19,0)1215 # if RTLNX_VER_MAX(3,19,0) 1216 1216 free_percpu(pMyMod->refptr); 1217 1217 # endif … … 1432 1432 fFlags |= SUPKERNELFEATURES_GDT_READ_ONLY; 1433 1433 #endif 1434 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12,0)1434 #if RTLNX_VER_MIN(4,12,0) 1435 1435 fFlags |= SUPKERNELFEATURES_GDT_NEED_WRITABLE; 1436 1436 #endif … … 1447 1447 int VBOXCALL supdrvOSGetCurrentGdtRw(RTHCUINTPTR *pGdtRw) 1448 1448 { 1449 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12,0)1449 #if RTLNX_VER_MIN(4,12,0) 1450 1450 *pGdtRw = (RTHCUINTPTR)get_current_gdt_rw(); 1451 1451 return VINF_SUCCESS; -
trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv
r85523 r85698 73 73 ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ 74 74 ${PATH_ROOT}/include/iprt/x86.h=>include/iprt/x86.h \ 75 ${PATH_ROOT}/include/iprt/linux/version.h=>include/iprt/linux/version.h \ 75 76 ${PATH_ROOT}/include/iprt/nocrt/limits.h=>include/iprt/nocrt/limits.h \ 76 77 ${PATH_ROOT}/include/VBox/cdefs.h=>include/VBox/cdefs.h \
Note:
See TracChangeset
for help on using the changeset viewer.