VirtualBox

Ignore:
Timestamp:
May 11, 2009 11:18:56 PM (16 years ago)
Author:
vboxsync
Message:

Runtime/r0drv-freebsd: Disable the active code for allocating pages and use contigmalloc instead. The old code didn't allocated the pages properly during vm_map_wire resulting in page faults when running the VM and panicing the host. Don't know if contigmalloc has some restrictions which huge RAM configs but for now it works ok (was able to start a 64bit OpenSolaris VM on a 32bit FreeBSD host).

File:
1 edited

Legend:

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

    r19563 r19591  
    9999            else
    100100            {
    101                 free(pMemFreeBSD->Core.pv, M_IPRTMOBJ);
     101                contigfree(pMemFreeBSD->Core.pv, pMemFreeBSD->Core.cb, M_IPRTMOBJ);
    102102                if (pMemFreeBSD->pMappingObject)
    103103                {
     
    186186     *      http://fxr.watson.org/fxr/source/kern/link_elf.c?v=RELENG62#L701
    187187     */
    188 #if 0
    189     pMemFreeBSD->Core.pv = malloc(cb, M_IPRTMOBJ, M_ZERO);
     188#if 1
     189    pMemFreeBSD->Core.pv = contigmalloc(cb,                   /* size */
     190                                        M_IPRTMOBJ,           /* type */
     191                                        M_NOWAIT | M_ZERO,    /* flags */
     192                                        0,                    /* lowest physical address*/
     193                                        _4G-1,                /* highest physical address */
     194                                        PAGE_SIZE,            /* alignment. */
     195                                        0);                   /* boundrary */
    190196    if (pMemFreeBSD->Core.pv)
    191197    {
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