VirtualBox

Changeset 19660 in vbox for trunk/include/VBox


Ignore:
Timestamp:
May 13, 2009 2:09:15 PM (16 years ago)
Author:
vboxsync
Message:

TM+affected: SMP changes in progress.

Location:
trunk/include/VBox
Files:
3 edited

Legend:

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

    r18927 r19660  
    9393REMR3DECL(void) REMR3NotifyInterruptSet(PVM pVM, PVMCPU pVCpu);
    9494REMR3DECL(void) REMR3NotifyInterruptClear(PVM pVM, PVMCPU pVCpu);
    95 REMR3DECL(void) REMR3NotifyTimerPending(PVM pVM);
     95REMR3DECL(void) REMR3NotifyTimerPending(PVM pVM, PVMCPU pVCpuDst);
    9696REMR3DECL(void) REMR3NotifyDmaPending(PVM pVM);
    9797REMR3DECL(void) REMR3NotifyQueuePending(PVM pVM);
  • trunk/include/VBox/tm.h

    r19507 r19660  
    9696 */
    9797VMMDECL(uint64_t) TMVirtualGet(PVM pVM);
    98 VMMDECL(uint64_t) TMVirtualGetEx(PVM pVM, bool fCheckTimers);
     98VMMDECL(uint64_t) TMVirtualGetNoCheck(PVM pVM);
    9999VMMDECL(uint64_t) TMVirtualSyncGetLag(PVM pVM);
    100100VMMDECL(uint32_t) TMVirtualSyncGetCatchUpPct(PVM pVM);
    101101VMMDECL(uint64_t) TMVirtualGetFreq(PVM pVM);
     102VMMDECL(uint64_t) TMVirtualSyncGet(PVM pVM);
     103VMMDECL(uint64_t) TMVirtualSyncGetNoCheck(PVM pVM);
    102104VMMDECL(uint64_t) TMVirtualSyncGetEx(PVM pVM, bool fCheckTimers);
    103 VMMDECL(uint64_t) TMVirtualSyncGet(PVM pVM);
    104105VMMDECL(int)      TMVirtualResume(PVM pVM);
    105106VMMDECL(int)      TMVirtualPause(PVM pVM);
     
    199200VMMDECL(int)      TMTimerStop(PTMTIMER pTimer);
    200201VMMDECL(bool)     TMTimerIsActive(PTMTIMER pTimer);
    201 VMMDECL(uint64_t) TMTimerPoll(PVM pVM);
    202 VMMDECL(uint64_t) TMTimerPollGIP(PVM pVM, uint64_t *pu64Delta);
     202VMMDECL(uint64_t) TMTimerPoll(PVM pVM, PVMCPU pVCpu);
     203VMMDECL(uint64_t) TMTimerPollGIP(PVM pVM, PVMCPU pVCpu, uint64_t *pu64Delta);
    203204
    204205/** @} */
  • trunk/include/VBox/vm.h

    r19593 r19660  
    241241 * @{
    242242 */
    243 /** This action forces the VM to schedule and run pending timer (TM). */
    244 #define VM_FF_TIMER                         RT_BIT_32(2)
     243/** The virtual sync clock has been stopped, go to TM until it has been
     244 *  restarted... */
     245#define VM_FF_TM_VIRTUAL_SYNC               RT_BIT_32(2)
    245246/** PDM Queues are pending. */
    246247#define VM_FF_PDM_QUEUES_BIT                3
     
    278279/** This action forces the VM to service check and pending interrups on the PIC. */
    279280#define VMCPU_FF_INTERRUPT_PIC              RT_BIT_32(1)
    280 /** This action forces the VM to schedule and run pending timer (TM). (bogus for now; needed for PATM backwards compatibility) */
     281/** This action forces the VM to schedule and run pending timer (TM).
     282 * @remarks Don't move - PATM compatability.  */
    281283#define VMCPU_FF_TIMER                      RT_BIT_32(2)
    282284/** PDM critical section unlocking is pending, process promptly upon return to R3. */
     
    316318
    317319/** Externally forced VM actions. Used to quit the idle/wait loop. */
    318 #define VM_FF_EXTERNAL_HALTED_MASK              (VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_TIMER | VM_FF_REQUEST | VM_FF_PDM_QUEUES | VM_FF_PDM_DMA)
     320#define VM_FF_EXTERNAL_HALTED_MASK              (VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_REQUEST | VM_FF_PDM_QUEUES | VM_FF_PDM_DMA)
    319321/** Externally forced VMCPU actions. Used to quit the idle/wait loop. */
    320 #define VMCPU_FF_EXTERNAL_HALTED_MASK           (VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC | VMCPU_FF_REQUEST)
     322#define VMCPU_FF_EXTERNAL_HALTED_MASK           (VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC | VMCPU_FF_REQUEST | VMCPU_FF_TIMER)
    321323
    322324/** High priority VM pre-execution actions. */
    323 #define VM_FF_HIGH_PRIORITY_PRE_MASK            (   VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_TIMER | VM_FF_DEBUG_SUSPEND \
    324                                                  |  VM_FF_PGM_NEED_HANDY_PAGES | VM_FF_PGM_NO_MEMORY)
     325#define VM_FF_HIGH_PRIORITY_PRE_MASK            (  VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_TM_VIRTUAL_SYNC | VM_FF_DEBUG_SUSPEND \
     326                                                 | VM_FF_PGM_NEED_HANDY_PAGES | VM_FF_PGM_NO_MEMORY)
    325327/** High priority VMCPU pre-execution actions. */
    326 #define VMCPU_FF_HIGH_PRIORITY_PRE_MASK         (   VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC  \
    327                                                  |  VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL | VMCPU_FF_SELM_SYNC_TSS | VMCPU_FF_TRPM_SYNC_IDT | VMCPU_FF_SELM_SYNC_GDT | VMCPU_FF_SELM_SYNC_LDT)
     328#define VMCPU_FF_HIGH_PRIORITY_PRE_MASK         (  VMCPU_FF_TIMER | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC | VMCPU_FF_PGM_SYNC_CR3 \
     329                                                 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL | VMCPU_FF_SELM_SYNC_TSS | VMCPU_FF_TRPM_SYNC_IDT \
     330                                                 | VMCPU_FF_SELM_SYNC_GDT | VMCPU_FF_SELM_SYNC_LDT | VMCPU_FF_INHIBIT_INTERRUPTS)
    328331
    329332/** High priority VM pre raw-mode execution mask. */
    330333#define VM_FF_HIGH_PRIORITY_PRE_RAW_MASK        (VM_FF_PGM_NEED_HANDY_PAGES | VM_FF_PGM_NO_MEMORY)
    331334/** High priority VMCPU pre raw-mode execution mask. */
    332 #define VMCPU_FF_HIGH_PRIORITY_PRE_RAW_MASK     (  VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL | VMCPU_FF_SELM_SYNC_TSS | VMCPU_FF_TRPM_SYNC_IDT | VMCPU_FF_SELM_SYNC_GDT | VMCPU_FF_SELM_SYNC_LDT \
    333                                                  | VMCPU_FF_INHIBIT_INTERRUPTS)
     335#define VMCPU_FF_HIGH_PRIORITY_PRE_RAW_MASK     (  VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL | VMCPU_FF_SELM_SYNC_TSS | VMCPU_FF_TRPM_SYNC_IDT \
     336                                                 | VMCPU_FF_SELM_SYNC_GDT | VMCPU_FF_SELM_SYNC_LDT | VMCPU_FF_INHIBIT_INTERRUPTS)
    334337
    335338/** High priority post-execution actions. */
     
    352355
    353356/** VM Flags that cause the HWACCM loops to go back to ring-3. */
    354 #define VM_FF_HWACCM_TO_R3_MASK                 (VM_FF_TIMER | VM_FF_PGM_NEED_HANDY_PAGES | VM_FF_PGM_NO_MEMORY)
     357#define VM_FF_HWACCM_TO_R3_MASK                 (VM_FF_TM_VIRTUAL_SYNC | VM_FF_PGM_NEED_HANDY_PAGES | VM_FF_PGM_NO_MEMORY)
    355358/** VMCPU Flags that cause the HWACCM loops to go back to ring-3. */
    356 #define VMCPU_FF_HWACCM_TO_R3_MASK               (VMCPU_FF_TO_R3)
     359#define VMCPU_FF_HWACCM_TO_R3_MASK               (VMCPU_FF_TO_R3 | VMCPU_FF_TIMER)
    357360
    358361/** All the forced VM flags. */
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