Changeset 51517 in vbox for trunk/src/VBox/VMM/VMMRZ
- Timestamp:
- Jun 4, 2014 4:52:30 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 94143
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMRZ/PGMRZDynMap.cpp
r45618 r51517 5 5 6 6 /* 7 * Copyright (C) 2008-201 2Oracle Corporation7 * Copyright (C) 2008-2014 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 54 54 # define PGMR0DYNMAP_PAGES_PER_CPU 256 55 55 /** The minimum number of pages we reserve per CPU. 56 * This must be equal or larger than the autoset size. 56 * This must be equal or larger than the autoset size. */ 57 57 # define PGMR0DYNMAP_PAGES_PER_CPU_MIN 64 58 58 /** Calcs the overload threshold (safety margin). Current set at 50%. */ 59 59 # define PGMR0DYNMAP_CALC_OVERLOAD(cPages) ((cPages) / 2) 60 60 /** The number of guard pages. 61 * @remarks Never do tuning of the hashing or whatnot with a strict build! 61 * @remarks Never do tuning of the hashing or whatnot with a strict build! */ 62 62 # if defined(VBOX_STRICT) 63 63 # define PGMR0DYNMAP_GUARD_PAGES 1 … … 73 73 /** Define this to just clear the present bit on guard pages. 74 74 * The alternative is to replace the entire PTE with an bad not-present 75 * PTE. Either way, XNU will screw us. :-/ 75 * PTE. Either way, XNU will screw us. :-/ */ 76 76 # define PGMR0DYNMAP_GUARD_NP 77 77 #endif … … 200 200 /** The physical address of the currently mapped page. 201 201 * This is duplicate for three reasons: cache locality, cache policy of the PT 202 * mappings and sanity checks. 202 * mappings and sanity checks. */ 203 203 RTHCPHYS HCPhys; 204 204 /** Pointer to the page. */ … … 220 220 } PGMR0DYNMAPENTRY; 221 221 /** Pointer a mapping cache entry for the ring-0. 222 * @sa PPGMRZDYNMAPENTRY, PPGMRCDYNMAPENTRY, 222 * @sa PPGMRZDYNMAPENTRY, PPGMRCDYNMAPENTRY, */ 223 223 typedef PGMR0DYNMAPENTRY *PPGMR0DYNMAPENTRY; 224 224 … … 240 240 /** Spinlock serializing the normal operation of the cache. */ 241 241 RTSPINLOCK hSpinlock; 242 /** Array for tracking and managing the pages. 242 /** Array for tracking and managing the pages. */ 243 243 PPGMR0DYNMAPENTRY paPages; 244 244 /** The cache size given as a number of pages. */ … … 298 298 299 299 /** Mapping cache entry for the current context. 300 * @sa PGMR0DYNMAPENTRY, PGMRCDYNMAPENTRY 300 * @sa PGMR0DYNMAPENTRY, PGMRCDYNMAPENTRY */ 301 301 typedef CTX_MID(PGM,DYNMAPENTRY) PGMRZDYNMAPENTRY; 302 302 /** Pointer a mapping cache entry for the current context. 303 * @sa PGMR0DYNMAPENTRY, PGMRCDYNMAPENTRY 303 * @sa PGMR0DYNMAPENTRY, PGMRCDYNMAPENTRY */ 304 304 typedef PGMRZDYNMAPENTRY *PPGMRZDYNMAPENTRY; 305 305 306 306 /** Pointer to the mapping cache instance for the current context. 307 * @sa PGMR0DYNMAP, PGMRCDYNMAP 307 * @sa PGMR0DYNMAP, PGMRCDYNMAP */ 308 308 typedef CTX_MID(PGM,DYNMAP) *PPGMRZDYNMAP; 309 309
Note:
See TracChangeset
for help on using the changeset viewer.