VirtualBox

Changeset 27414 in vbox


Ignore:
Timestamp:
Mar 16, 2010 4:14:52 PM (15 years ago)
Author:
vboxsync
Message:

Solaris/r0drv: use ddi_umem_alloc for NC pages.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/memobj-r0drv-solaris.c

    r27373 r27414  
    8181
    8282        case RTR0MEMOBJTYPE_PHYS_NC:
    83             LogRel(("MemObjNativeFree virtAddr=%p physAddr=%#x cb=%u\n", pMemSolaris->Core.pv, vbi_va_to_pa(pMemSolaris->Core.pv), (unsigned)pMemSolaris->Core.cb));
    8483#if 0
    8584            vbi_phys_free(pMemSolaris->Core.pv, pMemSolaris->Core.cb);
    86 #else
     85#endif
    8786            ddi_umem_free(pMemSolaris->Cookie);
    88 #endif
    8987            break;
    9088
     
    180178    /* Allocate physically non-contiguous page-aligned memory. */
    181179    uint64_t physAddr = PhysHighest;
     180
    182181#if 0
     182    /*
     183     * The contig_alloc() way of allocating NC pages is broken or does not match our semantics. Refer #4716 for details.
     184     */
    183185    caddr_t virtAddr  = vbi_phys_alloc(&physAddr, cb, PAGE_SIZE, 0 /* non-contiguous */);
    184 #else
     186#endif
    185187    caddr_t virtAddr = ddi_umem_alloc(cb, DDI_UMEM_SLEEP, &pMemSolaris->Cookie);
    186 #endif
    187188    if (RT_UNLIKELY(virtAddr == NULL))
    188189    {
     
    196197    pMemSolaris->pvHandle = NULL;
    197198    *ppMem = &pMemSolaris->Core;
    198     LogRel(("ddi_umem_alloc virtAddr=%p physAddr=%#x cb=%u\n", virtAddr, physAddr, (unsigned)cb));
    199199    return VINF_SUCCESS;
    200200#else
Note: See TracChangeset for help on using the changeset viewer.

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