VirtualBox

Changes between Initial Version and Version 1 of Ticket #19312, comment 2


Ignore:
Timestamp:
Mar 6, 2020 11:25:11 AM (4 years ago)
Author:
Frank Batschulat (Oracle)

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #19312, comment 2

    initial v1  
    77Could not find the C symbol: devm_ioremap_nocache
    88}}}
     9
     10Edit: the diffs for that particular issue are:
     11
     12{{{
     13$ svn diff
     14Index: src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
     15===================================================================
     16--- src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c  (revision 136356)
     17+++ src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c  (working copy)
     18@@ -842,8 +842,11 @@
     19         rcLnx = pci_request_region(pPciDev, iRegion, "vboxpci");
     20         if (!rcLnx)
     21         {
     22-            /* For now no caching, try to optimize later. */
     23-            RTR0PTR R0PtrMapping = ioremap_nocache(pci_resource_start(pPciDev, iRegion),
     24+            /*
     25+             * ioremap_cache() defaults to no caching since 2.6 kernels.
     26+             * We try to optimize later.
     27+             */
     28+            RTR0PTR R0PtrMapping = ioremap_cache(pci_resource_start(pPciDev, iRegion),
     29                                                    pci_resource_len(pPciDev, iRegion));
     30 
     31             if (R0PtrMapping != NIL_RTR0PTR)
     32@@ -850,7 +853,7 @@
     33                 pIns->aRegionR0Mapping[iRegion] = R0PtrMapping;
     34             else
     35             {
     36-                vbpci_printk(KERN_DEBUG, pPciDev, "ioremap_nocache() failed\n");
     37+                vbpci_printk(KERN_DEBUG, pPciDev, "ioremap_cache() failed\n");
     38                 pci_release_region(pPciDev, iRegion);
     39                 rc = VERR_MAP_FAILED;
     40             }
     41Index: src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
     42===================================================================
     43--- src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c   (revision 136356)
     44+++ src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c   (working copy)
     45@@ -1461,9 +1461,19 @@
     46              * MMIO / physical memory.
     47              */
     48             Assert(pMemLnxToMap->Core.enmType == RTR0MEMOBJTYPE_PHYS && !pMemLnxToMap->Core.u.Phys.fAllocated);
     49+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
     50+            /*
     51+             * ioremap() defaults to no caching since the 2.6 kernels.
     52+             * ioremap_nocache() has been removed finally in 5.6-rc1.
     53+             */
     54             pMemLnx->Core.pv = pMemLnxToMap->Core.u.Phys.uCachePolicy == RTMEM_CACHE_POLICY_MMIO
     55+                             ? ioremap(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub)
     56+                             : ioremap_cache(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub);
     57+#else /* KERNEL_VERSION < 2.6.25 */
     58+            pMemLnx->Core.pv = pMemLnxToMap->Core.u.Phys.uCachePolicy == RTMEM_CACHE_POLICY_MMIO
     59                              ? ioremap_nocache(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub)
     60                              : ioremap(pMemLnxToMap->Core.u.Phys.PhysBase + offSub, cbSub);
     61+#endif /* KERNEL_VERSION < 2.6.25 */
     62             if (pMemLnx->Core.pv)
     63             {
     64                 /** @todo fix protection. */
     65}}}

© 2023 Oracle
ContactPrivacy policyTerms of Use