VirtualBox

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


Ignore:
Timestamp:
Aug 28, 2013 5:14:38 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
88510
Message:

VMM: Enable thread-context hooks. Reimplemented event injection logic for VT-x and AMD-V.

File:
1 edited

Legend:

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

    r48037 r48130  
    220220 * @{
    221221 */
     222/** Disables preemption if required. */
     223# define HM_DISABLE_PREEMPT_IF_NEEDED() \
     224   RTTHREADPREEMPTSTATE PreemptStateInternal = RTTHREADPREEMPTSTATE_INITIALIZER; \
     225   bool fPreemptDisabledInternal = false; \
     226   if (RTThreadPreemptIsEnabled(NIL_RTTHREAD)) \
     227   { \
     228       Assert(VMMR0ThreadCtxHooksAreRegistered(pVCpu)); \
     229       RTThreadPreemptDisable(&PreemptStateInternal); \
     230       fPreemptDisabledInternal = true; \
     231   }
     232
     233/** Restores preemption if previously disabled by HM_DISABLE_PREEMPT(). */
     234# define HM_RESTORE_PREEMPT_IF_NEEDED() \
     235   do \
     236   { \
     237        if (fPreemptDisabledInternal) \
     238            RTThreadPreemptRestore(&PreemptStateInternal); \
     239   } while (0)
     240
    222241VMMR0_INT_DECL(int)             HMR0SetupVM(PVM pVM);
    223242VMMR0_INT_DECL(int)             HMR0RunGuestCode(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