VirtualBox

Changeset 45701 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Apr 24, 2013 2:21:09 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
85247
Message:

VMM: SELM and VMM early HM init changes.

Location:
trunk/include/VBox/vmm
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/hm.h

    r45618 r45701  
    4040
    4141/**
    42  * Query HM state (enabled/disabled)
     42 * Checks whether HM (VT-x/AMD-V) is being used by this VM.
    4343 *
    44  * @returns 0 - disabled, 1 - enabled
    45  * @param   a_pVM       Pointer to the shared VM structure.
     44 * @retval  @c true if used.
     45 * @retval  @c false if software virtualization (raw-mode) is used.
     46 *
     47 * @param   a_pVM       The cross context VM structure.
    4648 * @sa      HMIsEnabledNotMacro, HMR3IsEnabled
    4749 * @internal
     
    5153#else
    5254# define HMIsEnabled(a_pVM)   ((a_pVM)->fHMEnabled)
     55#endif
     56
     57/**
     58 * Checks whether raw-mode context is required for any purpose.
     59 *
     60 * @retval  @c true if required either by raw-mode itself or by HM for doing
     61 *          switching the cpu to 64-bit mode.
     62 * @retval  @c false if not required.
     63 *
     64 * @param   a_pVM       The cross context VM structure.
     65 * @internal
     66 */
     67#if HC_ARCH_BITS == 64
     68# define HMIsRawModeCtxNeeded(a_pVM)   (!HMIsEnabled(a_pVM))
     69#else
     70# define HMIsRawModeCtxNeeded(a_pVM)   (!HMIsEnabled(a_pVM) || (a_pVM)->fHMNeedRawModeCtx)
    5371#endif
    5472
  • trunk/include/VBox/vmm/selm.h

    r45533 r45701  
    4242VMMDECL(void)           SELMSetTrap8EIP(PVM pVM, uint32_t u32EIP);
    4343VMMDECL(int)            SELMGetRing1Stack(PVM pVM, uint32_t *pSS, PRTGCPTR32 pEsp);
    44 VMMDECL(RTGCPTR)        SELMGetGuestTSS(PVM pVM);
    4544VMMDECL(RTSEL)          SELMGetHyperCS(PVM pVM);
    4645VMMDECL(RTSEL)          SELMGetHyperCS64(PVM pVM);
  • trunk/include/VBox/vmm/vm.h

    r45618 r45701  
    882882    /** For asserting on fHMEnable usage. */
    883883    bool                        fHMEnabledFixed;
     884    /** Hardware VM support requires a minimal raw-mode context.
     885     * This is never set on 64-bit hosts, only 32-bit hosts requires it. */
     886    bool                        fHMNeedRawModeCtx;
    884887    /** Set when this VM is the master FT node.
    885888     * @todo This doesn't need to be here, FTM should store it in it's own
     
    893896
    894897    /** Alignment padding.. */
    895     uint8_t                     uPadding1[3];
     898    uint8_t                     uPadding1[2];
    896899
    897900    /** @name Debugging
  • trunk/include/VBox/vmm/vm.mac

    r45618 r45701  
    6464    .fHMEnabled             resb 1
    6565    .fHMEnabledFixed        resb 1
     66    .fHMNeedRawModeCtx      resb 1
    6667    .fFaultTolerantMaster   resb 1
    6768    .fUseLargePages         resb 1
    6869
    69     .uPadding1              resb 3
     70    .uPadding1              resb 2
    7071
    7172    .hTraceBufRC            RTRCPTR_RES 1
  • trunk/include/VBox/vmm/vmm.h

    r45618 r45701  
    6464    /** Switcher for AMD64 host paging to AMD64 shadow paging. */
    6565    VMMSWITCHER_AMD64_TO_AMD64,
     66    /** Stub switcher for 32-bit and PAE. */
     67    VMMSWITCHER_X86_STUB,
     68    /** Stub switcher for AMD64. */
     69    VMMSWITCHER_AMD64_STUB,
    6670    /** Used to make a count for array declarations and suchlike. */
    6771    VMMSWITCHER_MAX,
     
    254258VMMR3DECL(const char *) VMMR3GetRZAssertMsg2(PVM pVM);
    255259VMMR3_INT_DECL(int)     VMMR3SelectSwitcher(PVM pVM, VMMSWITCHER enmSwitcher);
    256 VMMR3_INT_DECL(int)     VMMR3DisableSwitcher(PVM pVM);
    257260VMMR3_INT_DECL(RTR0PTR) VMMR3GetHostToGuestSwitcher(PVM pVM, VMMSWITCHER enmSwitcher);
    258261VMMR3_INT_DECL(int)     VMMR3HmRunGC(PVM pVM, PVMCPU pVCpu);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette