VirtualBox

Changeset 19406 in vbox for trunk/include/VBox


Ignore:
Timestamp:
May 5, 2009 11:28:56 PM (16 years ago)
Author:
vboxsync
Message:

GVMM: Added interfaces for Poking a single VCpu and for poking/wakingup a set of VCpus. (unused, untested and incomplete)

Location:
trunk/include/VBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/err.h

    r19290 r19406  
    12531253/** The GVM is out of VM handle space. */
    12541254#define VERR_GVM_TOO_MANY_VMS                       (-3900)
    1255 /** The EMT thread was not blocked at the time of the call.  */
     1255/** The EMT was not blocked at the time of the call.  */
    12561256#define VINF_GVM_NOT_BLOCKED                        3901
    1257 /** RTThreadYield was called during a GVMMR0ShcedPoll call. */
    1258 #define VINF_GVM_YIELDED                            3902
     1257/** The EMT was not busy running guest code at the time of the call. */
     1258#define VINF_GVM_NOT_BUSY_IN_GC                     3902
     1259/** RTThreadYield was called during a GVMMR0SchedPoll call. */
     1260#define VINF_GVM_YIELDED                            3903
    12591261/** @} */
    12601262
  • trunk/include/VBox/gvmm.h

    r19395 r19406  
    138138GVMMR0DECL(int)     GVMMR0SchedHalt(PVM pVM, VMCPUID idCpu, uint64_t u64ExpireGipTime);
    139139GVMMR0DECL(int)     GVMMR0SchedWakeUp(PVM pVM, VMCPUID idCpu);
     140GVMMR0DECL(int)     GVMMR0SchedPoke(PVM pVM, VMCPUID idCpu);
     141GVMMR0DECL(int)     GVMMR0SchedWakeUpAndPokeCpus(PVM pVM, PCVMCPUSET pSleepSet, PCVMCPUSET pPokeSet);
    140142GVMMR0DECL(int)     GVMMR0SchedPoll(PVM pVM, VMCPUID idCpu, bool fYield);
    141143GVMMR0DECL(int)     GVMMR0QueryStatistics(PGVMMSTATS pStats, PSUPDRVSESSION pSession, PVM pVM);
     
    166168
    167169/**
     170 * Request buffer for GVMMR0SchedWakeUpAndPokeCpusReq / VMMR0_DO_GVMM_SCHED_WAKE_UP_AND_POKE_CPUS.
     171 * @see GVMMR0SchedWakeUpAndPokeCpus.
     172 */
     173typedef struct GVMMSCHEDWAKEUPANDPOKECPUSREQ /* nice and unreadable... */
     174{
     175    /** The header. */
     176    SUPVMMR0REQHDR  Hdr;
     177    /** The sleeper set. */
     178    VMCPUSET        SleepSet;
     179    /** The set of virtual CPUs to poke. */
     180    VMCPUSET        PokeSet;
     181} GVMMSCHEDWAKEUPANDPOKECPUSREQ;
     182/** Pointer to a GVMMR0QueryStatisticsReq / VMMR0_DO_GVMM_QUERY_STATISTICS request buffer. */
     183typedef GVMMSCHEDWAKEUPANDPOKECPUSREQ *PGVMMSCHEDWAKEUPANDPOKECPUSREQ;
     184
     185GVMMR0DECL(int)     GVMMR0SchedWakeUpAndPokeCpusReq(PVM pVM, PGVMMSCHEDWAKEUPANDPOKECPUSREQ pReq);
     186
     187
     188/**
    168189 * Request buffer for GVMMR0QueryStatisticsReq / VMMR0_DO_GVMM_QUERY_STATISTICS.
    169190 * @see GVMMR0QueryStatistics.
  • trunk/include/VBox/vmm.h

    r19382 r19406  
    190190    /** Call GVMMR0SchedWakeUp(). */
    191191    VMMR0_DO_GVMM_SCHED_WAKE_UP,
     192    /** Call GVMMR0SchedPoke(). */
     193    VMMR0_DO_GVMM_SCHED_POKE,
     194    /** Call GVMMR0SchedWakeUpAndPokeCpus(). */
     195    VMMR0_DO_GVMM_SCHED_WAKE_UP_AND_POKE_CPUS,
    192196    /** Call GVMMR0SchedPoll(). */
    193197    VMMR0_DO_GVMM_SCHED_POLL,
Note: See TracChangeset for help on using the changeset viewer.

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