VirtualBox

Changeset 4537 in vbox


Ignore:
Timestamp:
Sep 5, 2007 3:09:26 PM (17 years ago)
Author:
vboxsync
Message:

fallback notes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGM.cpp

    r4536 r4537  
    494494 *      -# Leave the critsect.
    495495 *
     496 *
     497 * @section sec_pgmPhys_Fallback            Fallback
     498 *
     499 * Current all the "second tier" hosts will not support the RTR0MemObjAllocPhysNC
     500 * API and thus require a fallback.
     501 *
     502 * So, when RTR0MemObjAllocPhysNC returns VERR_NOT_SUPPORTED the page allocator
     503 * will return to the ring-3 caller (and later ring-0) and asking it to seed
     504 * the page allocator with some fresh pages (VERR_GVM_SEED_ME). Ring-3 will
     505 * then perform an SUPPageAlloc(cbChunk >> PAGE_SHIFT) call and make a
     506 * "SeededAllocPages" call to ring-0.
     507 *
     508 * The first time ring-0 sees the VERR_NOT_SUPPORTED failure it will disable
     509 * all page sharing (zero page detection will continue). It will also force
     510 * all allocations to come from the VM which seeded the page. Both these
     511 * measures are taken to make sure that there will never be any need for
     512 * mapping anything into ring-3 - everything will be mapped already.
     513 *
     514 * Whether we'll continue to use the current MM locked memory management
     515 * for this I don't quite know (I'd prefer not to and just ditch that all
     516 * togther), we'll see what's simplest to do.
     517 *
    496518 *
    497519 *
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