Changeset 75830 in vbox for trunk/include/VBox
- Timestamp:
- Nov 30, 2018 9:30:58 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 127033
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.h
r75759 r75830 1430 1430 /** @name Nested Hardware-Virtualization Helpers. 1431 1431 * @{ */ 1432 VMM_INT_DECL(bool) CPUMCanSvmNstGstTakePhysIntr(PVMCPU pVCpu, PCCPUMCTX pCtx); 1433 VMM_INT_DECL(bool) CPUMCanSvmNstGstTakeVirtIntr(PVMCPU pVCpu, PCCPUMCTX pCtx); 1434 VMM_INT_DECL(uint8_t) CPUMGetSvmNstGstInterrupt(PCCPUMCTX pCtx); 1432 VMM_INT_DECL(bool) CPUMIsGuestPhysIntrEnabled(PVMCPU pVCpu); 1433 VMM_INT_DECL(bool) CPUMIsGuestVirtIntrEnabled(PVMCPU pVCpu); 1434 VMM_INT_DECL(bool) CPUMIsGuestSvmPhysIntrEnabled(PVMCPU pVCpu, PCCPUMCTX pCtx); 1435 VMM_INT_DECL(bool) CPUMIsGuestSvmVirtIntrEnabled(PVMCPU pVCpu, PCCPUMCTX pCtx); 1436 VMM_INT_DECL(uint8_t) CPUMGetGuestSvmVirtIntrVector(PCCPUMCTX pCtx); 1435 1437 VMM_INT_DECL(void) CPUMSvmVmExitRestoreHostState(PVMCPU pVCpu, PCPUMCTX pCtx); 1436 1438 VMM_INT_DECL(void) CPUMSvmVmRunSaveHostState(PCPUMCTX pCtx, uint8_t cbInstr); 1437 1439 VMM_INT_DECL(uint64_t) CPUMApplyNestedGuestTscOffset(PVMCPU pVCpu, uint64_t uTicks); 1438 VMM_INT_DECL(bool) CPUM CanVmxNstGstTakePhysIntr(PVMCPU pVCpu, PCCPUMCTX pCtx);1439 VMM_INT_DECL(bool) CPUM CanVmxNstGstTakeVirtIntr(PVMCPU pVCpu, PCCPUMCTX pCtx);1440 VMM_INT_DECL(bool) CPUMIsGuestVmxPhysIntrEnabled(PVMCPU pVCpu, PCCPUMCTX pCtx); 1441 VMM_INT_DECL(bool) CPUMIsGuestVmxVirtIntrEnabled(PVMCPU pVCpu, PCCPUMCTX pCtx); 1440 1442 /** @} */ 1441 1443 … … 1628 1630 1629 1631 /** 1632 * Returns the guest's global-interrupt (GIF) flag. 1633 * 1634 * @returns true when global-interrupts are enabled, otherwise false. 1635 * @param pCtx Current CPU context. 1636 */ 1637 DECLINLINE(bool) CPUMGetGuestGif(PCCPUMCTX pCtx) 1638 { 1639 return pCtx->hwvirt.fGif; 1640 } 1641 1642 /** 1643 * Sets the guest's global-interrupt flag (GIF). 1644 * 1645 * @param pCtx Current CPU context. 1646 * @param fGif The value to set. 1647 */ 1648 DECLINLINE(void) CPUMSetGuestGif(PCPUMCTX pCtx, bool fGif) 1649 { 1650 pCtx->hwvirt.fGif = fGif; 1651 } 1652 1653 /** 1630 1654 * Checks if we are executing inside an SVM nested hardware-virtualized guest. 1631 1655 * 1632 1656 * @returns @c true if in SVM nested-guest mode, @c false otherwise. 1633 * @param pCtx Pointer to thecontext.1657 * @param pCtx Current CPU context. 1634 1658 */ 1635 1659 DECLINLINE(bool) CPUMIsGuestInSvmNestedHwVirtMode(PCCPUMCTX pCtx) … … 1667 1691 return false; 1668 1692 #endif 1693 } 1694 1695 /** 1696 * Checks if we are executing inside an SVM or VMX nested hardware-virtualized 1697 * guest. 1698 * 1699 * @returns @c true if in nested-guest mode, @c false otherwise. 1700 * @param pCtx Current CPU context. 1701 */ 1702 DECLINLINE(bool) CPUMIsGuestInNestedHwvirtMode(PCCPUMCTX pCtx) 1703 { 1704 return CPUMIsGuestInVmxNonRootMode(pCtx) || CPUMIsGuestInSvmNestedHwVirtMode(pCtx); 1669 1705 } 1670 1706 … … 2133 2169 CPUMINTERRUPTIBILITY_INVALID = 0, 2134 2170 CPUMINTERRUPTIBILITY_UNRESTRAINED, 2171 CPUMINTERRUPTIBILITY_VIRT_INT_DISABLED, 2172 CPUMINTERRUPTIBILITY_INT_DISABLED, 2135 2173 CPUMINTERRUPTIBILITY_INT_INHIBITED, 2136 CPUMINTERRUPTIBILITY_INT_DISABLED,2137 2174 CPUMINTERRUPTIBILITY_NMI_INHIBIT, 2138 2175 CPUMINTERRUPTIBILITY_GLOBAL_INHIBIT, -
trunk/include/VBox/vmm/trpm.h
r69107 r75830 101 101 VMMR3DECL(void) TRPMR3Reset(PVM pVM); 102 102 VMMR3DECL(int) TRPMR3Term(PVM pVM); 103 VMMR3DECL(int) TRPMR3InjectEvent(PVM pVM, PVMCPU pVCpu, TRPMEVENT enmEvent );103 VMMR3DECL(int) TRPMR3InjectEvent(PVM pVM, PVMCPU pVCpu, TRPMEVENT enmEvent, bool *pfInjected); 104 104 # ifdef VBOX_WITH_RAW_MODE 105 105 VMMR3_INT_DECL(int) TRPMR3GetImportRC(PVM pVM, const char *pszSymbol, PRTRCPTR pRCPtrValue); -
trunk/include/VBox/vmm/vm.h
r75683 r75830 366 366 * 367 367 * Available VMCPU bits: 368 * 1 1, 14, 15, 35to 63368 * 14, 15, 34 to 63 369 369 * 370 370 * @todo If we run low on VMCPU, we may consider merging the SELM bits … … 473 473 /** This action forces the VM to service any pending updates to CR3 (used only 474 474 * by HM). */ 475 /** Hardware virtualized nested-guest interrupt pending. */ 476 #define VMCPU_FF_INTERRUPT_NESTED_GUEST RT_BIT_64(VMCPU_FF_INTERRUPT_NESTED_GUEST_BIT) 477 #define VMCPU_FF_INTERRUPT_NESTED_GUEST_BIT 11 475 478 #define VMCPU_FF_HM_UPDATE_CR3 RT_BIT_64(VMCPU_FF_HM_UPDATE_CR3_BIT) 476 479 #define VMCPU_FF_HM_UPDATE_CR3_BIT 12 … … 541 544 # define VMCPU_FF_CPUM_BIT 30 542 545 #endif /* VBOX_WITH_RAW_MODE */ 543 /** Hardware virtualized nested-guest interrupt pending. */544 #define VMCPU_FF_INTERRUPT_NESTED_GUEST RT_BIT_64(VMCPU_FF_INTERRUPT_NESTED_GUEST_BIT)545 #define VMCPU_FF_INTERRUPT_NESTED_GUEST_BIT 31546 546 /** VMX-preemption timer in effect. */ 547 547 #define VMCPU_FF_VMX_PREEMPT_TIMER RT_BIT_64(VMCPU_FF_VMX_PREEMPT_TIMER_BIT) 548 #define VMCPU_FF_VMX_PREEMPT_TIMER_BIT 3 2548 #define VMCPU_FF_VMX_PREEMPT_TIMER_BIT 31 549 549 /** Pending MTF (Monitor Trap Flag) event. */ 550 550 #define VMCPU_FF_VMX_MTF RT_BIT_64(VMCPU_FF_VMX_MTF_BIT) 551 #define VMCPU_FF_VMX_MTF_BIT 3 3551 #define VMCPU_FF_VMX_MTF_BIT 32 552 552 /** VMX APIC-write emulation pending. */ 553 553 #define VMCPU_FF_VMX_APIC_WRITE RT_BIT_64(VMCPU_FF_VMX_APIC_WRITE_BIT) 554 #define VMCPU_FF_VMX_APIC_WRITE_BIT 3 4554 #define VMCPU_FF_VMX_APIC_WRITE_BIT 33 555 555 556 556
Note:
See TracChangeset
for help on using the changeset viewer.