Changeset 4738 in vbox for trunk/include/VBox
- Timestamp:
- Sep 12, 2007 4:00:54 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 24414
- Location:
- trunk/include/VBox
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/err.h ¶
r4722 r4738 1108 1108 /** @} */ 1109 1109 1110 /** @name VBox GMM Status Codes 1111 * @{ 1112 */ 1113 /** The GMM is out of pages and needs to be give another chunk of user memory that 1114 * it can lock down and borrow pages from. */ 1115 #define VERR_GMM_SEED_ME (-4150) 1116 /** @} */ 1117 1118 1110 1119 /* SED-END */ 1111 1120 -
trunk/include/VBox/pgm.h ¶
r4713 r4738 1283 1283 1284 1284 1285 #ifdef IN_RING0 1286 /** @defgroup grp_pgm_r0 The PGM Host Context Ring-0 API 1287 * @ingroup grp_pgm 1288 * @{ 1289 */ 1290 /** 1291 * Worker function for PGMR3PhysAllocateHandyPages and pgmPhysEnsureHandyPage. 1292 * 1293 * @returns The following VBox status codes. 1294 * @retval VINF_SUCCESS on success. FF cleared. 1295 * @retval VINF_EM_NO_MEMORY if we're out of memory. The FF is set in this case. 1296 * 1297 * @param pVM The VM handle. 1298 * 1299 * @remarks Must be called from within the PGM critical section. 1300 */ 1301 PGMR0DECL(int) PGMR0PhysAllocateHandyPages(PVM pVM); 1302 1303 /** @} */ 1304 #endif 1305 1306 1307 1285 1308 #ifdef IN_RING3 1286 1309 /** @defgroup grp_pgm_r3 The PGM Host Context Ring-3 API … … 1753 1776 1754 1777 /** 1778 * Response to VM_FF_PGM_NEED_HANDY_PAGES and VMMCALLHOST_PGM_ALLOCATE_HANDY_PAGES. 1779 * 1780 * @returns VBox status code. 1781 * @retval VINF_SUCCESS on success. FF cleared. 1782 * @retval VINF_EM_NO_MEMORY if we're out of memory. The FF is not cleared in this case. 1783 * 1784 * @param pVM The VM handle. 1785 */ 1786 PDMR3DECL(int) PGMR3PhysAllocateHandyPages(PVM pVM); 1787 1788 /** 1755 1789 * Perform an integrity check on the PGM component. 1756 1790 * -
trunk/include/VBox/vm.h ¶
r4071 r4738 43 43 */ 44 44 /** This action forces the VM to service check and pending interrups on the APIC. */ 45 #define VM_FF_INTERRUPT_APIC BIT(0)45 #define VM_FF_INTERRUPT_APIC RT_BIT_32(0) 46 46 /** This action forces the VM to service check and pending interrups on the PIC. */ 47 #define VM_FF_INTERRUPT_PIC BIT(1)47 #define VM_FF_INTERRUPT_PIC RT_BIT_32(1) 48 48 /** This action forces the VM to schedule and run pending timer (TM). */ 49 #define VM_FF_TIMER BIT(2)49 #define VM_FF_TIMER RT_BIT_32(2) 50 50 /** PDM Queues are pending. */ 51 #define VM_FF_PDM_QUEUES BIT(3)51 #define VM_FF_PDM_QUEUES RT_BIT_32(3) 52 52 /** PDM DMA transfers are pending. */ 53 #define VM_FF_PDM_DMA BIT(4)53 #define VM_FF_PDM_DMA RT_BIT_32(4) 54 54 /** PDM critical section unlocking is pending, process promptly upon return to R3. */ 55 #define VM_FF_PDM_CRITSECT BIT(5)55 #define VM_FF_PDM_CRITSECT RT_BIT_32(5) 56 56 57 57 /** This action forces the VM to call DBGF so DBGF can service debugger 58 58 * requests in the emulation thread. 59 59 * This action flag stays asserted till DBGF clears it.*/ 60 #define VM_FF_DBGF BIT(8)60 #define VM_FF_DBGF RT_BIT_32(8) 61 61 /** This action forces the VM to service pending requests from other 62 62 * thread or requests which must be executed in another context. */ 63 #define VM_FF_REQUEST BIT(9)63 #define VM_FF_REQUEST RT_BIT_32(9) 64 64 /** Terminate the VM immediately. */ 65 #define VM_FF_TERMINATE BIT(10)65 #define VM_FF_TERMINATE RT_BIT_32(10) 66 66 /** Reset the VM. (postponed) */ 67 #define VM_FF_RESET BIT(11)67 #define VM_FF_RESET RT_BIT_32(11) 68 68 69 69 /** This action forces the VM to resync the page tables before going 70 70 * back to execute guest code. (GLOBAL FLUSH) */ 71 #define VM_FF_PGM_SYNC_CR3 BIT(16)71 #define VM_FF_PGM_SYNC_CR3 RT_BIT_32(16) 72 72 /** Same as VM_FF_PGM_SYNC_CR3 except that global pages can be skipped. 73 73 * (NON-GLOBAL FLUSH) */ 74 #define VM_FF_PGM_SYNC_CR3_NON_GLOBAL BIT(17) 74 #define VM_FF_PGM_SYNC_CR3_NON_GLOBAL RT_BIT_32(17) 75 /** PGM needs to allocate handy pages. */ 76 #define VM_FF_PGM_NEED_HANDY_PAGES RT_BIT_32(18) 75 77 /** Check the interupt and trap gates */ 76 #define VM_FF_TRPM_SYNC_IDT BIT(18)78 #define VM_FF_TRPM_SYNC_IDT RT_BIT_32(19) 77 79 /** Check Guest's TSS ring 0 stack */ 78 #define VM_FF_SELM_SYNC_TSS BIT(19)80 #define VM_FF_SELM_SYNC_TSS RT_BIT_32(20) 79 81 /** Check Guest's GDT table */ 80 #define VM_FF_SELM_SYNC_GDT BIT(20)82 #define VM_FF_SELM_SYNC_GDT RT_BIT_32(21) 81 83 /** Check Guest's LDT table */ 82 #define VM_FF_SELM_SYNC_LDT BIT(21)84 #define VM_FF_SELM_SYNC_LDT RT_BIT_32(22) 83 85 /** Inhibit interrupts pending. See EMGetInhibitInterruptsPC(). */ 84 #define VM_FF_INHIBIT_INTERRUPTS BIT(22)86 #define VM_FF_INHIBIT_INTERRUPTS RT_BIT_32(23) 85 87 86 88 /** CSAM needs to scan the page that's being executed */ 87 #define VM_FF_CSAM_SCAN_PAGE BIT(24)89 #define VM_FF_CSAM_SCAN_PAGE RT_BIT_32(24) 88 90 /** CSAM needs to do some homework. */ 89 #define VM_FF_CSAM_PENDING_ACTION BIT(25)91 #define VM_FF_CSAM_PENDING_ACTION RT_BIT_32(25) 90 92 91 93 /** Force return to Ring-3. */ 92 #define VM_FF_TO_R3 BIT(28)94 #define VM_FF_TO_R3 RT_BIT_32(28) 93 95 94 96 /** Suspend the VM - debug only. */ 95 #define VM_FF_DEBUG_SUSPEND BIT(31)97 #define VM_FF_DEBUG_SUSPEND RT_BIT_32(31) 96 98 97 99 /** Externally forced actions. Used to quit the idle/wait loop. */ … … 101 103 /** High priority pre-execution actions. */ 102 104 #define VM_FF_HIGH_PRIORITY_PRE_MASK (VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_INTERRUPT_APIC | VM_FF_INTERRUPT_PIC | VM_FF_TIMER | VM_FF_DEBUG_SUSPEND \ 103 | VM_FF_PGM_SYNC_CR3 | VM_FF_PGM_SYNC_CR3_NON_GLOBAL | VM_FF_SELM_SYNC_TSS | VM_FF_TRPM_SYNC_IDT | VM_FF_SELM_SYNC_GDT | VM_FF_SELM_SYNC_LDT )105 | VM_FF_PGM_SYNC_CR3 | VM_FF_PGM_SYNC_CR3_NON_GLOBAL | VM_FF_SELM_SYNC_TSS | VM_FF_TRPM_SYNC_IDT | VM_FF_SELM_SYNC_GDT | VM_FF_SELM_SYNC_LDT | VM_FF_PGM_NEED_HANDY_PAGES) 104 106 /** High priority pre raw-mode execution mask. */ 105 #define VM_FF_HIGH_PRIORITY_PRE_RAW_MASK (VM_FF_PGM_SYNC_CR3 | VM_FF_PGM_SYNC_CR3_NON_GLOBAL | VM_FF_SELM_SYNC_TSS | VM_FF_TRPM_SYNC_IDT | VM_FF_SELM_SYNC_GDT | VM_FF_SELM_SYNC_LDT | VM_FF_INHIBIT_INTERRUPTS) 107 #define VM_FF_HIGH_PRIORITY_PRE_RAW_MASK (VM_FF_PGM_SYNC_CR3 | VM_FF_PGM_SYNC_CR3_NON_GLOBAL | VM_FF_SELM_SYNC_TSS | VM_FF_TRPM_SYNC_IDT | VM_FF_SELM_SYNC_GDT | VM_FF_SELM_SYNC_LDT | VM_FF_PGM_NEED_HANDY_PAGES \ 108 | VM_FF_INHIBIT_INTERRUPTS) 106 109 /** High priority post-execution actions. */ 107 #define VM_FF_HIGH_PRIORITY_POST_MASK (VM_FF_PDM_CRITSECT |VM_FF_CSAM_PENDING_ACTION)110 #define VM_FF_HIGH_PRIORITY_POST_MASK (VM_FF_PDM_CRITSECT | VM_FF_CSAM_PENDING_ACTION) 108 111 /** Normal priority post-execution actions. */ 109 112 #define VM_FF_NORMAL_PRIORITY_POST_MASK (VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_RESET | VM_FF_CSAM_SCAN_PAGE) -
trunk/include/VBox/vmm.h ¶
r4689 r4738 76 76 /** Maps a chunk into ring-3. */ 77 77 VMMCALLHOST_PGM_MAP_CHUNK, 78 /** Allocates more handy pages. */ 79 VMMCALLHOST_PGM_ALLOCATE_HANDY_PAGES, 78 80 #ifndef NEW_PHYS_CODE 79 81 /** Dynamically allocate physical guest RAM. */ … … 362 364 VMMR0_DO_CALL_HYPERVISOR, 363 365 366 /** Call PGMR0PhysAllocateHandyPages(). */ 367 VMMR0_DO_PGM_ALLOCATE_HANDY_PAGES, 368 /** Call GMMR0AllocatePages(). */ 369 VMMR0_DO_GMM_ALLOCATE_PAGES, 370 /** Call GMMR0FreePages(). */ 371 VMMR0_DO_GMM_FREE_PAGES, 372 /** Call GMMR0MapUnmapChunk(). */ 373 VMMR0_DO_GMM_MAP_UNMAP_CHUNK, 374 /** Call GMMR0SeedChunk(). */ 375 VMMR0_DO_GMM_SEED_CHUNK, 376 364 377 /** The start of the R0 service operations. */ 365 378 VMMR0_DO_SRV_START,
Note:
See TracChangeset
for help on using the changeset viewer.